/* ── Print Grammar Specific Styles ─────────────────── */
@media print {
    body { background: #fff; color: #000; font-size: 10pt; line-height: 1.4; }

    /* Hide digital-only non-printable components */
    nav, footer, .wa-fab, #toast, .back-link,
    .cosy-breadcrumbs, .session-switcher, .btn-pronounce,
    .cosy-video-wrapper, .cosy-article-wrapper, .cosy-lyrics-disclaimer,
    .grammar-word-bank, .btn-verify, .btn-reset, #wonder-music-toggle-container,
    .wonder-audio-player, .mobile-nav,
    .print-controls, #cosy-nav, .sd-sticky-header, #cosy-mobile-menu, .filter-section {
        display: none !important;
    }

    main { padding: 0; max-width: 100%; margin: 0; }

    /* Foldable dual-column styling for vocabulary lists */
    .vocab-grid-10 {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        page-break-inside: avoid;
    }

    .vocab-card {
        border: 1px solid #ccc !important;
        padding: 0.5rem 0.75rem !important;
        border-radius: 6px !important;
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .vocab-word {
        font-weight: bold;
        font-size: 11pt;
        border-bottom: 1px solid #ddd;
        padding-bottom: 0.25rem;
        margin-bottom: 0.25rem;
    }

    /* Clean up session meta layouts */
    .session-meta-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.5rem !important;
        margin-bottom: 1rem !important;
    }

    .meta-item {
        border: 1px solid #ccc !important;
        padding: 0.4rem !important;
        border-radius: 4px !important;
        text-align: center;
    }

    .meta-item h4 { margin: 0 0 0.2rem 0 !important; font-size: 8pt !important; text-transform: uppercase; color: #555; }
    .meta-item p { margin: 0 !important; font-size: 9pt !important; font-weight: bold; }

    /* Science Journal box print scaling */
    .science-journal-box {
        border: 1px solid #000 !important;
        background: #fdfdfd !important;
        padding: 0.75rem !important;
        margin-bottom: 1rem !important;
        page-break-inside: avoid;
    }

    .science-journal-grid {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 0.5rem !important;
    }

    /* Discussion Blocks */
    .rounds-container {
        display: block !important;
    }

    .round-block, .mistake-block {
        break-inside: avoid;
        page-break-inside: avoid;
        border: 1px solid #ccc !important;
        background: #fff !important;
        box-shadow: none !important;
        margin-bottom: 1rem !important;
        border-radius: 8px !important;
        overflow: hidden;
    }

    .round-header, .mistake-header {
        background: #eee !important;
        color: #000 !important;
        padding: 0.5rem 0.75rem !important;
        font-weight: bold !important;
        border-bottom: 1px solid #ccc !important;
        display: flex;
        justify-content: space-between;
    }

    .round-toggle { display: none !important; }

    .round-body, .mistake-body {
        display: block !important; /* Force reveal collapsed foldable sections for print! */
        padding: 0.75rem !important;
    }

    .round-questions, .round-item {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    .round-questions li {
        padding: 0.35rem 0 !important;
        border-bottom: 1px dashed #ddd;
    }

    .round-item {
        padding: 0.4rem 0 !important;
        border-bottom: 1px dashed #ddd;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .round-item-main {
        font-weight: bold;
        font-size: 10pt;
    }

    .round-item-personal {
        font-style: italic;
        color: #444;
        font-size: 9.5pt;
        margin-top: 0.15rem;
    }

    /* Let's speak together split view grid printing */
    .lst-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 1rem !important;
    }

    .lst-item {
        border: 1px dashed #ccc !important;
        padding: 0.5rem !important;
        border-radius: 6px;
    }

    /* Linguistic Corrections Mistakes Print Layout */
    .mistake-item {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
        padding: 0.4rem 0 !important;
        border-bottom: 1px solid #eee;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .mistake-wrong {
        background: #fdf2f2 !important;
        padding: 0.1rem 0.4rem !important;
        border-radius: 4px !important;
        font-weight: 500 !important;
    }

    .mistake-right {
        background: #f0fdf4 !important;
        padding: 0.1rem 0.4rem !important;
        border-radius: 4px !important;
        font-weight: 500 !important;
    }

    .mistake-flag-wrong {
        font-weight: bold !important;
        text-transform: uppercase !important;
        color: #7d0000 !important;
    }

    .mistake-flag-right {
        font-weight: bold !important;
        text-transform: uppercase !important;
        color: #004d00 !important;
    }

    .mistake-null {
        font-weight: bold !important;
        font-style: italic !important;
        color: #555 !important;
    }

    .mistake-part-subj {
        font-weight: bold !important;
        text-decoration: underline !important;
    }

    .mistake-part-verb {
        font-weight: bold !important;
        text-decoration: underline double !important;
    }

    .mistake-part-obj {
        font-weight: bold !important;
        text-decoration: underline dotted !important;
    }

    .mistake-part-mod {
        font-weight: bold !important;
        text-decoration: underline wavy !important;
    }

    .mistake-part-other {
        font-weight: bold !important;
        font-style: italic !important;
    }

    .mistake-note-text {
        color: #555;
        font-size: 8.5pt;
    }

    section { break-inside: avoid; border: 1px solid #ccc; box-shadow: none; margin-bottom: 1rem; }
    .gtable { border: 1px solid #000; }
    .gtable td, .gtable th { border: 1px solid #000; color: #000 !important; }
    .gtable .row-label { background: #eee !important; color: #000 !important; }
    .gtable .section-row td { background: #ddd !important; color: #000 !important; }
}

/* Screen Preview for Print page */
.print-preview body { background: #eee; }
.print-controls { position: sticky; top: 0; background: #fff; padding: 1rem; border-bottom: 2px solid #333; z-index: 1100; text-align: center; }
.btn-print { background: #333; color: #fff; border: none; padding: 10px 20px; border-radius: 5px; font-weight: 700; cursor: pointer; }

.print-container { background: #fff; max-width: 800px; margin: 2rem auto; padding: 4rem; box-shadow: 0 0 30px rgba(0,0,0,0.1); min-height: 297mm; }

/* Print Studio Refactored CSS Classes */
.print-select-compact {
  width: auto !important;
  height: 36px !important;
  padding: 4px 8px !important;
  font-weight: bold !important;
}
.btn-print[data-accent="honey"] {
  background-color: var(--honey-dark, #b7791f) !important;
  height: 36px !important;
}
.btn-action-sm {
  height: 36px !important;
}
.option-highlight-notebook {
  color: var(--sage-dark);
  font-weight: bold;
}
.print-guide-subtitle {
  color: #666;
  font-size: 1.1rem;
  margin-top: 0.25rem;
}
.print-guide-list {
  margin-top: 0.5rem;
  margin-bottom: 0;
  padding-left: 1.2rem;
}
.print-dashed-placeholder {
  border: 1px dashed #eee !important;
}
.zine-cover-bg {
  background: #f7fafc;
}
.zine-cover-title {
  font-weight: bold;
  font-size: 1rem;
  color: #2d5a45;
}
.zine-cover-desc {
  font-size: 0.75rem;
  color: #666;
  margin-top: 0.5rem;
  line-height: 1.4;
}
.zine-logo-img {
  height: 35px;
  width: auto;
}
.grammar-header-banner {
  text-align: center;
  margin-bottom: 2rem;
  border-bottom: 3px double var(--sage-deep);
  padding-bottom: 1.5rem;
}
.grammar-header-logo {
  height: 50px;
  margin-bottom: 0.5rem;
}
.grammar-header-title {
  font-family: 'Lora', serif;
  color: var(--sage-deep);
  font-size: 2.2rem;
  margin: 0;
}
.grammar-header-meta {
  font-weight: 800;
  text-transform: uppercase;
  color: var(--honey-dark);
  letter-spacing: 2px;
  margin-top: 0.5rem;
}
.grammar-empty-msg {
  text-align: center;
  color: #666;
  padding: 2rem;
}
