/* Cartes « Action ou Vérité » à imprimer (SPEC_PARTY_GAME §6.3).
   Deux rendus dans un seul document, comme murder-party-kit.css : lisible à
   l'écran (aperçu), et surtout propre à l'impression — c'est le PDF produit
   par « Imprimer → Enregistrer en PDF » qui circule et se fait relayer. */

.pp-intro {
    max-width: 44rem;
    margin: 118px auto 3rem;
    text-align: center;
}

.pp-title {
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    margin-bottom: 0.75rem;
}

.pp-lede {
    font-size: 1.1rem;
    line-height: 1.6;
    opacity: 0.85;
}

.pp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin: 1.75rem 0 1rem;
}

.pp-hint {
    font-size: 0.9rem;
    opacity: 0.65;
}

.pp-sheet,
.pp-level,
.pp-outro {
    max-width: 44rem;
    margin: 0 auto 2rem;
}

.pp-sheet {
    padding: 2rem 2.25rem;
    border: 1px solid rgba(128, 128, 128, 0.28);
    border-radius: 12px;
}

.pp-sheet-title {
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

.pp-howto {
    padding-left: 1.2rem;
    line-height: 1.65;
}

.pp-howto li { margin-bottom: 0.7rem; }

.pp-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.75rem;
    opacity: 0.6;
    margin-bottom: 0.4rem;
}

.pp-level-head {
    text-align: center;
    margin: 3rem 0 1.5rem;
}

.pp-level-name {
    font-size: 2rem;
    margin-bottom: 0.3rem;
}

.pp-level-tag { opacity: 0.7; }

.pp-deck { margin-bottom: 2.5rem; }

.pp-deck-title {
    font-size: 1.05rem;
    margin-bottom: 1rem;
}

/* La grille de découpe : bordures pointillées = traits de coupe. */
.pp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}

.pp-card {
    border: 1px dashed rgba(128, 128, 128, 0.55);
    margin: 0 -1px -1px 0;   /* traits de coupe mutualisés entre cartes voisines */
    padding: 0.9rem 1rem;
    min-height: 7.5rem;
    display: flex;
    flex-direction: column;
}

.pp-card-kicker {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.65rem;
    opacity: 0.55;
    margin-bottom: 0.45rem;
}

.pp-card-text {
    line-height: 1.45;
    font-size: 0.95rem;
}

.pp-source {
    margin-top: 1.25rem;
    padding-top: 0.6rem;
    border-top: 1px solid rgba(128, 128, 128, 0.25);
    font-size: 0.8rem;
    opacity: 0.7;
}

.pp-source a { text-decoration: none; color: inherit; }

.pp-outro {
    text-align: center;
    padding: 1.5rem 0 3rem;
}

.pp-outro p {
    opacity: 0.75;
    margin-bottom: 1.2rem;
}

@media (max-width: 560px) {
    .pp-grid { grid-template-columns: 1fr; }
}

@media print {
    header,
    .site-footer,
    .site-banner,
    .pp-actions,
    .pp-hint,
    .pp-outro,
    .announcements-drawer,
    [id$="-modal"] {
        display: none !important;
    }

    /* Le fond sombre du site coûterait une cartouche d'encre par jeu. */
    body,
    .container {
        background: #fff !important;
        color: #000 !important;
    }

    .stars { display: none !important; }

    .pp-intro {
        margin: 0 auto 1rem;
    }

    .pp-title { font-size: 1.6rem; }

    .pp-sheet {
        border: none;
        border-radius: 0;
        padding: 0;
    }

    /* Chaque niveau démarre sur sa propre feuille ; une carte n'est jamais
       coupée entre deux pages. */
    .pp-level {
        break-before: page;
        page-break-before: always;
        max-width: none;
    }

    .pp-level-head { margin: 0 0 1rem; }

    .pp-card {
        break-inside: avoid;
        page-break-inside: avoid;
        border-color: #999;
        min-height: 4.6cm;
    }

    .pp-deck { margin-bottom: 1rem; }

    .pp-source {
        border-top-color: rgba(0, 0, 0, 0.2);
    }

    a[href]::after {
        /* Les URL des CTA n'ont aucun sens sur papier. */
        content: none !important;
    }
}
