/*
 * affichage d'une image à gauche d'un article
 * utiliser le code court suivant:
 * [image_mise_en_avant]
*/
.display-posts-listing.image-left .listing-item {
	overflow: hidden; 
	margin-bottom: 32px;
	width: 100%;
}

.display-posts-listing.image-left .image {
	float: left;
	margin: 0 16px 0 0;
}

.display-posts-listing.image-left .title {
	display: block;
}

.display-posts-listing.image-left .excerpt-dash { 
	display: none; 
}
.titre-activité {
	height: 113px;
  	padding: 0px;
}
/*
 * affichage des articles sur 1, 2 ou 3 colonnes
 * utiliser le code court suivant:
 * [display-posts category="Activités" posts_per_page="15" orderby="title" order="ASC" image_size="thumbnail" include_excerpt="true" wrapper="div" wrapper_class="display-posts-listing grid"]
*/

.listing-item {
	border: solid;
	border-radius: 57px;
	border-width: 1px;
  	box-shadow: 3px 3px 5px #888888;
}
.listing-item .title {
	font-size: 20px ;
	text-align: center;
}

.listing-item .excerpt {
	font-size: 18px ;
}


.display-posts-listing.grid {
	display: grid;
	grid-gap: 16px;

}

.display-posts-listing.grid .title {
	display: block;
}

.display-posts-listing.grid img { 
	display: block; 
	max-width: 100%; 
	height: auto; 
}

@media (min-width: 600px) {
	.display-posts-listing.grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}

@media (min-width: 1024px) {
	.display-posts-listing.grid {
		grid-template-columns: repeat( 3, 1fr );
	}
}

.display-posts-listing.grid .image {
	float: left;
	margin: 0 16px 0 0;
}


/*
 * styles pour imprimer les articles
*/

/* Styles généraux */
.print-articles-container {
    max-width: 100%;
}

.print-article-header {
    display: flex;
    align-items: stretch;
    border: solid 1px #333;
    border-radius: 45px;
    box-shadow: 3px 3px 5px #888888;
    overflow: hidden;
    min-height: 90px;
}

.print-article-featured-image {
    flex-shrink: 0;
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.print-article-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.print-article-title-wrapper {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.8rem 1.5rem;
}

.print-article-title {
    font-size: 2.5rem;
    margin: 0;
    color: #333;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

.print-article-content {
    font-size: 0.9rem;
    line-height: 1.45;
    color: #444;
    border: solid 1px #333;
    border-radius: 35px;
    box-shadow: 3px 3px 5px #888888;
    padding: 1.2rem;
    margin-top: 1rem;
}

/* Couleurs par catégorie */
.print-article-cat-activites .print-article-header,
.print-toc-cat-activites {
    background: radial-gradient(rgba(237,125,50,1) 0%, rgba(237,145,84,1) 100%);
}

.print-article-cat-activites .print-article-title,
.print-toc-cat-activites .print-toc-title {
    color: black;
}

.print-article-cat-gestion .print-article-header,
.print-toc-cat-gestion {
    background: radial-gradient(rgba(255,192,1,1) 0%, rgba(255,207,70,1) 100%);
}

.print-article-cat-gestion .print-article-title,
.print-toc-cat-gestion .print-toc-title {
    color: black;
}

.print-article-cat-decision .print-article-header,
.print-toc-cat-decision {
    background: radial-gradient(rgba(112,173,71,1) 0%, rgba(150,220,103,1) 100%);
}

.print-article-cat-decision .print-article-title,
.print-toc-cat-decision .print-toc-title {
    color: black;
}

.print-articles-no-results {
    text-align: center;
    font-style: italic;
    color: #666;
}

/* Styles pour la table des matières */
.print-articles-toc {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 1rem;
    margin-bottom: 2rem;
}



.print-toc-item {
    border: solid 1px #333;
    border-radius: 57px;
    overflow: hidden;
    box-shadow: 2px 2px 3px #888888;
}

.print-toc-content {
    display: flex;
    align-items: flex-start;

}

.print-toc-image {
    flex-shrink: 0;
    width: 80px;
    margin-right: 1rem;
}

.print-toc-thumbnail {
    width: 100%;
    height: auto;
    display: block;

}

.print-toc-text {
    flex-grow: 1;
	    padding: 0.5rem;
}

.print-toc-title {
    font-size: 1.2rem
    font-weight: bold;
    margin: 0 0 0.1rem 0;
}

.print-toc-excerpt {
    font-size: 0.85rem;
    line-height: 1.0;
    margin: 0;
    color: black;
}

/* Styles spécifiques pour l'impression */
@media print {
    @page {
        margin: 0.8cm 1.5cm 0.8cm 0.8cm;
        size: A4 portrait;
    }

    html {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
        zoom: 1;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        width: 210mm;
        max-width: 210mm;
        height: 100%;
        overflow: visible !important;
        font-size: 12pt;
    }

    .print-articles-container {
        width: calc(100% - 1.5cm);
        margin: 0 0 0 1cm; /* marge gauche fiable, indépendante des autres plugins */
        padding: 0;
    }

    .print-article {
        position: relative;
        display: block !important;
        padding: 0;
        margin: 0 !important;
        background: #fff;
        box-sizing: border-box;
        page-break-inside: avoid !important;
        -webkit-region-break-inside: avoid !important;
        break-inside: avoid !important;
        overflow: visible !important;
    }

    .print-article-with-break {
        page-break-after: always !important;
		page-break-before: always;
        -webkit-page-break-after: always !important;
        break-after: page !important;
    }

    .print-article-header {
        display: flex !important;
        align-items: stretch !important;
        border: solid 1px #000;
        border-radius: 25px;
        overflow: hidden;
        margin-bottom: 0.8rem;
        min-height: 60px;
        max-height: 60px;
    }

    .print-article-featured-image {
        flex-shrink: 0;
        width: 60px;
        height: 60px; /* hauteur explicite : sans elle, height:100% du thumbnail ne se résout pas */
        display: flex !important;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .print-article-thumbnail {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block !important;
    }

    .print-article-title-wrapper {
        flex-grow: 1;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0.5rem 1rem;
    }

    .print-article-title {
        font-size: 20pt;
        margin: 0;
        text-align: center;
        color: #000;
        line-height: 1.2;
    }

    .print-article-content {
        font-size: 8pt;
        line-height: 1.35;
        border: solid 1px #000;
        border-radius: 25px;
        padding: 0.8rem;
        color: #000;
    }

    .print-article-content p {
        margin: 0 0 0.6em 0;
        orphans: 2;
        widows: 2;
    }

    .print-article-content img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    .print-article-content h1,
    .print-article-content h2,
    .print-article-content h3,
    .print-article-content h4,
    .print-article-content h5,
    .print-article-content h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
        font-size: 1em;
        margin: 0.4em 0;
    }

    /* Styles pour la table des matières en impression */
    .print-articles-toc {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
        width: calc(100% - 1.5cm);
        margin: 1rem 0 1rem 1cm; /* top/bottom 1rem + marge gauche */
        padding: 0;
    }

    .print-toc-item {
        border: solid 1px #000;
        border-radius: 30px;
        /* overflow:hidden supprimé : cachait les images en impression */
        page-break-inside: avoid;
    }

    .print-toc-content {
        display: flex;
        align-items: flex-start;

    }

    .print-toc-image {
        flex-shrink: 0;
        width: 60px;
        margin-right: 0.2rem;
    }

    .print-toc-thumbnail {
        width: 100%;
        height: auto;
        display: block;

    }

    .print-toc-text {
        flex-grow: 1;
    }

    .print-toc-title {
        font-size: 12pt;
        font-weight: bold;
        margin: 0 ;
        color: #000;
    }

    .print-toc-excerpt {
        font-size: 9pt;
        line-height: 1.25;
        margin: 0;
        color: #000;
    }

    /* Forcer l'affichage dans Safari - CRITIQUE */
    body * {
        visibility: visible !important;
        opacity: 1 !important;
    }

    .print-articles-container,
    .print-article,
    .print-article-header,
    .print-article-content,
    .print-article-featured-image,
    .print-article-thumbnail,
    .print-article-title-wrapper,
    .print-article-title,
    .print-articles-toc,
    .print-toc-item,
    .print-toc-content,
    .print-toc-image,
    .print-toc-thumbnail,
    .print-toc-text,
    .print-toc-title,
    .print-toc-excerpt {
        visibility: visible !important;
        opacity: 1 !important;
    }
}
