/* ==========================================================================
   PRINT STYLESHEET — Progressisme Theme
   Optimisé pour impression A4. Chargé via media="print".
   ========================================================================== */

/* ---------- Page A4 ---------- */
@page {
    size: A4;
    margin: 18mm 15mm 20mm 15mm;
}

/* ---------- Reset global ---------- */
* {
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
    animation: none !important;
}

body {
    font-family: "Inter", Georgia, "Times New Roman", serif;
    font-size: 11pt;
    line-height: 1.6;
    color: #000 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* ---------- Masquer les éléments non-imprimables ---------- */
header.wp-block-template-part,
footer.wp-block-template-part,
.site-header,
.site-footer,
.reading-progress,
.newsletter-section,
.newsletter-cta,
.related-articles,
.comments-section,
.article-tags,
.author-box,
.reading-time,
.episode-nav,
.video-section,
.signal-lightbox,
.cursor-coords,
.wp-block-separator,
.addtoany_share_save_container,
.addtoany_content,
.a2a_kit,
#ez-toc-container,
.ez-toc-container,
.wp-block-social-links,
.share-links,
.format-badge {
    display: none !important;
}

/* ---------- Layout principal ---------- */
main.wp-block-group {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.wp-block-group {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.article-header {
    margin-bottom: 12pt !important;
}

.article-content {
    margin-top: 0 !important;
    font-size: 11pt;
    line-height: 1.6;
}

/* ---------- Typographie ---------- */
h1, .wp-block-post-title {
    font-family: "Bebas Neue", "Arial Narrow", sans-serif;
    font-size: 26pt !important;
    line-height: 1.0 !important;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #000 !important;
    margin-top: 0 !important;
    margin-bottom: 8pt !important;
}

.article-content h2 {
    font-family: "Bebas Neue", "Arial Narrow", sans-serif;
    font-size: 16pt !important;
    line-height: 1.1 !important;
    text-transform: uppercase;
    color: #000 !important;
    border-bottom: 0.5pt solid #000 !important;
    padding-bottom: 4pt !important;
    margin-top: 18pt !important;
    margin-bottom: 8pt !important;
}

.article-content h3 {
    font-family: "Inter", Georgia, serif;
    font-size: 12pt !important;
    font-weight: 700 !important;
    color: #000 !important;
    margin-top: 14pt !important;
    margin-bottom: 6pt !important;
}

.article-content p {
    margin-bottom: 6pt !important;
    orphans: 3;
    widows: 3;
}

/* ---------- Liens ---------- */
a {
    color: #000 !important;
    text-decoration: underline !important;
}

/* Pas de a[href]::after — trop envahissant pour un journal */

/* ---------- Image à la une ---------- */
.wp-block-post-featured-image {
    margin-bottom: 10pt !important;
}

.wp-block-post-featured-image img {
    max-height: 220px !important;
    width: 100% !important;
    object-fit: cover;
    border: 0.5pt solid #ccc !important;
}

/* ---------- Portrait : intro 2 colonnes ---------- */
.portrait-intro {
    margin-bottom: 12pt !important;
    gap: 12pt !important;
}

/* Forcer les colonnes en ligne (WordPress peut linéariser en print) */
.portrait-intro.wp-block-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
}

.portrait-intro > .wp-block-column:first-child {
    flex-basis: 25% !important;
    max-width: 25% !important;
    flex-shrink: 0 !important;
}

.portrait-intro > .wp-block-column:last-child {
    flex-basis: 75% !important;
    max-width: 75% !important;
}

.portrait-intro .wp-block-post-featured-image {
    max-height: 180px !important;
    overflow: hidden !important;
}

.portrait-intro .portrait-image img,
.portrait-intro .wp-block-post-featured-image img {
    max-height: 180px !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    filter: none !important;
    border: 0.5pt solid #ccc !important;
}

/* ---------- Blockquotes ---------- */
blockquote,
.wp-block-quote {
    background: #fff !important;
    color: #000 !important;
    border: none !important;
    border-left: 3pt solid #000 !important;
    padding: 6pt 12pt !important;
    margin: 8pt 0 !important;
    font-style: italic;
}

blockquote p,
.wp-block-quote p {
    color: #000 !important;
}

/* ---------- Essential block (tous templates) ---------- */
.essential-block {
    background: #f5f5f5 !important;
    color: #000 !important;
    border: none !important;
    border-left: 4pt solid #000 !important;
    padding: 10pt 14pt !important;
    margin: 10pt 0 !important;
}

.essential-block::before {
    color: #000 !important;
}

.essential-block p,
.essential-block strong {
    color: #000 !important;
}

/* ---------- Precedent block (tous templates) ---------- */
.precedent-block {
    background: #f0f0f0 !important;
    color: #000 !important;
    border: none !important;
    border-left: 4pt solid #000 !important;
    padding: 10pt 14pt !important;
    margin: 10pt 0 !important;
}

.precedent-block * {
    color: #000 !important;
}

.precedent-block::before {
    color: #000 !important;
}

/* ---------- Twitter embeds ---------- */
.twitter-embed {
    border: 0.5pt solid #ccc !important;
    padding: 8pt !important;
    margin: 8pt auto !important;
}

/* ---------- Décryptage : key-facts ---------- */
.key-facts {
    background: #fff !important;
    border: 1pt solid #000 !important;
    padding: 10pt 14pt !important;
    margin: 10pt auto !important;
    color: #000 !important;
}

.key-facts::before {
    color: #000 !important;
}

/* ---------- Décryptage : image-break ---------- */
.image-break {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.image-break img {
    width: 100% !important;
    max-height: 250px !important;
    object-fit: cover;
    border: 0.5pt solid #ccc !important;
    height: auto !important;
}

/* ---------- Portrait : identity-card ---------- */
.identity-card {
    border: 0.5pt solid #000 !important;
    padding: 8pt 12pt !important;
    margin: 10pt 0 !important;
}

.identity-card dt {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Portrait : timeline-block ---------- */
.timeline-block {
    border-left: 2pt solid #000 !important;
    padding-left: 14pt !important;
}

.timeline-block .event::before {
    background: #000 !important;
}

.timeline-block .date {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Portrait : takeaways ---------- */
.takeaways {
    background: #fff !important;
    margin: 10pt 0 !important;
}

.takeaways li {
    border: none !important;
    border-left: 3pt solid #000 !important;
    padding: 8pt 12pt !important;
    margin-bottom: 6pt !important;
    background: #f8f8f8 !important;
}

.takeaways h3 {
    color: #000 !important;
    background: #fff !important;
    border-bottom: 0.5pt solid #000 !important;
}

/* ---------- Enquête : stat-grid ---------- */
.stat-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8pt !important;
}

.stat-highlight {
    border: 0.5pt solid #ccc !important;
    padding: 6pt !important;
}

.stat-number {
    color: #000 !important;
    font-size: 18pt !important;
}

.stat-label,
.stat-context {
    color: #000 !important;
}

/* ---------- Enquête : data-table ---------- */
.data-table {
    width: 100% !important;
    border-collapse: collapse !important;
    overflow: visible !important;
    font-size: 9pt !important;
}

.data-table caption {
    background: #eee !important;
    color: #000 !important;
    font-weight: 700 !important;
    padding: 4pt 6pt !important;
}

.data-table th {
    background: #e0e0e0 !important;
    color: #000 !important;
    font-weight: 700 !important;
    border: 0.5pt solid #000 !important;
    padding: 3pt 5pt !important;
}

.data-table td {
    border: 0.5pt solid #999 !important;
    padding: 3pt 5pt !important;
    color: #000 !important;
}

.data-table .negative {
    font-weight: 700 !important;
}

.data-table .positive {
    font-weight: 700 !important;
}

/* ---------- Enquête : bar-chart ---------- */
.bar-chart {
    margin: 8pt 0 !important;
}

.bar-fill {
    background: #333 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* ---------- Enquête : methodology-block ---------- */
.methodology-block {
    background: #f5f5f5 !important;
    border-left: 4pt solid #000 !important;
    color: #000 !important;
    padding: 8pt 12pt !important;
}

/* ---------- Enquête : comparison-block ---------- */
.comparison-block {
    flex-direction: column !important;
}

/* ---------- Critique : book-card ---------- */
.book-card {
    border: 0.5pt solid #000 !important;
    padding: 8pt !important;
    margin: 10pt 0 !important;
}

.book-card dt {
    color: #000 !important;
    font-weight: 700 !important;
}

.book-card img {
    max-height: 200px !important;
}

/* ---------- Critique : book-quote ---------- */
.book-quote {
    background: #f8f8f8 !important;
    border: none !important;
    border-left: 3pt solid #666 !important;
    color: #000 !important;
    padding: 8pt 12pt !important;
}

.book-quote blockquote,
.book-quote p {
    color: #000 !important;
}

.book-quote .book-quote-ref {
    color: #333 !important;
}

/* ---------- Critique : verdict-block ---------- */
.verdict-block,
.verdict--essentiel,
.verdict--recommande,
.verdict--mitige,
.verdict--a-eviter {
    background: #fff !important;
    color: #000 !important;
    border: 2pt solid #000 !important;
    padding: 10pt 14pt !important;
}

.verdict-label {
    color: #000 !important;
    font-weight: 700 !important;
}

.verdict-block p,
.verdict-block li {
    color: #000 !important;
}

/* ---------- Signal : signal-images ---------- */
.signal-images {
    gap: 6pt !important;
}

.signal-images img {
    border: 0.5pt solid #ccc !important;
    max-height: 200px !important;
    object-fit: cover;
}

.signal-caption {
    color: #333 !important;
}

/* ---------- Signal : precedent-visual ---------- */
.precedent-visual {
    background: #f0f0f0 !important;
    color: #000 !important;
    border: none !important;
    border-left: 4pt solid #666 !important;
    padding: 10pt 14pt !important;
}

.precedent-visual * {
    color: #000 !important;
}

.precedent-visual h2 {
    color: #000 !important;
}

.precedent-visual-images img {
    border: 0.5pt solid #999 !important;
}

/* ---------- Prospective : hypothesis-block ---------- */
.hypothesis-block {
    background: #f8f8f8 !important;
    border: none !important;
    border-left: 4pt solid #333 !important;
    color: #000 !important;
    padding: 10pt 14pt !important;
}

.hypothesis-block::before {
    color: #000 !important;
}

.hypothesis-block * {
    color: #000 !important;
}

/* ---------- Prospective : cascade-block ---------- */
.cascade-block {
    border-left: 2pt solid #333 !important;
}

.cascade-step-number {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Prospective : constraint-block ---------- */
.constraint-block {
    background: #f0f0f0 !important;
    color: #000 !important;
    border: none !important;
    border-left: 4pt solid #000 !important;
    padding: 10pt 14pt !important;
}

.constraint-block * {
    color: #000 !important;
}

.constraint-block li::before {
    color: #000 !important;
}

/* ---------- Prospective : scenario-summary ---------- */
.scenario-summary {
    border: 1pt solid #000 !important;
    padding: 10pt 14pt !important;
}

/* ---------- Confrontation : hero-split ---------- */
.hero-split {
    border: none !important;
    margin: 10pt 0 !important;
}

.hero-split img {
    max-height: 180px !important;
    object-fit: cover;
    border: 0.5pt solid #ccc !important;
}

.hero-side--dit .hero-label,
.hero-side--fait .hero-label {
    background: #eee !important;
    color: #000 !important;
    border: 0.5pt solid #000 !important;
}

.hero-split::after {
    color: #000 !important;
    background: #fff !important;
    border: 1pt solid #000 !important;
}

/* ---------- Confrontation : content-split ---------- */
.content-split {
    display: block !important;
}

.content-side--dit,
.content-side--fait {
    background: #fff !important;
    border: none !important;
    border-left: 3pt solid #000 !important;
    padding: 8pt 12pt !important;
    margin-bottom: 8pt !important;
    width: 100% !important;
}

.content-side--dit::before,
.content-side--fait::before {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Confrontation : ecart-block ---------- */
.ecart-block {
    background: #f0f0f0 !important;
    color: #000 !important;
    border: none !important;
    border-left: 4pt solid #000 !important;
    padding: 10pt 14pt !important;
}

.ecart-block * {
    color: #000 !important;
}

/* ---------- Confrontation : citation-block ---------- */
.citation-block {
    background: #fff !important;
    border: none !important;
    border-left: 3pt solid #000 !important;
    color: #000 !important;
    padding: 6pt 12pt !important;
}

.citation-block * {
    color: #000 !important;
}

/* ---------- Confrontation : fait-item ---------- */
.fait-item {
    color: #000 !important;
}

.fait-marker {
    color: #000 !important;
    font-weight: 700 !important;
}

.chiffre {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Confrontation : sources-block ---------- */
.sources-block {
    font-size: 9pt !important;
    border-top: 0.5pt solid #ccc !important;
    padding-top: 6pt !important;
}

.src-type {
    color: #000 !important;
    font-weight: 700 !important;
}

/* ---------- Confrontation : number ---------- */
.confrontation-number {
    color: #000 !important;
}

.confrontation-disclaimer {
    color: #666 !important;
}

/* ---------- Images generales ---------- */
img {
    max-width: 100% !important;
    height: auto !important;
}

figure {
    margin: 8pt 0 !important;
}

figcaption {
    font-size: 9pt !important;
    color: #333 !important;
}

/* ---------- Bordures brutalistes → fines ---------- */
.has-text-primary-border-color {
    border-width: 0.5pt !important;
    border-color: #ccc !important;
}

/* ---------- Sauts de page ---------- */
h2, h3 {
    break-after: avoid;
}

.essential-block,
.key-facts,
.precedent-block,
.verdict-block,
.book-card,
.identity-card,
.hypothesis-block,
.scenario-summary,
.takeaways li,
.hero-split,
.ecart-block,
.stat-grid,
.methodology-block,
.book-quote,
.citation-block,
figure {
    break-inside: avoid;
}

/* ---------- Catégories dans le header ---------- */
.article-header .wp-block-post-terms {
    color: #000 !important;
}

.article-header .wp-block-post-terms a {
    color: #000 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

/* ---------- Spacing du header article ---------- */
.article-header .wp-block-group {
    gap: 4pt !important;
}

/* ---------- Metas (auteur, date) ---------- */
.has-text-muted-color {
    color: #555 !important;
}

/* ---------- Conteneur contenu WP ---------- */
.wp-block-post-content {
    max-width: 100% !important;
}

.wp-block-post-content > * {
    max-width: 100% !important;
}

/* ---------- Liens internes Progressisme ---------- */
.article-content a[href*="progressisme.com"] {
    text-decoration: underline !important;
}

/* ---------- URL du site en pied de chaque page ---------- */
@page {
    @bottom-center {
        content: "progressisme.com";
        font-family: "Inter", sans-serif;
        font-size: 8pt;
        color: #999;
    }
}
