/* Utilitaires globaux frontoffice */
.hidden { display: none; }

/* Adminbar : coins arrondis pour les sous-menus (no-op sans #wpadminbar) */
#wpadminbar .ab-sub-wrapper,
#wpadminbar ul,
#wpadminbar ul li {
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

/* Shortcode Google News (pxn_gnews) */
a.google-news-button {
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
	margin: 20px auto;
	background-color: #fff;
	color: #000;
	box-shadow: 0 2px 26px 0 rgba(0, 0, 0, .1);
}
.google-news-text {
	text-align: center;
	vertical-align: middle;
	padding: 2px 4px 2px 16px;
	display: inline-block;
}
.google-news-icon {
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;
}
/* Shortcode Google Source (pxn_google_source) : reutilise les classes google-news-* ; marge verticale de l'icone G (24 px) */
.google-source-svg { display: block; margin: 13px 0; }
/* Libelle fourni par le CSS (absent du HTML de l'article) tant que l'attribut text n'est pas renseigne */
.google-source-button .google-news-text:empty::before { content: "Ajoutez-nous \00e0  vos favoris"; }
/* Couleurs et hauteur du SVG Google News integrees directement dans les attributs SVG (fill=, height=) — independance du CSS externe */

/* Shortcode Child Pages (List Child Pages) */
ul.lcp { list-style-type: none; margin: 0; padding: 0; }
ul.lcp li { display: inline-block; }
ul.lcp li::after { padding-left: 4px; content: "»"; }
ul.lcp li:last-child::after { content: ""; }
ul.lcp .label { font-weight: bold; margin-right: 6px; }

/* Double scrollbar pour les tables larges (post-content) */
.pxn-table-top-scroll,
.pxn-table-bottom-scroll {
	scrollbar-width: thin;
	scrollbar-color: #888 #e0e0e0;
}
.pxn-table-top-scroll::-webkit-scrollbar,
.pxn-table-bottom-scroll::-webkit-scrollbar {
	height: 10px;
	background: #e0e0e0;
	border-radius: 5px;
}
.pxn-table-top-scroll::-webkit-scrollbar-thumb,
.pxn-table-bottom-scroll::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 5px;
}
.pxn-table-top-scroll::-webkit-scrollbar-thumb:hover,
.pxn-table-bottom-scroll::-webkit-scrollbar-thumb:hover {
	background: #555;
}
@media (max-width: 768px) {
	.pxn-table-top-scroll,
	.pxn-table-bottom-scroll {
		scrollbar-width: auto;
	}
	.pxn-table-top-scroll::-webkit-scrollbar,
	.pxn-table-bottom-scroll::-webkit-scrollbar {
		height: 14px;
	}
	.pxn-table-top-scroll::-webkit-scrollbar-thumb,
	.pxn-table-bottom-scroll::-webkit-scrollbar-thumb {
		background: #666;
		border: 2px solid #e0e0e0;
	}
}

/* Jamais de coupure ni de cesure de mot dans les tableaux (le theme impose word-break/overflow-wrap: break-word) :
   un mot trop long elargit la colonne, le conteneur defile. */
.pxn-table-bottom-scroll table th,
.pxn-table-bottom-scroll table td {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

/* Tableaux d'articles en cartes empilees sur mobile (variante B, 03/10/2026) : chaque ligne = une carte,
   1re cellule = bandeau rose, autres cellules = "en-tete de colonne : valeur" (data-label pose par
   pxn_frontoffice_content_table_labels(), seulement sur les tableaux avec <thead> et sans cellule fusionnee). */
@media (max-width: 600px) {
	.pxn-table-bottom-scroll table[data-pxn-cards] {
		display: block;
		width: 100%;
		margin: 0 !important;
		border: 0;
		background: none;
		font-size: 15px;
		line-height: 1.4;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] thead {
		display: none;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] tbody {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	/* Cartes sans scroll horizontal : overflow visible pour ne pas couper leur ombre (style inline overflow-x:auto) */
	.pxn-table-bottom-scroll:has(> table[data-pxn-cards]) {
		overflow: visible !important;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] tr {
		display: block;
		overflow: hidden;
		border: 1px solid #f0f0f0;
		border-radius: 10px;
		background: #fff;
		box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] td,
	.pxn-table-bottom-scroll table[data-pxn-cards] th {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
		padding: 10px 16px;
		border: 0;
		border-bottom: 1px solid #f0f0f0;
		background: #fff;
		color: #111;
		font-size: 15px;
		font-weight: 600;
		text-align: right;
		text-transform: none;
		font-variant-numeric: tabular-nums;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] td:nth-child(odd),
	.pxn-table-bottom-scroll table[data-pxn-cards] th:nth-child(odd) {
		background: #fafafa;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] td:last-child,
	.pxn-table-bottom-scroll table[data-pxn-cards] th:last-child {
		border-bottom: 0;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] td::before,
	.pxn-table-bottom-scroll table[data-pxn-cards] th::before {
		content: attr(data-label);
		max-width: 55%;
		color: #6b7280;
		font-size: 13px;
		font-weight: 400;
		text-align: left;
	}
	/* 1re cellule : bandeau de la carte (blanc sur #e0006a, contraste 4,8:1) */
	.pxn-table-bottom-scroll table[data-pxn-cards] td:first-child,
	.pxn-table-bottom-scroll table[data-pxn-cards] th:first-child {
		display: block;
		border-bottom: 0;
		background: #e0006a;
		color: #fff;
		font-size: 14px;
		text-align: left;
	}
	.pxn-table-bottom-scroll table[data-pxn-cards] td:first-child::before,
	.pxn-table-bottom-scroll table[data-pxn-cards] th:first-child::before {
		content: none;
	}
}

/* Tableaux d'articles sur desktop/tablette (variante B, 03/10/2026) : en-tete rose de marque assombri
   (#e0006a, blanc 4,8:1), sans majuscules, lignes alternees, conteneur arrondi. Sous 600 px : cartes ci-dessus. */
@media (min-width: 601px) {
	.pxn-table-wrapper .pxn-table-bottom-scroll {
		border: 1px solid #f0f0f0;
		border-radius: 10px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, .04);
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table {
		width: 100%;
		margin: 0 !important;
		border: 0;
		border-collapse: collapse;
		background: #fff;
		color: #333;
		font-size: 15px;
		line-height: 1.45;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table th {
		padding: 12px 16px;
		border: 0;
		background: #e0006a;
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: normal;
		text-transform: none;
		text-align: left;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table td {
		padding: 12px 16px;
		border: 0;
		border-bottom: 1px solid #f0f0f0;
		background: #fff;
		color: #333;
		font-variant-numeric: tabular-nums;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table tbody tr:nth-child(even) td {
		background: #fafafa;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table tbody tr:last-child td {
		border-bottom: 0;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table td:first-child {
		font-weight: 600;
		color: #111;
	}
	/* Pas de retour a la ligne dans les en-tetes ; les cellules peuvent se plier (sinon un tableau a textes longs deborde
	   et ecrase la seule colonne pliable, ex. /hydrafusion/ : 1re colonne a 69 px), avec une largeur mini par colonne */
	.pxn-table-wrapper .pxn-table-bottom-scroll table th {
		white-space: nowrap;
	}
	.pxn-table-wrapper .pxn-table-bottom-scroll table td {
		min-width: 6em;
	}
}
