/*
Theme Name: ASI
Author: Avis Site Internet
Author URI: https://avis-site-internet.com
Description: 
Version: 1.0
Tags: 
Text Domain: asi
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block;}
body{line-height:1;}
ol, ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after, q:before, q:after{content:'';content:none;}
table{border-collapse:collapse;border-spacing:0;}

h1, h2, h3, h4, h5, h6{ font-weight: 700; }

:root {
	
	--white-normal: #ffffff;
	--white-muted: rgba(255, 255, 255, 0.6);
	
	--grey-lite: #eeeeee;
	--grey-normal: #dddddd;
	--grey-dark: #59586f;

	--black-normal: #5b5b5b;
	--black-dark: #171717;
		
	--blue-lite: #f0f8ff;
	--blue-soft: #dbeeff;
	--blue-normal: #0088ff;
	--blue-hover: #083779;
	--blue-dark: #0d47a1;
	
	--blue-border: #e4e9f2;
	--blue-border-hover: #b6cbea;
	
	--yellow-lite: #fff9e5;
	--yellow-normal: #ffc107;
	--yellow-hover: #e6ac00;
	
	--green-normal: #229b26;
	
	--red-lite: #fff3f3;
	--red-normal: #ff6666;
	
	--gold-normal: #bd9f5b;
		
}

html, body {
	width:100%;
	background: var(--white-normal);
	color: var(--black-normal);
	font-family:"Inter Tight", sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:1;
	-webkit-text-size-adjust:100%;
}

#site *, #site *:before, #site *:after{outline:0 !important; box-sizing:border-box !important;}

#site {
	color: var(--black-normal);
	line-height: 1.6;
}

.clear{clear:both;}

/*
.google-revocation-link-placeholder{border-radius:6px;overflow:hidden;}

.premium .label{position:absolute;right:20px;bottom:-20px;display:block;margin:0;padding:0;width:30px;height:30px;font-size:15px;line-height:32px;background:#bd9f5b;color:#fff;border-radius:50%;text-align:center;}
.label_premium{display:inline-block;margin:0;padding:0;width:30px;height:30px;font-size:15px;line-height:32px;background:#bd9f5b;color:#fff;border-radius:50%;text-align:center;}
*/

/* POST GRID / CARD */

.post_grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;

	margin: 0;
	padding: 0;
	list-style: none;
}

.post_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 0;
	border-radius: 12px;
	background: var(--white-normal);
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15),0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.post_card .image {
	position: relative;
	background: var(--blue-soft);
}

.post_card .image > a {
	display: block;
	overflow: hidden;
}

.post_card .image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 438;
	object-fit: cover;
	transform: scale(1.01);
	transition: all ease 0.3s;
}

.post_card .content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.post_card .meta {
	margin-bottom: 12px;
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.post_card h3 {
	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 700;
}

.post_card .description p {
	margin: 0 0 20px;
	font-size: 0.95rem;
	color: var(--black-normal);
	overflow-wrap: anywhere;
}

.post_card .button {
	margin-top: auto;
	justify-content: left;
    padding: 0;
}

.post_card .button a {
	display: inline-block;
    padding: 10px 10px 10px 16px;
	font-size: 0.9rem;
    line-height: 1;
    background: var(--blue-soft);
    color: var(--blue-dark);
    border-radius: 6px;
    text-decoration: none;
    transition: all ease 0.2s;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.post_card .button a:hover {
	background: var(--blue-normal);
    color: var(--white-normal);
}

.post_card:hover .image img {
	transform: scale(1.05);
}

/* SITE GRID / CARD */

.site_grid{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;

	margin: 0;
	padding: 0;
	list-style: none;
}

.site_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 0;
	border-radius: 12px;
	background: var(--white-normal);
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.site_card .image {
	position: relative;
	background: var(--blue-soft);
}

.site_card .image > a {
	display: block;
	overflow: hidden;
}

.site_card .image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 438;
	object-fit: cover;
	transform: scale(1.01);
	transition: all ease 0.3s;
}

.site_card .label {
	position: absolute;
	top: 12px;
	left: 12px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 8px 10px;
	border-radius: 6px;

	background: var(--gold-normal);
	color: var(--white-normal);
	box-shadow: 0 2px 8px color-mix(in srgb, var(--black-normal) 12%, transparent);
}

.site_card .content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.site_card .meta {
	margin-bottom: 12px;
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.site_card .review {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 16px;
}

.site_card .stars {
	display: inline-flex;
	align-items: center;
	gap: 3px;

	color: var(--grey-normal);
	font-size: 1.6rem;
	line-height: 1;
}

.site_card .stars .highlight {
	color: var(--green-normal);
}

.site_card .reviews {
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.site_card h3 {
	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 700;
}

.site_card .description p {
	margin: 0 0 20px;
	font-size: 0.95rem;
	color: var(--black-normal);
	overflow-wrap: anywhere;
}

.site_card .details {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;

	color: var(--grey-dark);
	font-size: 0.85rem;
}

.site_card .details li + li {
	margin-top: 8px;
}

.site_card .button {
	margin-top: auto;
	justify-content: left;
    padding: 0;
}

.site_card .button a {
	display: inline-block;
    padding: 10px 10px 10px 16px;
	font-size: 0.9rem;
    line-height: 1;
    background: var(--blue-soft);
    color: var(--blue-dark);
    border-radius: 6px;
    text-decoration: none;
    transition: all ease 0.2s;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.site_card .button a:hover {
	background: var(--blue-normal);
    color: var(--white-normal);
}

.site_card:hover .image img {
	transform: scale(1.05);
}

/* TERM GRID / CARD */

.site_term_grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;

	margin: 0;
	padding: 0;
	list-style: none;
}

.site_term_card{position:relative;margin:0;background:var(--blue-soft);color:var(--blue-dark);overflow:hidden;border-radius:6px;box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);}
.site_term_card a{display: flex;flex-direction: row;}
.site_term_card a .image{display: block;width:100px;height:100px;overflow:hidden;}
.site_term_card a .image img{display: block;width: 100%;height: 100%;object-fit: cover;transform: scale(1.01);transition: all ease 0.3s;}
.site_term_card a .content{display: block;padding:20px;min-width:180px;width:62%;height:100px;font-weight:700;line-height:1.2;}
.site_term_card a .content h3{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
.site_term_card a .content .site_count{display:inline-block;margin-top:0.8em;padding:4px 8px;font-size:0.75em;font-weight:400;background:var(--white-normal);color:var(--blue-normal);border-radius:20px;}
.site_term_card a .content .bt{position:absolute;right:10px;bottom:15px;font-size:1.2em;color:var(--blue-soft);}
.site_term_card a:hover .image img{transform: scale(1.1);}


@media (max-width: 1200px) {

	.site_term_grid,
	.site_grid,
	.post_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {

	.site_grid,
	.post_grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.site_term_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.site_grid,
	.post_grid {
		gap: 20px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.site_term_card{
		transition: none;
	}

}

/* HEADER */

#site_header {

	position: sticky;
	top: 0;
	z-index: 1000;

	border-bottom: 1px solid var(--blue-border);
	background: var(--white-normal);
	color: var(--black-normal);
	box-shadow: 0 2px 8px color-mix(in srgb, var(--black-normal) 5%, transparent);
}

#site_header,
#site_header *,
#site_header *::before,
#site_header *::after {
	box-sizing: border-box;
}

#site_header .header_inner {
	display: flex;
	align-items: center;
	gap: 24px;

	width: min(1600px, calc(100% - 40px));
	min-height: 80px;
	margin-inline: auto;
	padding-block: 12px;
}

#site_header a {
	color: var(--black-dark);
	text-decoration: none;
}

#site_header a:focus-visible,
#site_header button:focus-visible,
#site_header input:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

/* Logo */

#site_header .site_logo {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
}

#site_header .site_logo img {
	display: block;
	width: 260px;
	max-width: 100%;
	height: auto;
}

/* Navigation */

#site_header .main_navigation {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	min-width: 0;
}

#site_header .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;

	margin: 0;
	padding: 0;
	list-style: none;
}

#site_header .menu > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 10px;
	border-radius: 6px;

	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.4;
}

#site_header .menu > li > a:hover,
#site_header .menu > li > a[aria-current="page"],
#site_header .menu > .current-menu-item > a,
#site_header .menu > .current-menu-ancestor > a {
	background: var(--blue-soft);
	color: var(--blue-dark);
}

/* Recherche */

#site_header .header_search {
	display: flex;
	flex: 0 1 220px;
	align-items: center;
	min-width: 150px;
	margin: 0;

	border: 1px solid var(--grey-dark);
	border-radius: 6px;
	background: var(--white-normal);
}

#site_header .header_search input {
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 10px 12px;
	border: 0;
	border-radius: 6px 0 0 6px;

	background: transparent;
	color: var(--black-normal);
	font: inherit;
	font-size: 0.9rem;
}

#site_header .header_search input::placeholder {
	color: var(--grey-dark);
}

#site_header .header_search button {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;

	width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0 6px 6px 0;

	background: transparent;
	color: var(--blue-dark);
	font-size: 1rem;
	cursor: pointer;
}

#site_header .header_search button:hover {
	background: var(--blue-soft);
	color: var(--blue-dark);
}

/* Action principale */

#site_header .header_actions {
	flex-shrink: 0;
}

#site_header .header_actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 16px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-dark);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;

	transition: background-color 0.2s ease;
}

#site_header .header_actions .button:hover {
	background: var(--yellow-hover);
	color: var(--black-dark);
}

/* Bouton mobile */

#site_header .menu_toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;

	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

#site_header .menu_toggle:hover {
	background: var(--blue-soft);
	color: var(--blue-dark);
}

/* Texte accessible */

#site_header .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Barre d'administration WordPress */

body.admin-bar #site_header {
	top: 32px;
}

@media (max-width: 782px) {

	body.admin-bar #site_header {
		top: 46px;
	}

}

/* Navigation mobile */

@media (max-width: 1200px) {

	#site_header .header_inner {
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 0;
		min-height: 72px;
	}

	#site_header .menu_toggle {
		display: inline-flex;
	}

	#site_header .main_navigation {
		display: none;
		flex: 0 0 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 20px;

		max-height: calc(100dvh - 96px);
		margin-top: 12px;
		padding-block: 16px;
		overflow-y: auto;
		border-top: 1px solid var(--blue-border);
	}

	/* Classe à ajouter au header lors de l'ouverture du menu. */
	#site_header.is_menu_open .main_navigation {
		display: flex;
	}

	#site_header .menu {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
	}

	#site_header .menu > li > a {
		display: flex;
		width: 100%;
		padding: 12px;
	}

	#site_header .header_search {
		flex: none;
		width: 100%;
		min-width: 0;
	border: 1px solid var(--grey-dark);
}

	#site_header .header_actions .button {
		width: 100%;
	}

	body.admin-bar #site_header .main_navigation {
		max-height: calc(100dvh - 142px);
	}

}

@media (max-width: 600px) {

	#site_header .header_inner {
		width: calc(100% - 32px);
	}

	/* Sur mobile, la barre WP défile avec la page. */
	body.admin-bar #site_header {
		top: 0;
	}

}

@media (prefers-reduced-motion: reduce) {

	#site_header .header_actions .button {
		transition: none;
	}

}

/* MAIN */

main .wrapper {
	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
	padding: 0;
}

@media (max-width: 600px) {

	.wrapper {
		width: calc(100% - 32px);
	}
	
}

main a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
}

main a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

main a:focus-visible,
main button:focus-visible,
main input:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

main h1,
main h2,
main h3 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

main p {
	margin: 0;
}

main button,
main input {
	font: inherit;
}

main img {
	display: block;
	max-width: 100%;
	height: auto;
}


/* Boutons */

main .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 46px;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 6px;

	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

main .button:hover {
	text-decoration: none;
}

main .button_primary {
	background: var(--yellow-normal);
	color: var(--black-dark);
}

main .button_primary:hover {
	background: var(--yellow-hover);
	color: var(--black-dark);
}

main .button_secondary {
	border-color: var(--blue-dark);
	background: var(--white-normal);
	color: var(--blue-dark);
}

main .button_secondary:hover {
	background: var(--blue-dark);
	color: var(--white-normal);
	border-color: var(--blue-dark);
}

/* HOME */

.site_home_page .home_hero {
	padding-block: 72px;
	border-bottom: 1px solid var(--blue-border);
	background: radial-gradient(ellipse at bottom, var(--blue-normal) 0%, var(--blue-dark) 70%);
}

.site_home_page .home_hero_content {
	max-width: 1200px;
	margin-inline: auto;
	text-align: center;
}

.site_home_page .home_eyebrow,
.site_home_page .section_eyebrow {
	margin: 0 0 12px;
	color: var(--blue-dark);
	font-size: 1rem;
	font-weight: 600;
}

.site_home_page .section_eyebrow .fa {
	margin-right: 6px;
}

.site_home_page .home_hero h1 {
	margin: 0 0 24px;
	font-size: clamp(2rem, 4vw, 4.2rem);
	line-height: 1.05;
	color: var(--white-normal);
}

.site_home_page .home_intro {
	max-width: 1200px;
	margin-inline: auto;
	color: var(--blue-soft);
	font-size: 1.1rem;
}

/* Recherche */

.site_home_page .home_search {
	max-width: 800px;
	margin: 32px auto 0;
	text-align: left;
}

.site_home_page .home_search label {
	display: block;
	margin-bottom: 10px;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--white-normal);
}

.site_home_page .home_search_controls {
	display: flex;
	gap: 12px;
}

.site_home_page .home_search input {
	flex: 1;
	min-width: 0;
	min-height: 52px;
	padding: 14px 18px;
	border: 0;
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	line-height: 1.4;
}

.site_home_page .home_search input::placeholder {
	color: var(--grey-dark);
	opacity: 1;
}

.site_home_page .home_search button {
	flex-shrink: 0;
}

.site_home_page .home_hero_links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 24px;

	margin-top: 20px;
}

.site_home_page .home_hero_links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--white-normal);
}

/* Survol des liens sur fond bleu foncé */

.site_home_page .home_hero_links a:hover {
	color: var(--yellow-normal);
}

/* Contrastes sur les panneaux bleus foncés */

.site_home_page .home_hero .home_eyebrow {
	color: var(--yellow-normal);
}

.site_home_page .home_submission_panel .section_eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 6px;
    background: var(--gold-normal);
    color: var(--white-normal);
    box-shadow: 0 2px 8px color-mix(in srgb, var(--black-normal) 12%, transparent);
}

.site_home_page .home_hero a:focus-visible,
.site_home_page .home_hero button:focus-visible,
.site_home_page .home_hero input:focus-visible,
.site_home_page .home_submission_panel a:focus-visible {
	outline-color: var(--yellow-normal);
}

/* Sections */

.site_home_page .home_section {
	padding-block: 56px;
}

.site_home_page .home_overview {
	background: var(--blue-soft);
}

.site_home_page .home_overview_panel {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	align-items: center;
	gap: 40px;

	border: 0;
	border-radius: 12px;
}

.site_home_page .home_overview_content,
.site_home_page .home_overview_actions {
	min-width: 0;
}

.site_home_page .home_overview_content h2 {
	margin: 0 0 16px;
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--blue-dark);
}

.site_home_page .home_overview_actions {
	text-align: center;
}

.site_home_page .home_overview_actions p {
	margin: 0 auto;
	padding: 10px 20px;
	background: var(--white-normal);
	border-radius: 12px;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.site_home_page .home_overview_actions p i{
	color: var(--green-normal);
}

.site_home_page .home_overview_actions p strong{
	font-weight: 600;
}



.site_home_page .home_featured {
	background: radial-gradient(ellipse at top, var(--blue-normal) 0%, var(--blue-dark) 70%);
	color: var(--white-normal);

}

.site_home_page .home_featured .section_heading .section_eyebrow {
	color: var(--yellow-normal);
}

.site_home_page .home_featured .section_heading h2 {
	color: var(--white-normal);
}

.site_home_page .home_featured .section_heading p {
	color: var(--blue-soft);
}

.site_home_page .home_featured a.section_link {
	color: var(--white-normal);
}

.site_home_page .home_featured a.section_link:hover {
	color: var(--yellow-normal);
}

.site_home_page .home_daily {
	background: var(--blue-soft);
}

.site_home_page .home_submission {
	padding: 0;
	background: var(--white-normal);
}

.site_home_page .home_how_it_works {
	background: var(--white-normal);

}

.site_home_page .section_header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;

	margin-bottom: 28px;
}

.site_home_page .section_heading {
	flex: 1 1 360px;
	min-width: 0;
}

.site_home_page .section_heading h2 {
	margin: 0 0 10px;
	font-size: clamp(1.5rem, 3vw, 2rem);
}

.site_home_page .section_heading p {
	max-width: 680px;
	color: var(--grey-dark);
}

.site_home_page .section_link {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	min-height: 44px;
	max-width: 100%;
	font-size: 0.95rem;
	font-weight: 600;
}

/* Fonctionnement */

.site_home_page .home_steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;

	margin: 0;
	padding: 0;
	list-style: none;
}

.site_home_page .home_step {
	min-width: 0;
}

.site_home_page .home_step_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 56px;
	height: 56px;
	margin-bottom: 20px;
	border: 0;
	border-radius: 12px;

	background: var(--blue-soft);
	color: var(--blue-dark);
	font-size: 1.5rem;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.site_home_page .home_step h3 {
	margin: 0 0 12px;
	font-size: 1.15rem;
}

.site_home_page .home_step p {
	color: var(--grey-dark);
	font-size: 0.95rem;
}

/* Offre PREMIUM */

.site_home_page .home_submission_panel {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	align-items: center;
	gap: 40px;

	padding: 40px;
	border: 0;
	border-radius: 12px;
	background: radial-gradient(ellipse at bottom, var(--blue-normal) 0%, var(--blue-dark) 70%);
}

.site_home_page .home_submission_content,
.site_home_page .home_submission_actions {
	min-width: 0;
}

.site_home_page .home_submission_content h2 {
	margin: 0 0 16px;
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--white-normal);
}

.site_home_page .home_submission_content > p:not(.section_eyebrow) {
	color: var(--blue-soft);
}

.site_home_page .home_submission_benefits {
	display: grid;
	gap: 8px;

	margin: 20px 0 0;
	padding-left: 20px;
	font-size: 0.95rem;
	color: var(--white-normal);
	list-style: disc;
}

.site_home_page .home_submission_benefits li::marker {
	color: var(--yellow-normal);
}

.site_home_page .home_submission_actions {
	text-align: center;
}

.site_home_page .home_submission_actions p {
	max-width: 300px;
	margin: 12px auto 0;
	color: var(--blue-soft);
	font-size: 0.85rem;
}

/* Blog et guide */

.site_home_page .home_blog {
	background: var(--blue-soft);
}



.site_home_page .home_resource_panel {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 32px;

	padding: 28px 32px;
	border: 0;
	border-radius: 12px;
	background: var(--blue-soft);
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}

.site_home_page .home_resource_content {
	flex: 1 1 480px;
	min-width: 0;
}

.site_home_page .home_resource h3 {
	margin: 0 0 10px;
	font-size: 1.15rem;
}

.site_home_page .home_resource p {
	color: var(--grey-dark);
	font-size: 0.95rem;
}

/* Tablettes */

@media (max-width: 960px) {

	.site_home_page .home_hero {
		padding-block: 56px;
	}

	.site_home_page .home_steps {
		gap: 24px;
	}
	
	.site_home_page .home_overview_panel {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding: 32px;
	}

	.site_home_page .home_overview_actions {
		text-align: left;
	}

	.site_home_page .home_overview_actions p {
		max-width: none;
		margin-inline: 0;
	}

	.site_home_page .home_submission_panel {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding: 32px;
	}

	.site_home_page .home_submission_actions {
		text-align: left;
	}

	.site_home_page .home_submission_actions p {
		max-width: none;
		margin-inline: 0;
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.site_home_page .home_hero {
		padding-block: 40px;
	}

	.site_home_page .home_hero h1 {
		margin-bottom: 20px;
	}

	.site_home_page .home_intro {
		font-size: 1rem;
	}

	.site_home_page .home_search {
		margin-top: 24px;
	}

	.site_home_page .home_search_controls {
		flex-direction: column;
	}

	.site_home_page .home_search input {
		width: 100%;
	}

	.site_home_page .home_hero_links {
		gap: 4px 20px;
	}

	.site_home_page .home_section {
		padding-block: 36px;
	}

	.site_home_page .section_header {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		margin-bottom: 24px;
	}

	.site_home_page .section_heading {
		flex: none;
		width: 100%;
	}

	.site_home_page .home_steps {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.site_home_page .home_step_icon {
		margin-bottom: 16px;
	}
	
	.site_home_page .home_overview_panel {
		gap: 24px;
		padding: 0;
	}
	
	.site_home_page .home_submission{
		padding:0;
	}

	.site_home_page .home_submission_panel {
		gap: 24px;
		padding: 24px;
	}

	.site_home_page .home_submission_actions .button {
		width: 100%;
	}

	.site_home_page .home_resource_panel {
		gap: 20px;
		padding: 24px;
	}

	.site_home_page .home_resource_content {
		flex-basis: 100%;
	}

	.site_home_page .home_resource .button {
		width: 100%;
	}

}

/* Réduction des animations */

@media (prefers-reduced-motion: reduce) {

	.site_home_page .button{
		transition: none;
	}

}





/* Base */

.site_single {

	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.6;
}

.site_single,
.site_single *,
.site_single *::before,
.site_single *::after {
	box-sizing: border-box;
}

.site_single a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.site_single a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.site_single a:focus-visible,
.site_single button:focus-visible,
.site_single input:focus-visible,
.site_single textarea:focus-visible,
.site_single select:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.site_single h1,
.site_single h2,
.site_single h3 {
	color: var(--blue-dark);
	line-height: 1.25;
}

.site_single h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.site_single h3 {
	margin: 0 0 16px;
	font-size: 1.2rem;
}

/* Fil d'Ariane */

.site_single .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 28px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

.site_single .breadcrumb [aria-current="page"] {
	overflow-wrap: anywhere;
}

/* En-tête */

.site_single .site_header {
	margin-bottom: 32px;
}

.site_single .site_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;

	margin-bottom: 12px;

	color: var(--grey-dark);
	font-size: 0.9rem;
}

.site_single .site_header h1 {
	margin: 0 0 16px;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	overflow-wrap: anywhere;
}

.site_single .site_review_summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
}

.site_single .stars {
	display: inline-flex;
	align-items: center;
	gap: 5px;

	color: var(--grey-normal);
	font-size: 1.2rem;
	line-height: 1;
}

.site_single .stars .highlight {
	color: var(--gold-normal);
}

.site_single .site_review_summary .reviews {
	font-size: 0.9rem;
}

/* Présentation et colonne latérale */

.site_single .site_layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: start;
	gap: 32px;
}

.site_single .site_primary,
.site_single .site_sidebar {
	min-width: 0;
}

/* Image et label */

.site_single .site_image {
	position: relative;
	overflow: hidden;

	margin-bottom: 32px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
}

.site_single .site_image > img {
	display: block;
	width: 100%;
	height: auto;
}

.site_single .site_image .label {
	position: absolute;
	top: 16px;
	left: 16px;

	display: inline-flex;
	align-items: center;
	gap: 8px;

	max-width: calc(100% - 32px);
	padding: 8px 12px;
	border-radius: 6px;

	background: var(--gold-normal);
	color: var(--white-normal);
	font-size: 0.85rem;
	font-weight: 600;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--black-normal) 12%, transparent);
}

/* Contenu WordPress */

.site_single .entry_content {
	overflow-wrap: anywhere;
}

.site_single .entry_content > :first-child {
	margin-top: 0;
}

.site_single .entry_content > :last-child {
	margin-bottom: 0;
}

.site_single .entry_content p,
.site_single .entry_content ul,
.site_single .entry_content ol {
	margin-block: 0 20px;
}

.site_single .entry_content h2,
.site_single .entry_content h3 {
	margin-top: 32px;
}

.site_single .entry_content img,
.site_single .entry_content video {
	max-width: 100%;
	height: auto;
}

.site_single .entry_content iframe {
	max-width: 100%;
}

.site_single .entry_content figure {
	max-width: 100%;
	margin-inline: 0;
}

.site_single .entry_content a {
	text-decoration: underline;
}

.site_single .entry_content blockquote {
	margin: 24px 0;
	padding: 16px 20px;
	border-left: 4px solid var(--blue-dark);
	background: var(--blue-soft);
}

/* Informations */

.site_single .site_information {
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--blue-dark);
	color: var(--white-normal);
}

.site_single .site_information h2 {
	font-size: 1.2rem;
	color: var(--white-normal);
}

.site_single .details {
	margin: 0 0 24px;
}

.site_single .details > div {
	padding-block: 14px;
	border-bottom: 1px solid var(--white-muted);
}

.site_single .details > div:first-child {
	padding-top: 0;
}

.site_single .details dt {
	margin-bottom: 4px;
	color: var(--blue-soft);
	font-size: 0.85rem;
}

.site_single .details dd {
	margin: 0;
	font-size: 0.95rem;
	overflow-wrap: anywhere;
}

/* Survol des liens du panneau d'informations */

.site_single .site_information .details a:hover {
	color: var(--yellow-lite);
}

/* Liens et focus du panneau d'informations */

.site_single .site_information a {
	color: var(--yellow-normal);
}

.site_single .site_information a:focus-visible {
	outline-color: var(--yellow-normal);
}

/* Boutons : accepte un lien direct ou un conteneur */

.site_single a.button,
.site_single .button > a,
.site_single .review_form button,
.site_single .review_form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.site_single a.button:hover,
.site_single .button > a:hover,
.site_single .review_form button:hover,
.site_single .review_form input[type="submit"]:hover {
	background: var(--yellow-hover);
	text-decoration: none;
	color: var(--black-normal);
}

.site_single .site_information .button > a {
	width: 100%;
}

.site_single .actions {
	margin-top: 16px;
	font-size: 0.85rem;
	text-align: center;
}

/* Avis */

.site_single .site_reviews {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--blue-border);
	scroll-margin-top: 24px;
}

.site_single .section_header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;

	margin-bottom: 24px;
}

.site_single .section_header h2 {
	margin: 0;
}

.site_single .reviews_list {
	display: grid;
	gap: 20px;
}

/* Ajouter class="review_item" sur chaque avis. */

.site_single .review_item {
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

.site_single .review_item > :first-child {
	margin-top: 0;
}

.site_single .review_item > :last-child {
	margin-bottom: 0;
}

.site_single .reviews_pagination:not(:empty) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}

.site_single .reviews_pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;


	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
}

.site_single .reviews_pagination .current {
	border-color: var(--blue-dark);
	background: var(--blue-dark);
	color: var(--white-normal);
}

/* Formulaire d'avis */

.site_single .review_form {
	margin-top: 32px;
	padding: 28px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
	scroll-margin-top: 24px;
}

.site_single .review_form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.site_single .review_form input:not([type]),
.site_single .review_form input[type="text"],
.site_single .review_form input[type="email"],
.site_single .review_form input[type="url"],
.site_single .review_form input[type="number"],
.site_single .review_form textarea,
.site_single .review_form select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
}

.site_single .review_form textarea {
	min-height: 160px;
	resize: vertical;
}

.site_single .review_form input[type="checkbox"] + label,
.site_single .review_form input[type="radio"] + label {
	display: inline;
	font-weight: 400;
}

/* Sites similaires */

.site_single .related_sites {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--blue-border);
}

.site_single .related_sites .cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

/* Tablettes */

@media (max-width: 960px) {

	.site_single .site_layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.site_single .related_sites .cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.site_single {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.site_single .breadcrumb {
		margin-bottom: 24px;
	}

	.site_single .site_header {
		margin-bottom: 24px;
	}

	.site_single .site_image {
		margin-bottom: 24px;
	}

	.site_single .site_information,
	.site_single .review_item,
	.site_single .review_form {
		padding: 20px;
	}

	.site_single .site_reviews,
	.site_single .related_sites {
		margin-top: 32px;
		padding-top: 24px;
	}

	.site_single .section_header {
		align-items: flex-start;
		flex-direction: column;
	}

	.site_single .related_sites .cards {
		grid-template-columns: minmax(0, 1fr);
	}

}

@media (prefers-reduced-motion: reduce) {

	.site_single a.button,
	.site_single .button > a,
	.site_single .review_form button,
	.site_single .review_form input[type="submit"] {
		transition: none;
	}

}





/* Base */

.post_single {

	width: min(1100px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.7;
}

.post_single,
.post_single *,
.post_single *::before,
.post_single *::after {
	box-sizing: border-box;
}

.post_single a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.post_single a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.post_single a:focus-visible,
.post_single button:focus-visible,
.post_single input:focus-visible,
.post_single textarea:focus-visible,
.post_single select:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.post_single h1,
.post_single h2,
.post_single h3,
.post_single h4 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.post_single h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.post_single h3 {
	margin: 0 0 16px;
	font-size: 1.2rem;
}

/* Fil d'Ariane */

.post_single .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 32px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

.post_single .breadcrumb [aria-current="page"] {
	overflow-wrap: anywhere;
}

/* Article */

.post_single .post_sheet {
	max-width: 850px;
	margin-inline: auto;
}

.post_single .post_header {
	margin-bottom: 28px;
}

.post_single .post_categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.post_single .post_categories .category {
	display: inline-block;
	padding: 5px 12px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 6px;

	background: var(--blue-soft);
	font-size: 0.85rem;
	font-weight: 600;
}

.post_single .post_header h1 {
	margin: 0 0 20px;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
}

.post_single .post_meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

/* Image mise en avant */

.post_single .post_image {
	margin: 0 0 32px;
}

.post_single .post_image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.post_single .post_image figcaption {
	margin-top: 10px;
	color: var(--grey-dark);
	font-size: 0.85rem;
	text-align: center;
}

/* Contenu WordPress */

.post_single .entry_content {
	font-size: 1.05rem;
	overflow-wrap: anywhere;
}

.post_single .entry_content > :first-child {
	margin-top: 0;
}

.post_single .entry_content > :last-child {
	margin-bottom: 0;
}

.post_single .entry_content p,
.post_single .entry_content ul,
.post_single .entry_content ol {
	margin-block: 0 24px;
}

.post_single .entry_content ul,
.post_single .entry_content ol {
	padding-left: 24px;
}

.post_single .entry_content li + li {
	margin-top: 8px;
}

.post_single .entry_content li > ul,
.post_single .entry_content li > ol {
	margin-block: 8px;
}

.post_single .entry_content h2 {
	margin-top: 40px;
}

.post_single .entry_content h3,
.post_single .entry_content h4 {
	margin-top: 32px;
}

.post_single .entry_content a {
	text-decoration: underline;
}

.post_single .entry_content img,
.post_single .entry_content video {
	max-width: 100%;
	height: auto;
}

.post_single .entry_content iframe {
	max-width: 100%;
}

.post_single .entry_content figure {
	max-width: 100%;
	margin-block: 28px;
	margin-inline: 0;
}

.post_single .entry_content figcaption {
	margin-top: 8px;
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.post_single .entry_content blockquote {
	margin: 28px 0;
	padding: 20px 24px;
	border-left: 4px solid var(--blue-dark);
	background: var(--blue-soft);
}

.post_single .entry_content blockquote > :last-child {
	margin-bottom: 0;
}

.post_single .entry_content blockquote cite {
	display: block;
	margin-top: 12px;
	color: var(--grey-dark);
	font-size: 0.9rem;
}

.post_single .entry_content hr {
	margin-block: 32px;
	border: 0;
	border-top: 1px solid var(--blue-border);
}

/* Tableaux et code */

.post_single .entry_content .wp-block-table {
	overflow-x: auto;
}

.post_single .entry_content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.post_single .entry_content th,
.post_single .entry_content td {
	padding: 12px 16px;
	border: 1px solid var(--blue-border);
	text-align: left;
	vertical-align: top;
}

.post_single .entry_content th {
	background: var(--blue-soft);
	font-weight: 600;
}

.post_single .entry_content pre {
	max-width: 100%;
	overflow-x: auto;

	margin-block: 24px;
	padding: 20px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 6px;
	background: var(--blue-soft);

	font-size: 0.9rem;
	overflow-wrap: normal;
}

.post_single .entry_content :not(pre) > code {
	padding: 2px 5px;
	border-radius: 4px;
	background: var(--blue-soft);
	font-size: 0.9em;
}

/* Pagination interne */

.post_single .post_pages:not(:empty) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 28px;
}

.post_single .post_pages .post-page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
}

.post_single .post_pages .current {
	border-color: var(--blue-dark);
	background: var(--blue-dark);
	color: var(--white-normal);
}

/* Pied d'article et étiquettes */

.post_single .post_footer {
	margin-top: 36px;
	padding-top: 24px;
	border-top: 1px solid var(--blue-border);
}

.post_single .post_tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;

	font-size: 0.85rem;
}

.post_single .post_tags > span {
	color: var(--grey-dark);
}

.post_single .post_tags a {
	padding: 4px 10px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 6px;
	background: var(--blue-soft);
}

/* Auteur */

.post_single .author_box {
	display: flex;
	align-items: flex-start;
	gap: 20px;

	margin-top: 28px;
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	/*background: var(--blue-soft);*/
}

.post_single .author_avatar {
	flex: 0 0 72px;
}

.post_single .author_avatar img {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
}

.post_single .author_content {
	min-width: 0;
}

.post_single .author_content h2 {
	margin-bottom: 10px;
	font-size: 1.15rem;
}

.post_single .author_content p {
	margin: 0 0 12px;
	font-size: 0.95rem;
}

.post_single .author_content > a {
	font-size: 0.9rem;
	font-weight: 600;
}

/* Navigation entre articles */

.post_single .post_navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;

	max-width: 850px;
	margin: 40px auto 0;
}

.post_single .post_navigation > a {
	display: flex;
	flex-direction: column;
	gap: 8px;

	padding: 20px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
}

.post_single .post_navigation > a:hover {
	border-color: var(--blue-border-hover);
	background: var(--blue-soft);
	text-decoration: none;
	color: var(--blue-hover);
}

.post_single .post_navigation .label {
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.post_single .post_navigation .title {
	font-weight: 600;
	line-height: 1.4;
}

.post_single .post_navigation .next {
	grid-column: 2;
	text-align: right;
}

/* Articles similaires */

.post_single .related_posts {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--blue-border);
}

.post_single .related_posts .cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.post_single .related_posts .post_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

.post_single .related_posts .post_card .image img {
	display: block;
	width: 100%;
	aspect-ratio: 720 / 438;
	object-fit: cover;
}

.post_single .related_posts .post_card .content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.post_single .related_posts .post_card .meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;

	margin-bottom: 12px;
	color: var(--grey-dark);
	font-size: 0.8rem;
}

.post_single .related_posts .post_card h3 {
	margin: 0 0 12px;
	font-size: 1.1rem;
}

.post_single .related_posts .post_card p {
	margin: 0 0 20px;
	font-size: 0.95rem;
}

.post_single .related_posts .post_card .button {
	margin-top: auto;
}

/* Boutons */

.post_single .button > a,
.post_single a.button,
.post_single .post_comments .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.post_single .button > a:hover,
.post_single a.button:hover,
.post_single .post_comments .submit:hover {
	background: var(--yellow-hover);
	text-decoration: none;
	color: var(--black-normal);
}

/* Commentaires WordPress */

.post_single .post_comments {
	max-width: 850px;
	margin: 48px auto 0;
	padding-top: 32px;
	border-top: 1px solid var(--blue-border);
	scroll-margin-top: 24px;
}

.post_single .post_comments .comment-list,
.post_single .post_comments .children {
	padding: 0;
	list-style: none;
}

.post_single .post_comments .comment-list {
	margin: 24px 0;
}

.post_single .post_comments .children {
	margin: 20px 0 0 24px;
}

.post_single .post_comments .comment-body {
	margin-bottom: 20px;
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
	overflow-wrap: anywhere;
}

.post_single .post_comments .comment-author .avatar {
	float: left;
	width: 44px;
	height: 44px;
	margin-right: 12px;
	border-radius: 50%;
}

.post_single .post_comments .comment-metadata {
	margin-top: 4px;
	color: var(--grey-dark);
	font-size: 0.8rem;
}

.post_single .post_comments .comment-content {
	clear: both;
	padding-top: 16px;
}

.post_single .post_comments .comment-content > :last-child {
	margin-bottom: 0;
}

.post_single .post_comments .reply {
	margin-top: 12px;
	font-size: 0.85rem;
	font-weight: 600;
}

.post_single .post_comments .comment-respond {
	margin-top: 32px;
	padding: 28px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
}

.post_single .post_comments .comment-form p {
	margin: 0 0 20px;
}

.post_single .post_comments .comment-form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.post_single .post_comments input[type="text"],
.post_single .post_comments input[type="email"],
.post_single .post_comments input[type="url"],
.post_single .post_comments textarea {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
}

.post_single .post_comments textarea {
	min-height: 160px;
	resize: vertical;
}

.post_single .post_comments .comment-form-cookies-consent label {
	display: inline;
	font-size: 0.9rem;
	font-weight: 400;
}

.post_single .post_comments .form-submit {
	margin-bottom: 0;
}

/* Tablettes */

@media (max-width: 960px) {

	.post_single .related_posts .cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.post_single {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.post_single .breadcrumb {
		margin-bottom: 24px;
	}

	.post_single .post_meta {
		flex-direction: column;
		gap: 6px;
	}

	.post_single .entry_content {
		font-size: 1rem;
	}

	.post_single .author_box {
		flex-direction: column;
		padding: 20px;
	}

	.post_single .author_avatar {
		flex-basis: auto;
	}

	.post_single .post_navigation {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
		margin-top: 32px;
	}

	.post_single .post_navigation .next {
		grid-column: auto;
		text-align: left;
	}

	.post_single .related_posts,
	.post_single .post_comments {
		margin-top: 32px;
		padding-top: 24px;
	}

	.post_single .related_posts .cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.post_single .post_comments .comment-body,
	.post_single .post_comments .comment-respond {
		padding: 20px;
	}

	.post_single .post_comments .children {
		margin-left: 12px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.post_single .button > a,
	.post_single a.button,
	.post_single .post_comments .submit {
		transition: none;
	}

}




/* Base */

.page_single {

	width: min(1100px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.7;
}

.page_single,
.page_single *,
.page_single *::before,
.page_single *::after {
	box-sizing: border-box;
}

.page_single a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.page_single a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.page_single a:focus-visible,
.page_single button:focus-visible,
.page_single input:focus-visible,
.page_single textarea:focus-visible,
.page_single select:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.page_single h1,
.page_single h2,
.page_single h3,
.page_single h4,
.page_single h5,
.page_single h6 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.page_single h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

.page_single h3 {
	margin: 0 0 16px;
	font-size: 1.2rem;
}

/* Fil d'Ariane */

.page_single .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 32px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

.page_single .breadcrumb [aria-current="page"] {
	overflow-wrap: anywhere;
}

/* Page et titre */

.page_single .page_sheet {
	max-width: 850px;
	margin-inline: auto;
}

.page_single .page_header {
	margin-bottom: 28px;
}

.page_single .page_header h1 {
	margin: 0;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
}

/* Image mise en avant */

.page_single .page_image {
	margin: 0 0 32px;
}

.page_single .page_image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}

.page_single .page_image figcaption {
	margin-top: 10px;
	color: var(--grey-dark);
	font-size: 0.85rem;
	text-align: center;
}

/* Contenu WordPress */

.page_single .entry_content {
	font-size: 1.05rem;
	overflow-wrap: anywhere;
}

.page_single .entry_content > :first-child {
	margin-top: 0;
}

.page_single .entry_content > :last-child {
	margin-bottom: 0;
}

.page_single .entry_content p,
.page_single .entry_content ul,
.page_single .entry_content ol {
	margin-block: 0 24px;
}

.page_single .entry_content ul,
.page_single .entry_content ol {
	padding-left: 24px;
}

.page_single .entry_content li + li {
	margin-top: 8px;
}

.page_single .entry_content li > ul,
.page_single .entry_content li > ol {
	margin-block: 8px;
}

.page_single .entry_content h2 {
	margin-top: 40px;
}

.page_single .entry_content h3,
.page_single .entry_content h4,
.page_single .entry_content h5,
.page_single .entry_content h6 {
	margin-top: 32px;
}

.page_single .entry_content a {
	text-decoration: underline;
}

.page_single .entry_content img,
.page_single .entry_content video {
	max-width: 100%;
	height: auto;
}

.page_single .entry_content iframe {
	max-width: 100%;
}

.page_single .entry_content figure {
	max-width: 100%;
	margin-block: 28px;
	margin-inline: 0;
}

.page_single .entry_content figcaption {
	margin-top: 8px;
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.page_single .entry_content blockquote {
	margin: 28px 0;
	padding: 20px 24px;
	border-left: 4px solid var(--blue-dark);
	background: var(--blue-lite);
}

.page_single .entry_content blockquote > :last-child {
	margin-bottom: 0;
}

.page_single .entry_content blockquote cite {
	display: block;
	margin-top: 12px;
	color: var(--grey-dark);
	font-size: 0.9rem;
}

.page_single .entry_content hr {
	margin-block: 32px;
	border: 0;
	border-top: 1px solid var(--blue-border);
}

/* Tableaux et code */

.page_single .entry_content .wp-block-table {
	overflow-x: auto;
}

.page_single .entry_content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.page_single .entry_content th,
.page_single .entry_content td {
	padding: 12px 16px;
	border: 1px solid var(--blue-border);
	text-align: left;
	vertical-align: top;
}

.page_single .entry_content th {
	background: var(--blue-lite);
	font-weight: 600;
}

.page_single .entry_content pre {
	max-width: 100%;
	overflow-x: auto;

	margin-block: 24px;
	padding: 20px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
	background: var(--blue-lite);

	font-size: 0.9rem;
	overflow-wrap: normal;
}

.page_single .entry_content :not(pre) > code {
	padding: 2px 5px;
	border-radius: 4px;
	background: var(--blue-lite);
	font-size: 0.9em;
}

/* Pagination interne */

.page_single .page_pages:not(:empty) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 28px;
}

.page_single .page_pages .post-page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
}

.page_single .page_pages .current {
	border-color: var(--blue-dark);
	background: var(--blue-dark);
	color: var(--white-normal);
}

/* Boutons */

.page_single a.button,
.page_single .button > a,
.page_single .entry_content .wp-block-button__link,
.page_single button,
.page_single input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.page_single a.button:hover,
.page_single .button > a:hover,
.page_single .entry_content .wp-block-button__link:hover,
.page_single button:hover,
.page_single input[type="submit"]:hover {
	background: var(--yellow-hover);
	text-decoration: none;
	color: var(--black-normal);
}

/* Formulaires */

.page_single form label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.page_single input:not([type]),
.page_single input[type="text"],
.page_single input[type="email"],
.page_single input[type="url"],
.page_single input[type="tel"],
.page_single input[type="number"],
.page_single input[type="password"],
.page_single input[type="search"],
.page_single input[type="date"],
.page_single textarea,
.page_single select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
}

.page_single textarea {
	min-height: 160px;
	resize: vertical;
}

.page_single input[type="checkbox"] + label,
.page_single input[type="radio"] + label {
	display: inline;
	font-weight: 400;
}

/* Commentaires WordPress */

.page_single .page_comments {
	max-width: 850px;
	margin: 48px auto 0;
	padding-top: 32px;
	border-top: 1px solid var(--blue-border);
	scroll-margin-top: 24px;
}

.page_single .page_comments .comment-list,
.page_single .page_comments .children {
	padding: 0;
	list-style: none;
}

.page_single .page_comments .comment-list {
	margin: 24px 0;
}

.page_single .page_comments .children {
	margin: 20px 0 0 24px;
}

.page_single .page_comments .comment-body {
	margin-bottom: 20px;
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
	overflow-wrap: anywhere;
}

.page_single .page_comments .comment-author .avatar {
	float: left;
	width: 44px;
	height: 44px;
	margin-right: 12px;
	border-radius: 50%;
}

.page_single .page_comments .comment-metadata {
	margin-top: 4px;
	color: var(--grey-dark);
	font-size: 0.8rem;
}

.page_single .page_comments .comment-content {
	clear: both;
	padding-top: 16px;
}

.page_single .page_comments .comment-content > :last-child {
	margin-bottom: 0;
}

.page_single .page_comments .reply {
	margin-top: 12px;
	font-size: 0.85rem;
	font-weight: 600;
}

.page_single .page_comments .comment-respond {
	margin-top: 32px;
	padding: 28px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-lite);
}

.page_single .page_comments .comment-form p {
	margin: 0 0 20px;
}

.page_single .page_comments .comment-form-cookies-consent label {
	display: inline;
	font-size: 0.9rem;
	font-weight: 400;
}

.page_single .page_comments .form-submit {
	margin-bottom: 0;
}

/* Mobiles */

@media (max-width: 600px) {

	.page_single {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.page_single .breadcrumb {
		margin-bottom: 24px;
	}

	.page_single .page_header {
		margin-bottom: 24px;
	}

	.page_single .page_image {
		margin-bottom: 24px;
	}

	.page_single .entry_content {
		font-size: 1rem;
	}

	.page_single .entry_content blockquote {
		padding: 16px 20px;
	}

	.page_single .page_comments {
		margin-top: 32px;
		padding-top: 24px;
	}

	.page_single .page_comments .comment-body,
	.page_single .page_comments .comment-respond {
		padding: 20px;
	}

	.page_single .page_comments .children {
		margin-left: 12px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.page_single a.button,
	.page_single .button > a,
	.page_single .entry_content .wp-block-button__link,
	.page_single button,
	.page_single input[type="submit"] {
		transition: none;
	}

}





/* Base */

.site_archive {

	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.6;
}

.site_archive,
.site_archive *,
.site_archive *::before,
.site_archive *::after {
	box-sizing: border-box;
}

.site_archive a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.site_archive a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.site_archive a:focus-visible,
.site_archive button:focus-visible,
.site_archive input:focus-visible,
.site_archive select:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.site_archive h1,
.site_archive h2,
.site_archive h3 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.site_archive h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

/* Fil d'Ariane */

.site_archive .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 32px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

/* En-tête */

.site_archive .archive_header {
	margin-bottom: 32px;
}

.site_archive .archive_header h1 {
	margin: 0 0 16px;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
}

.site_archive .archive_description {
	max-width: 800px;
	color: var(--grey-dark);
}

.site_archive .archive_description > :first-child {
	margin-top: 0;
}

.site_archive .archive_description > :last-child {
	margin-bottom: 0;
}

/* Filtres */

.site_archive .site_filters {
	margin-bottom: 36px;
	padding: 24px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
}

.site_archive .site_filters h2 {
	font-size: 1.2rem;
}

.site_archive .site_filters form {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: end;
	gap: 20px;
}

.site_archive .filter_field {
	min-width: 0;
}

.site_archive .filter_field label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.9rem;
	font-weight: 600;
}

.site_archive .filter_field input,
.site_archive .filter_field select {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
}

.site_archive .filter_field input::placeholder {
	color: var(--grey-dark);
}

.site_archive .filter_actions {
	grid-column: 1 / -1;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.site_archive .filter_actions .reset {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 0.9rem;
}

/* Boutons */

.site_archive .filter_actions button,
.site_archive .button > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.site_archive .filter_actions button:hover,
.site_archive .button > a:hover {
	background: var(--yellow-hover);
	text-decoration: none;
	color: var(--black-normal);
}

/* Résultats */

.site_archive .results_header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 24px;

	margin-bottom: 24px;
}

.site_archive .results_header h2 {
	margin: 0;
}

.site_archive .results_count {
	margin: 0;
	color: var(--grey-dark);
	font-size: 0.9rem;
}

.site_archive .cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}



/* Aucun résultat */

.site_archive .empty_results {
	padding: 40px 24px;
	border: 1px dashed var(--grey-normal);
	border-radius: 12px;
	background: var(--blue-soft);
	text-align: center;
}

.site_archive .empty_results p {
	margin: 0 0 12px;
}

.site_archive .empty_results a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
}

/* Pagination WordPress */

.site_archive .pagination {
	margin-top: 32px;
}

.site_archive .pagination,
.site_archive .pagination .nav-links,
.site_archive .pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.site_archive .pagination ul.page-numbers {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site_archive .pagination a.page-numbers,
.site_archive .pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
}

.site_archive .pagination a.page-numbers:hover {
	border-color: var(--blue-border-hover);
	background: var(--blue-soft);
	text-decoration: none;
	color: var(--blue-hover);
}

.site_archive .pagination .page-numbers.current {
	border-color: var(--blue-dark);
	background: var(--blue-dark);
	color: var(--white-normal);
}

.site_archive .pagination .page-numbers.dots {
	border-color: transparent;
}

/* Proposition de site */

.site_archive .site_submission {
	margin-top: 48px;
	padding: 32px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	/*background: var(--blue-soft);*/
	text-align: center;
}

.site_archive .site_submission h2 {
	margin-bottom: 12px;
}

.site_archive .site_submission p {
	margin: 0 0 24px;
	color: var(--grey-dark);
}

/* Tablettes */

@media (max-width: 960px) {

	.site_archive .site_filters form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site_archive .cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.site_archive {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.site_archive .breadcrumb {
		margin-bottom: 24px;
	}

	.site_archive .archive_header {
		margin-bottom: 24px;
	}

	.site_archive .site_filters {
		margin-bottom: 28px;
		padding: 20px;
	}

	.site_archive .site_filters form {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.site_archive .filter_actions button {
		width: 100%;
	}

	.site_archive .results_header {
		flex-direction: column;
		gap: 8px;
	}

	.site_archive .cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.site_archive .site_submission {
		margin-top: 32px;
		padding: 24px 20px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.site_archive .filter_actions button,
	.site_archive .button > a {
		transition: none;
	}

}






/* Base */

.post_archive {

	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.6;
}

.post_archive,
.post_archive *,
.post_archive *::before,
.post_archive *::after {
	box-sizing: border-box;
}

.post_archive a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.post_archive a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.post_archive a:focus-visible,
.post_archive button:focus-visible,
.post_archive input:focus-visible,
.post_archive select:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.post_archive h1,
.post_archive h2,
.post_archive h3 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.post_archive h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

/* Fil d'Ariane */

.post_archive .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 32px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

/* En-tête */

.post_archive .archive_header {
	margin-bottom: 32px;
}

.post_archive .archive_header h1 {
	margin: 0 0 16px;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
}

.post_archive .archive_description {
	max-width: 800px;
	color: var(--grey-dark);
}

.post_archive .archive_description > :first-child {
	margin-top: 0;
}

.post_archive .archive_description > :last-child {
	margin-bottom: 0;
}

/* Filtres */

.post_archive .post_filters {
	margin-bottom: 36px;
	padding: 24px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	/*background: var(--blue-soft);*/
}

.post_archive .post_filters h2 {
	font-size: 1.2rem;
}

.post_archive .post_filters form {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	align-items: end;
	gap: 20px;
}

.post_archive .filter_field {
	min-width: 0;
}

.post_archive .filter_field label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.9rem;
	font-weight: 600;
}

.post_archive .filter_field input,
.post_archive .filter_field select {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
}

.post_archive .filter_field input::placeholder {
	color: var(--grey-dark);
}

.post_archive .filter_actions {
	grid-column: 1 / -1;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.post_archive .filter_actions .reset {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 0.9rem;
}

/* Boutons */

.post_archive .filter_actions button,
.post_archive .button > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.post_archive .filter_actions button:hover,
.post_archive .button > a:hover {
	background: var(--yellow-hover);
	text-decoration: none;
	color: var(--black-normal);
}

/* Résultats */

.post_archive .results_header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 24px;

	margin-bottom: 24px;
}

.post_archive .results_header h2 {
	margin: 0;
}

.post_archive .results_count {
	margin: 0;
	color: var(--grey-dark);
	font-size: 0.9rem;
}

.post_archive .cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

/* Cartes des articles */

.post_archive .post_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

.post_archive .post_card .image {
	background: var(--blue-soft);
}

.post_archive .post_card .image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 438;
	object-fit: cover;
}

.post_archive .post_card .content {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.post_archive .post_card .meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;

	margin-bottom: 16px;
	color: var(--grey-dark);
	font-size: 0.85rem;
}

.post_archive .post_card .category {
	color: var(--blue-dark);
	font-weight: 600;
}

.post_archive .post_card h3 {
	margin: 0 0 12px;
	font-size: 1.15rem;
}

.post_archive .post_card .description p {
	margin: 0 0 20px;
	font-size: 0.95rem;
	overflow-wrap: anywhere;
}

.post_archive .post_card .button {
	margin-top: auto;
	padding-top: 4px;
}

/* Aucun résultat */

.post_archive .empty_results {
	padding: 40px 24px;
	border: 1px dashed var(--grey-normal);
	border-radius: 12px;
	background: var(--blue-soft);
	text-align: center;
}

.post_archive .empty_results p {
	margin: 0 0 12px;
}

.post_archive .empty_results a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 600;
}

/* Pagination WordPress */

.post_archive .pagination {
	margin-top: 32px;
}

.post_archive .pagination,
.post_archive .pagination .nav-links,
.post_archive .pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.post_archive .pagination ul.page-numbers {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post_archive .pagination a.page-numbers,
.post_archive .pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--blue-border);
	border-radius: 6px;
}

.post_archive .pagination a.page-numbers:hover {
	border-color: var(--blue-border-hover);
	background: var(--blue-soft);
	text-decoration: none;
	color: var(--blue-hover);
}

.post_archive .pagination .page-numbers.current {
	border-color: var(--blue-dark);
	background: var(--blue-dark);
	color: var(--white-normal);
}

.post_archive .pagination .page-numbers.dots {
	border-color: transparent;
}

/* Tablettes */

@media (max-width: 960px) {

	.post_archive .post_filters form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.post_archive .filter_field:first-child {
		grid-column: 1 / -1;
	}

	.post_archive .cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.post_archive {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.post_archive .breadcrumb {
		margin-bottom: 24px;
	}

	.post_archive .archive_header {
		margin-bottom: 24px;
	}

	.post_archive .post_filters {
		margin-bottom: 28px;
		padding: 20px;
	}

	.post_archive .post_filters form {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.post_archive .filter_actions button {
		width: 100%;
	}

	.post_archive .results_header {
		flex-direction: column;
		gap: 8px;
	}

	.post_archive .cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

}

@media (prefers-reduced-motion: reduce) {

	.post_archive .filter_actions button,
	.post_archive .button > a {
		transition: none;
	}

}






/* Base */

.site_submission_page {

	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.6;
}

.site_submission_page,
.site_submission_page *,
.site_submission_page *::before,
.site_submission_page *::after {
	box-sizing: border-box;
}

.site_submission_page a {
	color: var(--blue-dark);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.site_submission_page a:hover {
	text-decoration: underline;
	color: var(--blue-hover);
}

.site_submission_page a:focus-visible,
.site_submission_page button:focus-visible,
.site_submission_page input:focus-visible,
.site_submission_page select:focus-visible,
.site_submission_page textarea:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

.site_submission_page h1,
.site_submission_page h2,
.site_submission_page h3 {
	color: var(--blue-dark);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.site_submission_page h2 {
	margin: 0 0 20px;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
}

/* Fil d'Ariane */

.site_submission_page .breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;

	margin-bottom: 32px;

	color: var(--grey-dark);
	font-size: 0.875rem;
}

/* En-tête */

.site_submission_page .submission_header {
	margin-bottom: 28px;
}

.site_submission_page .submission_header h1 {
	margin: 0 0 16px;
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
}

.site_submission_page .submission_intro {
	max-width: 800px;
	color: var(--grey-dark);
	font-size: 1.05rem;
}

.site_submission_page .submission_intro p {
	margin: 0;
}

/* Information sur l'offre */

.site_submission_page .submission_notice {
	margin-bottom: 32px;
	padding: 20px 24px;
	border: 1px solid var(--blue-border);
	border-left: 4px solid var(--yellow-normal);
	border-radius: 6px;
	background: var(--yellow-lite);
}

.site_submission_page .submission_notice p {
	margin: 0;
	font-size: 0.95rem;
}

/* Colonnes */

.site_submission_page .submission_layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	align-items: start;
	gap: 40px;
}

.site_submission_page .submission_offer,
.site_submission_page .submission_payment {
	min-width: 0;
}

/* Présentation de l'offre */

.site_submission_page .submission_terms {
	margin: 0 0 28px;
	color: var(--grey-dark);
}

.site_submission_page .submission_benefits {
	display: grid;
	gap: 16px;

	margin: 0;
	padding: 0;
	list-style: none;
}

.site_submission_page .submission_benefits > li {
	display: flex;
	align-items: flex-start;
	gap: 16px;

	padding: 20px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

.site_submission_page .submission_benefits > li > .fa {
	display: inline-flex;
	flex: 0 0 32px;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;
	border-radius: 50%;

	background: var(--blue-soft);
	color: var(--blue-dark);
	font-size: 1rem;
}

.site_submission_page .submission_benefits > li > div {
	min-width: 0;
}

.site_submission_page .submission_benefits h3 {
	margin: 0 0 6px;
	font-size: 1.05rem;
}

.site_submission_page .submission_benefits h3 .fa-diamond {
	margin-left: 4px;
	color: var(--gold-normal);
}

.site_submission_page .submission_benefits p {
	margin: 0;
	color: var(--grey-dark);
	font-size: 0.95rem;
}

/* Paiement */

.site_submission_page .submission_payment {
	padding: 28px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
}

.site_submission_page .submission_payment h2 {
	margin-bottom: 16px;
}

.site_submission_page .submission_payment_intro {
	margin: 0 0 24px;
	color: var(--grey-dark);
	font-size: 0.95rem;
}

/* Contenu éditable WordPress */

.site_submission_page .entry_content {
	margin-bottom: 24px;
	overflow-wrap: anywhere;
}

.site_submission_page .entry_content > :first-child {
	margin-top: 0;
}

.site_submission_page .entry_content > :last-child {
	margin-bottom: 0;
}

.site_submission_page .entry_content p {
	margin: 0 0 16px;
}

.site_submission_page .entry_content ul,
.site_submission_page .entry_content ol {
	margin: 0 0 16px;
	padding-left: 24px;
}

.site_submission_page .entry_content img {
	max-width: 100%;
	height: auto;
}

.site_submission_page .entry_content a {
	text-decoration: underline;
}

/* Bouton Stripe */

.site_submission_page .submission_checkout {
	margin-block: 24px;
	text-align: center;
}

.site_submission_page stripe-buy-button {
	display: block;
	width: 100%;
}

/* Sécurité et assistance */

.site_submission_page .submission_payment_security {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px 6px;

	margin: 0;
	color: var(--grey-dark);
	font-size: 0.85rem;
	text-align: center;
}

.site_submission_page .submission_payment_security .fa {
	color: var(--green-normal);
}

.site_submission_page .submission_payment_help {
	margin: 20px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--blue-border);

	color: var(--grey-dark);
	font-size: 0.9rem;
	text-align: center;
}

/* Tablettes */

@media (max-width: 960px) {

	.site_submission_page .submission_layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

}

/* Mobiles */

@media (max-width: 600px) {

	.site_submission_page {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.site_submission_page .breadcrumb {
		margin-bottom: 24px;
	}

	.site_submission_page .submission_header {
		margin-bottom: 24px;
	}

	.site_submission_page .submission_intro {
		font-size: 1rem;
	}

	.site_submission_page .submission_notice {
		margin-bottom: 24px;
		padding: 16px 20px;
	background: var(--yellow-lite);
	border-left: 4px solid var(--yellow-normal);
}

	.site_submission_page .submission_layout {
		gap: 24px;
	}

	.site_submission_page .submission_benefits > li {
		gap: 12px;
		padding: 16px;
	}

	.site_submission_page .submission_payment {
		padding: 20px;
	}

}






/* Base */

.site_submission_form {

	width: min(1000px, calc(100% - 40px));
	margin-inline: auto;
	padding-block: 24px 64px;

	color: var(--black-normal);
	line-height: 1.6;
}

.site_submission_form,
.site_submission_form *,
.site_submission_form *::before,
.site_submission_form *::after {
	box-sizing: border-box;
}

.site_submission_form .wrapper {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.site_submission_form .clear {
	display: none;
}

.site_submission_form a {
	color: var(--blue-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.site_submission_form a:hover {
	color: var(--blue-hover);
	text-decoration: underline;
}

.site_submission_form a:focus-visible,
.site_submission_form button:focus-visible,
.site_submission_form input:focus-visible,
.site_submission_form select:focus-visible,
.site_submission_form textarea:focus-visible {
	outline: 3px solid var(--blue-dark);
	outline-offset: 4px;
}

/* En-tête */

.site_submission_form .entry_header {
	margin-bottom: 28px;
}

.site_submission_form .entry_title {
	margin: 0;
	color: var(--black-normal);
	font-size: clamp(1.9rem, 4.5vw, 3rem);
	line-height: 1.2;
	overflow-wrap: anywhere;
}

/* Formulaire */

.site_submission_form #site_form {
	margin-top: 32px;
	padding: 32px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

.site_submission_form .form_field {
	min-width: 0;
}

.site_submission_form .form_field > label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
}

.site_submission_form .required {
	color: var(--red-normal);
}

.site_submission_form .form_field input[type="text"],
.site_submission_form .form_field input[type="url"],
.site_submission_form .form_field select,
.site_submission_form .form_field textarea {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 12px 14px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
	line-height: 1.5;
}

.site_submission_form .form_field input::placeholder,
.site_submission_form .form_field textarea::placeholder {
	color: var(--grey-dark);
}

.site_submission_form .form_field textarea {
	min-height: 320px;
	resize: vertical;
}

.site_submission_form .form_field_info {
	margin: 8px 0 28px;
	color: var(--grey-dark);
	font-size: 0.875rem;
}

.site_submission_form .form_field_info .characters {
	display: block;
	margin-bottom: 8px;
	color: var(--black-normal);
	font-weight: 600;
}

/* Outils de mise en forme */

.site_submission_form #bbcodeBtns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;

	margin-bottom: 12px;
	padding: 12px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 6px;
	background: var(--blue-soft);
}

.site_submission_form .bbcode-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid var(--grey-dark);
	border-radius: 6px;

	background: var(--white-normal);
	color: var(--black-normal);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.site_submission_form .bbcode-btn:hover {
	border-color: var(--blue-border-hover);
	color: var(--blue-dark);
	background: var(--blue-soft);
	text-decoration: none;
}

/* Aperçu */

.site_submission_form #previewBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;

	min-height: 44px;
	margin-bottom: 16px;
	padding: 10px 16px;
	border: 1px solid var(--blue-dark);
	border-radius: 6px;

	background: var(--white-normal);
	font-weight: 600;
	text-decoration: none;
}

.site_submission_form #previewBtn:hover {
	background: var(--blue-soft);
	border-color: var(--blue-border-hover);
	color: var(--blue-dark);
	text-decoration: none;
}

.site_submission_form #editor_output:not(:empty) {
	margin-bottom: 24px;
	padding: 24px;
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
	overflow-wrap: anywhere;
}

.site_submission_form #editor_output > :first-child {
	margin-top: 0;
}

.site_submission_form #editor_output > :last-child {
	margin-bottom: 0;
}

.site_submission_form #editor_output img {
	max-width: 100%;
	height: auto;
}

/* Acceptation des conditions */

.site_submission_form .form_field_checkbox {
	margin-top: 16px;
	padding-top: 24px;
	border-top: 1px solid var(--blue-border);
}

.site_submission_form .form_field_checkbox > label {
	display: flex;
	align-items: flex-start;
	gap: 12px;

	margin: 0;
	font-size: 0.9rem;
	font-weight: 400;
	cursor: pointer;
}

.site_submission_form .form_field_checkbox input {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 3px 0 0;
	accent-color: var(--blue-dark);
}

/* Envoi */

.site_submission_form .form_field_submit {
	margin-top: 28px;
}

.site_submission_form .form_field_submit > label:empty {
	display: none;
}

.site_submission_form #site_submit {
	display: inline-flex;
	min-height: 46px;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: 6px;

	background: var(--yellow-normal);
	color: var(--black-normal);
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;

	transition: background-color 0.2s ease;
}

.site_submission_form #site_submit:hover {
	background: var(--yellow-hover);
	color: var(--black-normal);
}

.site_submission_form #site_submit:disabled {
	opacity: 0.6;
	cursor: wait;
}

/* Chargement et messages — affichage piloté par le JavaScript */

.site_submission_form .form_spinner {
	display: none;
	margin-top: 20px;
	color: var(--blue-dark);
	font-size: 1.5rem;
}

.site_submission_form .form_alert:empty {
	display: none;
}

.site_submission_form .form_alert:not(:empty) {
	margin-top: 20px;
	padding: 16px 20px;
	border: 1px solid var(--red-normal);
	border-radius: 6px;
	background: color-mix(in srgb, var(--red-normal) 10%, var(--white-normal));
	color: var(--black-normal);
	overflow-wrap: anywhere;
}

.site_submission_form .form_pub {
	display: none;
	margin-top: 20px;
	padding: 16px 20px;
	border: 1px solid var(--green-normal);
	border-radius: 6px;
	background: color-mix(in srgb, var(--green-normal) 8%, var(--white-normal));
	color: var(--black-normal);
}

.site_submission_form .form_alert p,
.site_submission_form .form_pub p {
	margin: 0;
}

/* Mobiles */

@media (max-width: 600px) {

	.site_submission_form {
		width: calc(100% - 32px);
		padding-block: 16px 40px;
	}

	.site_submission_form .entry_header {
		margin-bottom: 24px;
	}

	.site_submission_form #site_form {
		margin-top: 24px;
		padding: 20px;
	}

	.site_submission_form .form_field textarea {
		min-height: 260px;
	}

	.site_submission_form #editor_output:not(:empty) {
		padding: 20px;
	}

	.site_submission_form #site_submit {
		width: 100%;
	}

}

@media (prefers-reduced-motion: reduce) {

	.site_submission_form #site_submit {
		transition: none;
	}

	.site_submission_form .form_spinner .fa-spin {
		animation: none;
	}

}






/* Base */

#site_footer {

	padding-block: 48px 24px;

	background: radial-gradient(ellipse at bottom, var(--blue-normal) 0%, var(--blue-dark) 70%);
	color: var(--white-normal);
	line-height: 1.6;
}

#site_footer,
#site_footer *,

#site_footer *::before,
#site_footer *::after {
	box-sizing: border-box;
}

#site_footer .footer_inner {
	width: min(1600px, calc(100% - 40px));
	margin-inline: auto;
}

#site_footer a {
	color: var(--white-normal);
	text-decoration: none;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

#site_footer a:hover {
	color: var(--yellow-normal);
	text-decoration: underline;
}

#site_footer a:focus-visible {
	outline: 3px solid var(--white-normal);
	outline-offset: 4px;
}

#site_footer h2 {
	margin: 0 0 16px;

	color: var(--white-normal);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.3;
}

#site_footer p {
	margin: 0;
}

/* Colonnes */

#site_footer .footer_columns {
	display: grid;
	grid-template-columns:
		minmax(0, 1.4fr)
		minmax(0, 1fr)
		minmax(0, 1fr)
		minmax(0, 1.2fr);
	align-items: start;
	gap: 32px;
}

#site_footer .footer_columns > * {
	min-width: 0;
}

/* Présentation */

#site_footer .footer_logo {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	margin-bottom: 20px;
}

#site_footer .footer_logo img {
	display: block;
	width: 280px;
	max-width: 100%;
	height: auto;
}

#site_footer .footer_description {
	max-width: 320px;
	color: var(--blue-soft);
	font-size: 0.9rem;
}

/* Réseaux sociaux */

#site_footer .footer_social {
	margin-top: 20px;
}

#site_footer .footer_social ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;

	margin: 0;
	padding: 0;
	list-style: none;
}

#site_footer .footer_social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;

	background: rgba(255, 255, 255, 0.1);
	color: var(--white-normal);
	font-size: 1.1rem;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

#site_footer .footer_social a:hover {
	border-color: var(--white-muted);
	background: rgba(255, 255, 255, 0.2);
	text-decoration: none;
	color: var(--white-normal);
}

/* Navigation */

#site_footer .footer_navigation .menu {
	display: flex;
	flex-direction: column;
	gap: 4px;

	margin: 0;
	padding: 0;
	list-style: none;
}

#site_footer .footer_navigation .menu a {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding-block: 8px;

	font-size: 0.9rem;
	line-height: 1.5;
}

/* Trustpilot */

#site_footer .footer_trust p {
	color: var(--blue-soft);
	font-size: 0.9rem;
}

#site_footer .footer_trustpilot {
	margin-top: 20px;
	background: var(--blue-normal);
    padding: 15px 10px;
    border-radius: 6px;
}

#site_footer .footer_trustpilot iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	border: 0;
}

/* Bas du footer */

#site_footer .footer_bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;

	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--white-muted);

	color: var(--blue-soft);
	font-size: 0.8rem;
}

#site_footer .footer_credits {
	min-width: 0;
}

#site_footer .footer_made {
	margin-top: 6px;
}

#site_footer .footer_made .fa-heart {
	color: var(--red-normal);
}

/* Liens légaux */

#site_footer .footer_legal .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 20px;

	margin: 0;
	padding: 0;
	list-style: none;
}

#site_footer .footer_legal a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-block: 8px;
}

/* Texte accessible */

#site_footer .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Tablettes */

@media (max-width: 960px) {

	#site_footer .footer_columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}

	#site_footer .footer_bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

}

/* Mobiles */

@media (max-width: 600px) {

	#site_footer {
		padding-block: 36px 20px;
	}

	#site_footer .footer_inner {
		width: calc(100% - 32px);
	}

	#site_footer .footer_columns {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	#site_footer .footer_logo img {
		width: 180px;
	}

	#site_footer .footer_description {
		max-width: none;
	}

	#site_footer .footer_bottom {
		margin-top: 32px;
		padding-top: 20px;
	}

	#site_footer .footer_legal .menu {
		gap: 4px 16px;
	}

}

@media (prefers-reduced-motion: reduce) {

	#site_footer .footer_social a {
		transition: none;
	}

}

/* ========================================================================== 
   PAGES INTERIEURES — accueil exclu de toutes les règles ci-dessous.
   Même largeur que main .wrapper : 1600px, avec 20px de marge de chaque côté.
   ========================================================================== */

#site:has(main#main:not(.site_home_page)) {
	background: var(--blue-lite);
}

main#main:not(.site_home_page) {
	width: min(1600px, calc(100% - 40px));
	max-width: none;
	margin-inline: auto;
	padding-block: 24px 64px;
	color: var(--black-normal);
	line-height: 1.7;
}

main#main:not(.site_home_page) :is(.page_sheet, .post_sheet, .site_sheet) {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}

main#main:not(.site_home_page) :is(.wrapper, .archive_description, .submission_intro) {
	width: 100%;
	max-width: none;
}

main#main:not(.site_home_page) .breadcrumb {
	display: block;
	margin: 0 0 24px;
	padding: 0;
	color: var(--grey-dark);
	font-size: .9rem;
	overflow-wrap: anywhere;
}

main#main:not(.site_home_page) .breadcrumb a {
	color: var(--blue-dark);
}

/* En-têtes communs : bleu foncé, titre blanc, liens jaunes. */
main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .submission_header) {
	margin: 0 0 32px;
	padding: clamp(24px, 3vw, 48px);
	border-radius: 12px;
	background: var(--blue-dark);
	color: var(--white-normal);
}

main#main:not(.site_home_page) :is(.page_sheet, .post_sheet, .site_sheet) > :is(.page_header, .post_header, .archive_header, .site_header) {
	border-radius: 11px 11px 0 0;
}

main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .submission_header) h1 {
	margin: 0;
	color: var(--white-normal);
	font-size: clamp(1.8rem, 3.5vw, 3rem);
	line-height: 1.2;
}

main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .submission_header) :is(p, .post_meta, .site_meta, .archive_description, .submission_intro) {
	color: var(--blue-soft);
}

main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .submission_header) a {
	color: var(--yellow-normal);
}

main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .submission_header) a:hover {
	color: var(--yellow-lite);
}

main#main:not(.site_home_page) :is(.post_meta, .site_review_summary, .archive_header .archive_description) {
	margin-top: 16px;
}

main#main:not(.site_home_page) .post_categories .category {
	border-color: var(--white-muted);
	background: transparent;
}

main#main:not(.site_home_page) .post_categories .category:hover {
	background: var(--blue-hover);
}

main#main:not(.site_home_page) .site_header .stars {
	color: var(--white-muted);
}

main#main:not(.site_home_page) .site_header .stars .highlight {
	color: var(--yellow-normal);
}

/* Contenu et médias : les anciennes limites de 850px sont supprimées. */
main#main:not(.site_home_page) :is(.page_sheet, .post_sheet) > .entry_content {
	padding: 0 clamp(20px, 2.5vw, 40px) 32px;
}

main#main:not(.site_home_page) :is(.page_image, .post_image) {
	margin: 0 clamp(20px, 2.5vw, 40px) 32px;
	background: var(--blue-soft);
    text-align: center;
    border-radius: 12px;
    padding: 30px;
}

main#main:not(.site_home_page) :is(.page_image, .post_image) img {
	width: auto;
	max-height: 540px;
	/*object-fit: cover;*/
	border-radius: 12px;
	margin: 0 auto;
}

main#main:not(.site_home_page) .entry_content {
	min-width: 0;
	max-width: none;
	font-size: 1.05rem;
	overflow-wrap: anywhere;
}

main#main:not(.site_home_page) .entry_content :is(p, ul, ol) {
	margin-block: 0 20px;
}

main#main:not(.site_home_page) .entry_content :is(ul, ol) {
	padding-left: 24px;
}

main#main:not(.site_home_page) .entry_content ul { list-style: disc; }
main#main:not(.site_home_page) .entry_content ol { list-style: decimal; }
main#main:not(.site_home_page) .entry_content li + li { margin-top: 8px; }

main#main:not(.site_home_page) .entry_content :is(h2, h3, h4) {
	margin: 32px 0 16px;
	color: var(--blue-dark);
	line-height: 1.3;
}

main#main:not(.site_home_page) .entry_content > :first-child { margin-top: 0; }
main#main:not(.site_home_page) .entry_content > :last-child { margin-bottom: 0; }

main#main:not(.site_home_page) .entry_content blockquote {
	margin: 24px 0;
	padding: 20px 24px;
	border-left: 4px solid var(--blue-dark);
	border-radius: 0 8px 8px 0;
	background: var(--blue-soft);
}

main#main:not(.site_home_page) .entry_content :is(img, video, iframe, figure) { max-width: 100%; }
main#main:not(.site_home_page) .entry_content :is(img, video) { height: auto; margin: 30px 0; border-radius: 12px; }
main#main:not(.site_home_page) .entry_content figure { margin-inline: 0; }
main#main:not(.site_home_page) .entry_content table { width: 100%; }
main#main:not(.site_home_page) .entry_content :is(th, td) {
	padding: 12px 16px;
	border: 1px solid var(--blue-border-hover);
	text-align: left;
}
main#main:not(.site_home_page) .entry_content th { background: var(--blue-soft); }
main#main:not(.site_home_page) .wp-block-table { overflow-x: auto; }
main#main:not(.site_home_page) .entry_content pre { overflow-x: auto; padding: 20px; background: var(--blue-lite); }

/* Toutes les listes de fiches, d'articles et de catégories sur bleu doux. */
main#main:not(.site_home_page) :is(.site_results, .post_results, .category_results, .type_results, .related_sites, .related_posts, .account_sites_group) {
	margin-top: 32px;
	padding: clamp(20px, 2.5vw, 32px);
	/*border: 1px solid var(--blue-border);*/
	border-radius: 12px;
	background: var(--blue-soft);
}

main#main:not(.site_home_page) :is(.cards, .site_grid, .post_grid, .site_term_grid) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 24px;
	border-radius: 12px;
	background: var(--blue-soft);
	list-style: none;
}

main#main:not(.site_home_page) :is(.site_results, .post_results, .category_results, .type_results, .related_sites, .related_posts, .account_sites_group) > :is(.cards, .site_grid, .post_grid, .site_term_grid) {
	padding: 0;
}

main#main:not(.site_home_page) :is(.results_header, .section_header) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 0 0 24px;
}

main#main:not(.site_home_page) :is(.results_header, .section_header) h2 { margin: 0; }
main#main:not(.site_home_page) .results_count { margin: 0; color: var(--grey-dark); }

main#main:not(.site_home_page) :is(.site_card, .post_card) {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
	/*box-shadow: 0 4px 16px color-mix(in srgb, var(--blue-dark) 6%, transparent);*/
	transition: border-color .2s ease/*, box-shadow .2s ease*/;
}

main#main:not(.site_home_page) :is(.site_card, .post_card):hover {
	border-color: var(--blue-border-hover);
	/*box-shadow: 0 8px 24px color-mix(in srgb, var(--blue-dark) 10%, transparent);*/
}

main#main:not(.site_home_page) :is(.site_card, .post_card) .content { padding: 24px; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .image img { aspect-ratio: 720 / 438; object-fit: cover; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin-bottom: 12px;
	font-size: .85rem;
}
main#main:not(.site_home_page) :is(.site_card, .post_card) h3 { margin: 0 0 12px; font-size: 1.15rem; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .description p { margin: 0 0 20px; font-size: .95rem; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .stars .highlight { color: var(--green-normal); }
main#main:not(.site_home_page) .site_card .label { color: var(--black-normal); }

main#main:not(.site_home_page) .site_term_card { background: var(--white-normal); border: 1px solid var(--blue-border); }
main#main:not(.site_home_page) .site_term_card a { align-items: center; min-height: 100px; }
main#main:not(.site_home_page) .site_term_card a .image { flex: 0 0 88px; width: 88px; align-self: stretch; height: auto; }
main#main:not(.site_home_page) .site_term_card a .content { flex: 1; width: auto; min-width: 0; height: auto; padding: 16px; }
main#main:not(.site_home_page) .site_term_card a .content h3 { white-space: normal; font-size: 1rem; }
main#main:not(.site_home_page) .site_term_card a:hover { background: var(--blue-lite); color: var(--blue-hover); text-decoration: none; }

/* Boutons : pas de double padding lorsque .button est un conteneur. */
main#main:not(.site_home_page) div.button {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

main#main:not(.site_home_page) :is(a.button, .button > a, input[type="submit"], button[type="submit"], .wp-block-button__link) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	max-width: 100%;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: var(--yellow-normal);
	color: var(--black-dark);
	font: inherit;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	box-shadow: none;
	transition: background-color .2s ease, border-color .2s ease;
}

main#main:not(.site_home_page) :is(a.button, .button > a, input[type="submit"], button[type="submit"], .wp-block-button__link):hover {
	background: var(--yellow-hover);
	color: var(--black-dark);
	text-decoration: none;
}

main#main:not(.site_home_page) :is(.site_card, .post_card) .button { margin-top: auto; padding-top: 8px; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .button > a { background: var(--blue-soft); color: var(--blue-dark); font-size: .9rem; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .button > a:hover { background: var(--blue-dark); color: var(--white-normal); }
main#main:not(.site_home_page) :is(input[type="submit"], button):disabled { background: var(--grey-lite); color: var(--grey-dark); cursor: not-allowed; box-shadow: none; }

/* Filtres et formulaires communs, y compris ceux générés par les shortcodes. */
main#main:not(.site_home_page) :is(.site_filters, .post_filters) {
	margin: 32px 0;
	padding: 24px 32px;
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--white-normal);
}
main#main:not(.site_home_page) :is(.site_filters, .post_filters) form { gap: 20px; }
main#main:not(.site_home_page) .form_field { min-width: 0; margin: 0 0 20px; }
main#main:not(.site_home_page) :is(.form_field > label, .filter_field > label, .search_form > label) { display: block; margin-bottom: 8px; font-weight: 600; }
main#main:not(.site_home_page) :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="search"], input[type="number"], select, textarea) {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--blue-border-hover);
	border-radius: 6px;
	background: var(--white-normal);
	color: var(--black-normal);
	font: inherit;
	line-height: 1.5;
}
main#main:not(.site_home_page) textarea { min-height: 180px; resize: vertical; }
main#main:not(.site_home_page) input:disabled { background: var(--grey-lite); color: var(--grey-dark); }
main#main:not(.site_home_page) :is(input, textarea)::placeholder { color: var(--grey-dark); opacity: 1; }
main#main:not(.site_home_page) :is(input[type="checkbox"], input[type="radio"]) { flex: 0 0 auto; width: 20px; height: 20px; margin: 4px 0 0; accent-color: var(--blue-dark); }
main#main:not(.site_home_page) .form_field_checkbox > label { display: flex; align-items: flex-start; gap: 12px; font-weight: 400; cursor: pointer; }
main#main:not(.site_home_page) .form_field_info { margin: -8px 0 24px; color: var(--grey-dark); font-size: .9rem; }
main#main:not(.site_home_page) .characters { display: block; margin-bottom: 8px; color: var(--blue-dark); font-weight: 600; }
main#main:not(.site_home_page) .required { color: var(--blue-dark); }

main#main:not(.site_home_page) :is(#login_form, #register_form, #lost_password_form, #contact_form, #profile_form, #prefs_form, #delete_form, #site_form, .comment-respond) {
	margin-block: 24px;
	padding: clamp(20px, 2.5vw, 32px);
	border: 1px solid var(--blue-border);
	border-radius: 12px;
	background: var(--blue-lite);
}
main#main:not(.site_home_page) form > :first-child { margin-top: 0; }
main#main:not(.site_home_page) .alert { margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--blue-border-hover); border-left: 4px solid var(--blue-dark); border-radius: 6px; background: var(--blue-soft); }
main#main:not(.site_home_page) .alert p { margin: 0; }
main#main:not(.site_home_page) .account_deletion .alert { border-left-color: var(--red-normal); background: var(--red-lite); }
main#main:not(.site_home_page) .form_spinner { display: none; margin-top: 20px; color: var(--blue-dark); font-size: 1.5rem; }
main#main:not(.site_home_page) .form_alert:empty { display: none; }
main#main:not(.site_home_page) .form_alert:not(:empty) { margin-top: 20px; }
main#main:not(.site_home_page) .form_alert :is(.error, .success) { display: block; padding: 16px 20px; border-radius: 6px; border-left: 4px solid var(--red-normal); background: var(--yellow-lite); color: var(--black-normal); }
main#main:not(.site_home_page) .form_alert .success { border-left-color: var(--green-normal); background: var(--blue-soft); }
main#main:not(.site_home_page) .form_pub { display: none; margin-top: 20px; padding: 16px 20px; border-left: 4px solid var(--green-normal); border-radius: 6px; background: var(--blue-soft); }

/* Outils de rédaction et aperçu. */
main#main:not(.site_home_page) #bbcodeBtns { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 12px; padding: 12px; border-radius: 6px; background: var(--blue-soft); }
main#main:not(.site_home_page) :is(.bbcode-btn, #previewBtn) { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--blue-border-hover); border-radius: 6px; background: var(--white-normal); font-weight: 600; text-decoration: none; }
main#main:not(.site_home_page) :is(.bbcode-btn, #previewBtn):hover { background: var(--blue-dark); color: var(--white-normal); text-decoration: none; }
main#main:not(.site_home_page) #editor_output:not(:empty) { margin: 20px 0; padding: 24px; border: 1px solid var(--blue-border-hover); border-radius: 12px; background: var(--white-normal); }

/* Compte : navigation, actions et fiches de gestion. */
main#main:not(.site_home_page) .account_navigation { margin: 0 32px 32px; padding: 16px; /*border: 1px solid var(--blue-border);*/ border-radius: 12px; background: var(--blue-soft); }
main#main:not(.site_home_page) .account_navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
main#main:not(.site_home_page) .account_navigation li { margin: 0; }
main#main:not(.site_home_page) .account_navigation a { display: block; padding: 10px 16px; border-radius: 6px; background: var(--white-normal); font-weight: 600; text-decoration: none; }
main#main:not(.site_home_page) .account_navigation :is(.current-item a, a:hover) { background: var(--blue-dark); color: var(--white-normal); text-decoration: none; }
main#main:not(.site_home_page) .account_navigation .logout { background: var(--white-normal); color: var(--red-normal); }
main#main:not(.site_home_page) .account_navigation .logout:hover { background: var(--red-normal); color: var(--white-normal); }
main#main:not(.site_home_page) .account_navigation .clear { display: none; }
main#main:not(.site_home_page) .account_sites { padding: 0 32px 32px; }
main#main:not(.site_home_page) .account_site { display: flex; flex-direction: column; min-width: 0; gap: 12px; }
main#main:not(.site_home_page) .account_site .site_card { flex: 1; height: auto; }
main#main:not(.site_home_page) .account_site .go-premium a { width: 100%; background: var(--yellow-lite); border-color: var(--gold-normal); }
main#main:not(.site_home_page) .account_site .go-premium a:hover { background: var(--yellow-normal); }
main#main:not(.site_home_page) .dashboard_actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 24px; border-radius: 12px; background: var(--blue-soft); list-style: none; }
main#main:not(.site_home_page) .dashboard_actions li { margin: 0; }
main#main:not(.site_home_page) .dashboard_actions a { display: flex; align-items: center; height: 100%; padding: 24px; border: 1px solid var(--blue-border); border-radius: 12px; background: var(--white-normal); font-weight: 600; text-decoration: none; }
main#main:not(.site_home_page) .dashboard_actions a:hover { background: var(--blue-dark); color: var(--white-normal); }

/* Fiches, avis et commentaires : styles pour le HTML réellement généré. */
main#main:not(.site_home_page) .site_layout { padding: 0 32px 32px; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); }
main#main:not(.site_home_page) .site_information { background: var(--blue-dark); border-color: var(--blue-dark); }
main#main:not(.site_home_page) .site_information h2 { color: var(--white-normal); }
main#main:not(.site_home_page) .site_information .details a { color: var(--yellow-normal); }
main#main:not(.site_home_page) .site_information .details a:hover { color: var(--yellow-lite); }
main#main:not(.site_home_page) .site_information .details { list-style: none; padding: 0; }
main#main:not(.site_home_page) :is(.site_reviews, .page_comments, .post_comments) { /*margin: 32px;*/ padding: 32px; /*border: 1px solid var(--blue-border);*/ border-radius: 12px; background: var(--blue-soft); }
main#main:not(.site_home_page) :is(.comments_list, .reviews_list, .comment-list) { display: grid; gap: 20px; margin: 0; padding: 24px; border-radius: 12px; background: var(--blue-soft); list-style: none; }
main#main:not(.site_home_page) .site_reviews :is(.comments_list, .reviews_list) { padding: 0; }
main#main:not(.site_home_page) :is(.site_comment, .comment-body, .review_item, .user_comment) { min-width: 0; padding: 24px; border: 1px solid var(--blue-border); border-radius: 12px; background: var(--white-normal); overflow-wrap: anywhere; }
main#main:not(.site_home_page) .site_comment p { margin: 0; }
main#main:not(.site_home_page) .site_comment p > span { display: block; margin-bottom: 12px; color: var(--grey-dark); font-size: .9rem; }
main#main:not(.site_home_page) .site_comment .fa-check-square { color: var(--grey-normal); }
main#main:not(.site_home_page) .site_comment .fa-check-square.highlight { color: var(--green-normal); }
main#main:not(.site_home_page) .review_form { background: var(--white-normal); border-color: var(--blue-border); }
main#main:not(.site_home_page) .stars_list { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
main#main:not(.site_home_page) .stars_list a { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 6px; background: var(--blue-lite); color: var(--grey-dark); font-size: 1.8rem; text-decoration: none; }
main#main:not(.site_home_page) .stars_list a:is(:hover, .checked) { background: var(--blue-soft); color: var(--green-normal); }
main#main:not(.site_home_page) .reviews_note_preview { display: none; margin-bottom: 20px; font-weight: 600; color: var(--blue-dark); }

/* Guide, plan, navigation et pagination. */
main#main:not(.site_home_page) :is(.guide_navigation, .sitemap_navigation) { margin-top: 32px; padding: 24px; border-radius: 12px; background: var(--blue-soft); }
main#main:not(.site_home_page) .guide_chapters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
main#main:not(.site_home_page) .guide_chapters li { margin: 0; }
main#main:not(.site_home_page) .guide_chapters a { display: block; height: 100%; padding: 16px 20px; border-radius: 6px; background: var(--white-normal); font-weight: 600; text-decoration: none; }
main#main:not(.site_home_page) .guide_chapters a:hover { background: var(--blue-dark); color: var(--white-normal); }
main#main:not(.site_home_page) .post_footer { display: flex; flex-wrap: wrap; gap: 20px; /*padding: 0 32px 32px;*/ }
main#main:not(.site_home_page) :is(.post_navigation, .page_actions) { margin-block: 32px; }
main#main:not(.site_home_page) .post_navigation > a { background: var(--white-normal); }
main#main:not(.site_home_page) :is(.pagination, .page_pages, .post_pages) { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 24px 0; padding: 0; }
main#main:not(.site_home_page) .pagination ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
main#main:not(.site_home_page) :is(.pagination, .page_pages, .post_pages) :is(a, span.page-numbers, span.post-page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--blue-border-hover); border-radius: 6px; background: var(--white-normal); text-decoration: none; }
main#main:not(.site_home_page) :is(.pagination, .page_pages, .post_pages) :is(a:hover, .current) { background: var(--blue-dark); color: var(--white-normal); border-color: var(--blue-dark); }
main#main:not(.site_home_page) .empty_results { background: var(--white-normal); }
main#main:not(.site_home_page) .site_submission { margin-top: 32px; background: var(--blue-dark); color: var(--white-normal); }
main#main:not(.site_home_page) .site_submission h2 { color: var(--white-normal); }
main#main:not(.site_home_page) .site_submission p { color: var(--blue-soft); }

/* Offre Premium : les classes présentes dans le modèle remplacent les anciens noms. */
main#main:not(.site_home_page) .premium-notice { margin: 0 0 32px; padding: 20px 24px; border: 1px solid var(--blue-border-hover);border-left: 4px solid var(--gold-normal); border-radius: 6px; background: var(--yellow-lite); }
main#main:not(.site_home_page) .premium-layout { /*display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 32px; align-items: start;*/ }
main#main:not(.site_home_page) :is(.premium-copy, .premium-payment) { min-width: 0; }
main#main:not(.site_home_page) .premium-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0 32px; padding: 0; list-style: none; }
main#main:not(.site_home_page) .premium-benefit { display: flex; gap: 12px; margin: 0; padding: 20px; border: 1px solid var(--blue-border); border-radius: 12px; background: var(--blue-lite); }
main#main:not(.site_home_page) .premium-benefit strong { display: block; margin-bottom: 6px; color: var(--blue-dark); }
main#main:not(.site_home_page) .premium-benefit > div{ line-height: 1.4; }
main#main:not(.site_home_page) .premium-check { flex-shrink: 0; color: var(--green-normal); font-size: 1.3rem; font-weight: 700; }
main#main:not(.site_home_page) .site-premium { display:inline-block;margin:0 0 0 5px;padding:4px 10px;font-size:15px;background:var(--gold-normal);color:var(--white-normal);border-radius:6px;text-align:center; }

main#main:not(.site_home_page) .premium-payment { padding: 28px; /*border: 1px solid var(--blue-border-hover);*/ border-radius: 12px; background: var(--blue-soft); text-align: center; }
main#main:not(.site_home_page) .premium-payment-note { margin: 0 0 24px; }
main#main:not(.site_home_page) stripe-buy-button { display: block; max-width: 100%; margin: 0 auto; }
main#main:not(.site_home_page) .premium-payment-help { margin: 20px 0 0; font-size: .9rem; }
main#main:not(.site_home_page) :is(.ad_horizontal, .account_advertisement) { margin: 24px 32px; max-width: calc(100% - 64px); }

/* Focus visible malgré le reset historique outline: 0 !important. */
#site main#main:not(.site_home_page) :is(a, button, input, select, textarea):focus-visible {
	outline: 3px solid var(--blue-dark) !important;
	outline-offset: 3px;
}
#site main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header, .site_information) a:focus-visible {
	outline-color: var(--yellow-normal) !important;
}
main#main:not(.site_home_page) [id] { scroll-margin-top: 110px; }

@media (max-width: 1200px) {
	main#main:not(.site_home_page) :is(.cards, .site_grid, .post_grid, .site_term_grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
	main#main:not(.site_home_page) :is(.cards, .site_grid, .post_grid, .site_term_grid, .dashboard_actions) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	main#main:not(.site_home_page) :is(.site_layout, .premium-layout) { grid-template-columns: minmax(0, 1fr); }
	main#main:not(.site_home_page) :is(.site_filters, .post_filters) form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	main#main:not(.site_home_page) .account_navigation { margin-inline: 24px; }
}

@media (max-width: 600px) {
	main#main:not(.site_home_page) { width: calc(100% - 40px); padding-block: 20px 40px; }
	main#main:not(.site_home_page) :is(.page_header, .post_header, .archive_header, .site_header) { padding: 24px 20px; margin-bottom: 24px; }
	main#main:not(.site_home_page) :is(.page_sheet, .post_sheet) > .entry_content { padding: 0 20px 24px; }
	main#main:not(.site_home_page) :is(.page_image, .post_image) { margin-inline: 20px; }
	main#main:not(.site_home_page) :is(.cards, .site_grid, .post_grid, .site_term_grid, .dashboard_actions, .guide_chapters, .premium-benefits) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	main#main:not(.site_home_page) :is(.site_results, .post_results, .category_results, .type_results, .related_sites, .related_posts, .account_sites_group, .site_filters, .post_filters) { padding: 20px; }
	main#main:not(.site_home_page) :is(.site_filters, .post_filters) form { grid-template-columns: minmax(0, 1fr); }
	main#main:not(.site_home_page) :is(.site_layout, .account_sites, .post_footer) { padding-inline: 20px; }
	main#main:not(.site_home_page) :is(.site_reviews, .page_comments, .post_comments) { /*margin: 24px 20px;*/ padding: 20px; }
	main#main:not(.site_home_page) .account_navigation { margin: 0 20px 24px; padding: 12px; }
	main#main:not(.site_home_page) .account_navigation ul { flex-direction: column; }
	main#main:not(.site_home_page) .account_navigation a { padding: 12px; }
	main#main:not(.site_home_page) .premium-payment { padding: 20px; }
	main#main:not(.site_home_page) :is(.ad_horizontal, .account_advertisement) { margin-inline: 20px; max-width: calc(100% - 40px); }
	main#main:not(.site_home_page) .post_navigation { grid-template-columns: minmax(0, 1fr); }
	main#main:not(.site_home_page) .post_navigation .next { grid-column: 1; }
	main#main:not(.site_home_page) .entry_content { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	main#main:not(.site_home_page) :is(.site_card, .post_card, .button > a, a.button, input[type="submit"], button[type="submit"]) { transition: none; }
}

/* Elements annexes : aucune colonne editoriale limitee a 850px. */
main#main:not(.site_home_page) :is(.post_navigation, .post_comments, .page_comments, .author_box) { max-width: none; }
main#main:not(.site_home_page) .post_footer :is(.post_tags, .author_box) { flex-basis: 100%; }
main#main:not(.site_home_page) .site_information .details dd { color: var(--white-normal); }

/* Ajustements : les cartes reprennent les déclarations exactes de l’accueil. */
main#main:not(.site_home_page) .post_card {

	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 0;
	border-radius: 12px;
	background: var(--white-normal);
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15),0 2px 2px 0 rgba(0, 0, 0, 0.25);

}
main#main:not(.site_home_page) .post_card .image {

	position: relative;
	background: var(--blue-soft);

}
main#main:not(.site_home_page) .post_card .image > a {

	display: block;
	overflow: hidden;

}
main#main:not(.site_home_page) .post_card .image img {

	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 438;
	object-fit: cover;
	transform: scale(1.01);
	transition: all ease 0.3s;

}
main#main:not(.site_home_page) .post_card .content {

	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;

}
main#main:not(.site_home_page) .post_card .meta {

	margin-bottom: 12px;
	color: var(--grey-dark);
	font-size: 0.85rem;

}
main#main:not(.site_home_page) .post_card h3 {

	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 700;

}
main#main:not(.site_home_page) .post_card .description p {

	margin: 0 0 20px;
	font-size: 0.95rem;
	color: var(--black-normal);
	overflow-wrap: anywhere;

}
main#main:not(.site_home_page) .post_card .button {

	margin-top: auto;
	justify-content: left;
    padding: 0;

}
main#main:not(.site_home_page) .post_card .button a {

	display: inline-block;
    padding: 10px 10px 10px 16px;
	font-size: 0.9rem;
    line-height: 1;
    background: var(--blue-soft);
    color: var(--blue-dark);
    border-radius: 6px;
    text-decoration: none;
    transition: all ease 0.2s;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);

}
main#main:not(.site_home_page) .post_card .button a:hover {

	background: var(--blue-normal);
    color: var(--white-normal);

}
main#main:not(.site_home_page) .post_card:hover .image img {

	transform: scale(1.05);

}
main#main:not(.site_home_page) .site_card {

	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;

	border: 0;
	border-radius: 12px;
	background: var(--white-normal);
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);

}
main#main:not(.site_home_page) .site_card .image {

	position: relative;
	background: var(--blue-soft);

}
main#main:not(.site_home_page) .site_card .image > a {

	display: block;
	overflow: hidden;

}
main#main:not(.site_home_page) .site_card .image img {

	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 438;
	object-fit: cover;
	transform: scale(1.01);
	transition: all ease 0.3s;

}
main#main:not(.site_home_page) .site_card .label {

	position: absolute;
	top: 12px;
	left: 12px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 8px 10px;
	border-radius: 6px;

	background: var(--gold-normal);
	color: var(--white-normal);
	box-shadow: 0 2px 8px color-mix(in srgb, var(--black-normal) 12%, transparent);

}
main#main:not(.site_home_page) .site_card .content {

	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;

}
main#main:not(.site_home_page) .site_card .meta {

	margin-bottom: 12px;
	color: var(--grey-dark);
	font-size: 0.85rem;

}
main#main:not(.site_home_page) .site_card .review {

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin-bottom: 16px;

}
main#main:not(.site_home_page) .site_card .stars {

	display: inline-flex;
	align-items: center;
	gap: 3px;

	color: var(--grey-normal);
	font-size: 1.6rem;
	line-height: 1;

}
main#main:not(.site_home_page) .site_card .stars .highlight {

	color: var(--green-normal);

}
main#main:not(.site_home_page) .site_card .reviews {

	color: var(--grey-dark);
	font-size: 0.85rem;

}
main#main:not(.site_home_page) .site_card h3 {

	margin: 0 0 12px;
	font-size: 1.15rem;
	font-weight: 700;

}
main#main:not(.site_home_page) .site_card .description p {

	margin: 0 0 20px;
	font-size: 0.95rem;
	color: var(--black-normal);
	overflow-wrap: anywhere;

}
main#main:not(.site_home_page) .site_card .details {

	margin: 0 0 20px;
	padding: 0;
	list-style: none;

	color: var(--grey-dark);
	font-size: 0.85rem;

}
main#main:not(.site_home_page) .site_card .details li + li {

	margin-top: 8px;

}
main#main:not(.site_home_page) .site_card .button {

	margin-top: auto;
	justify-content: left;
    padding: 0;

}
main#main:not(.site_home_page) .site_card .button a {

	display: inline-block;
    padding: 10px 10px 10px 16px;
	font-size: 0.9rem;
    line-height: 1;
    background: var(--blue-soft);
    color: var(--blue-dark);
    border-radius: 6px;
    text-decoration: none;
    transition: all ease 0.2s;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);

}
main#main:not(.site_home_page) .site_card .button a:hover {

	background: var(--blue-normal);
    color: var(--white-normal);

}
main#main:not(.site_home_page) .site_card:hover .image img {

	transform: scale(1.05);

}
main#main:not(.site_home_page) .site_term_card {
position:relative;margin:0;background:var(--blue-soft);color:var(--blue-dark);overflow:hidden;border-radius:6px;box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15), 0 2px 2px 0 rgba(0, 0, 0, 0.25);
}
main#main:not(.site_home_page) .site_term_card a {
display: flex;flex-direction: row;
}
main#main:not(.site_home_page) .site_term_card a .image {
display: block;width:100px;height:100px;overflow:hidden;
}
main#main:not(.site_home_page) .site_term_card a .image img {
display: block;width: 100%;height: 100%;object-fit: cover;transform: scale(1.01);transition: all ease 0.3s;
}
main#main:not(.site_home_page) .site_term_card a .content {
display: block;padding:20px;min-width:180px;width:62%;height:100px;font-weight:700;line-height:1.2;
}
main#main:not(.site_home_page) .site_term_card a .content h3 {
text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
}
main#main:not(.site_home_page) .site_term_card a .content .site_count {
display:inline-block;margin-top:0.8em;padding:4px 8px;font-size:0.75em;font-weight:400;background:var(--white-normal);color:var(--blue-normal);border-radius:20px;
}
main#main:not(.site_home_page) .site_term_card a .content .bt {
position:absolute;right:10px;bottom:15px;font-size:1.2em;color:var(--blue-soft);
}
main#main:not(.site_home_page) .site_term_card a:hover .image img {
transform: scale(1.1);
}

/* Les valeurs implicites de l'accueil remplacent les anciennes variantes. */
main#main:not(.site_home_page) :is(.site_card, .post_card) { height: auto; line-height: 1.6; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .meta { display: block; gap: normal; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .category { font-weight: 400; }
main#main:not(.site_home_page) :is(.site_card, .post_card) h3 { line-height: 1.3; }
main#main:not(.site_home_page) :is(.site_card, .post_card) .button {
	display: inline-flex; align-items: center; gap: 10px; min-height: 46px;
	border: 1px solid transparent; border-radius: 6px; font-weight: 600; line-height: 1.4;
}
main#main:not(.site_home_page) :is(.site_card, .post_card) .button a { min-height: 0; border: 0; font-weight: inherit; gap: normal; }
main#main:not(.site_home_page) :is(.category_results, .type_results, .site_term_grid) { background: var(--white-normal); }
main#main:not(.site_home_page) .site_term_grid { gap: 16px; }
main#main:not(.site_home_page) .site_term_card a { align-items: normal; min-height: 0; line-height: 1.6; }
main#main:not(.site_home_page) .site_term_card a .image { flex: 0 0 100px; align-self: auto; }
main#main:not(.site_home_page) .site_term_card a .content { flex: 0 1 auto; }
main#main:not(.site_home_page) .site_term_card h3 { font-size: 16px; line-height: 1.3; margin: 0; }
main#main:not(.site_home_page) .site_term_card a:hover { background: transparent; }

/* Une même échelle typographique sur les pages intérieures. */
main#main:not(.site_home_page) { font-size: 16px; line-height: 1.6; letter-spacing: normal; }
main#main:not(.site_home_page) :is(h1, h2, h3, h4, h5, h6, p, a, input, select, textarea, button) { letter-spacing: normal; }
main#main:not(.site_home_page) .entry_content { font-size: 1.05rem; line-height: 1.7; }
main#main:not(.site_home_page) :is(h2, h3, h4, h5, h6) { line-height: 1.3; }
main#main:not(.site_home_page) h2 { font-size: clamp(1.35rem, 2.5vw, 1.75rem); }
main#main:not(.site_home_page) h3 { font-size: 1.2rem; }
main#main:not(.site_home_page) h4 { font-size: 1.1rem; }
main#main:not(.site_home_page) :is(h5, h6) { font-size: 1rem; }
main#main:not(.site_home_page) :is(.site_card, .post_card) h3 { font-size: 1.15rem; }
main#main:not(.site_home_page) .site_term_card h3 { font-size: 1rem; }
main#main:not(.site_home_page) :is(.site_card, .post_card, .site_term_card) p { line-height: 1.6; }

/* Coches identiques à celles de l'accueil, compte distinct de la note. */
main#main:not(.site_home_page) :is(.stars, .site_review_summary .stars) {
	display: inline-flex; align-items: center; gap: 3px;
	color: var(--grey-normal); font-size: 1.6rem; line-height: 1;
}
main#main:not(.site_home_page) .stars .highlight { color: var(--green-normal); }
main#main:not(.site_home_page) :is(.stars > span, .reviews) { color: var(--grey-dark); font-size: .85rem; line-height: 1.6; }
main#main:not(.site_home_page) .stars > span { margin-left: 8px; }
main#main:not(.site_home_page) .site_review_summary { display: inline-flex; margin-top: 16px; padding: 12px 16px; border-radius: 6px; background: var(--white-normal); text-decoration: none; }
main#main:not(.site_home_page) .site_review_summary:hover { background: var(--blue-lite); text-decoration: none; }
main#main:not(.site_home_page) .site_comment .fa-check-square { margin-right: 3px; font-size: 1.6rem; line-height: 1; vertical-align: middle; }

/* Sidebars sticky : décalage recalculé selon l'en-tête et la barre WordPress. */
main#main:not(.site_home_page) :is(.site_sidebar, .article_sidebar) {
	position: sticky; top: 100px; align-self: start; min-width: 0;
	max-height: calc(100vh - 120px); overflow-y: auto; scrollbar-width: thin;
}
main#main:not(.site_home_page) .post_layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; padding: 0 32px 32px; align-items: start; }
main#main:not(.site_home_page) .post_primary { min-width: 0; }
main#main:not(.site_home_page) .post_primary > :is(.post_image, .entry_content, .post_footer) { margin-inline: 0; padding-inline: 0; }
main#main:not(.site_home_page) .article_sidebar_inner { padding: 24px; /*border: 1px solid var(--blue-border);*/ border-radius: 12px; background: var(--blue-soft); }
main#main:not(.site_home_page) .article_sidebar h2 { margin: 0 0 16px; font-size: 1.15rem; }
main#main:not(.site_home_page) .article_sidebar :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
main#main:not(.site_home_page) .article_sidebar li + li { margin-top: 10px; }
main#main:not(.site_home_page) .article_sidebar a { display: block; padding: 10px 12px; border-radius: 6px; background: var(--white-normal); font-size: .95rem; line-height: 1.45; }
main#main:not(.site_home_page) .article_sidebar a:hover { background: var(--blue-dark); color: var(--white-normal); text-decoration: none; }
main#main:not(.site_home_page) .article_toc .toc_subheading { margin-left: 14px; }
main#main:not(.site_home_page) .article_read_more { /*margin-top: 24px;*/ }
main#main:not(.site_home_page) .article_index_link { margin-top: 24px; font-weight: 600; }

/* Contenu éditorial : listes imbriquées, tableaux, définitions et médias. */
main#main:not(.site_home_page) .entry_content :is(ul, ol) { margin-block: 16px 24px; padding-left: 28px; }
main#main:not(.site_home_page) .entry_content li { padding-left: 4px; line-height: 1.7; }
main#main:not(.site_home_page) .entry_content li::marker { color: var(--blue-dark); font-weight: 600; }
main#main:not(.site_home_page) .entry_content li + li { margin-top: 10px; }
main#main:not(.site_home_page) .entry_content li > :is(ul, ol) { margin-block: 10px; }
main#main:not(.site_home_page) .entry_content li > p { margin: 0 0 10px; }
main#main:not(.site_home_page) .entry_content ul ul { list-style: circle; }
main#main:not(.site_home_page) .entry_content ol ol { list-style: lower-alpha; }
main#main:not(.site_home_page) .entry_content table {
	display: block; width: 100%; max-width: 100%; margin: 24px 0;
	overflow-x: auto; border-collapse: separate; border-spacing: 0;
	border: 1px solid var(--blue-border-hover); border-radius: 8px; font-size: .95rem;
}
main#main:not(.site_home_page) .entry_content :is(th, td) { padding: 14px 18px; border: 0; border-bottom: 1px solid var(--blue-border); vertical-align: top; line-height: 1.6; }
main#main:not(.site_home_page) .entry_content :is(th, td) + :is(th, td) { border-left: 1px solid var(--blue-border); }
main#main:not(.site_home_page) .entry_content th { background: var(--blue-dark); color: var(--white-normal); font-weight: 600; }
main#main:not(.site_home_page) .entry_content th a { color: var(--yellow-normal); }
main#main:not(.site_home_page) .entry_content tbody tr:nth-child(even) td { background: var(--blue-lite); }
main#main:not(.site_home_page) .entry_content tbody tr:last-child td { border-bottom: 0; }
main#main:not(.site_home_page) .entry_content caption { padding: 12px 16px; color: var(--grey-dark); text-align: left; font-weight: 600; }
main#main:not(.site_home_page) .entry_content dl { margin: 24px 0; }
main#main:not(.site_home_page) .entry_content dt { margin-top: 16px; color: var(--blue-dark); font-weight: 700; }
main#main:not(.site_home_page) .entry_content dd { margin: 6px 0 16px; padding-left: 20px; border-left: 3px solid var(--blue-border-hover); }
main#main:not(.site_home_page) .entry_content hr { height: 1px; margin: 32px 0; border: 0; background: var(--blue-border-hover); }
main#main:not(.site_home_page) .entry_content details { margin: 20px 0; padding: 16px 20px; border: 1px solid var(--blue-border-hover); border-radius: 8px; background: var(--blue-lite); }
main#main:not(.site_home_page) .entry_content summary { color: var(--blue-dark); font-weight: 600; cursor: pointer; }
main#main:not(.site_home_page) .entry_content details[open] summary { margin-bottom: 16px; }
main#main:not(.site_home_page) .entry_content figcaption { margin-top: 10px; color: var(--grey-dark); font-size: .85rem; line-height: 1.5; }
main#main:not(.site_home_page) .entry_content pre { line-height: 1.6; font-size: .9rem; border-radius: 8px; }

/* Garder les listes de navigation et d'actions sans puces. */
main#main:not(.site_home_page) .entry_content :is(.guide_chapters, .dashboard_actions, .premium-benefits, .site_grid, .post_grid, .site_term_grid) { list-style: none; padding: 24px; }
main#main:not(.site_home_page) .entry_content :is(.guide_chapters, .premium-benefits) { padding: 0; }
main#main:not(.site_home_page) .entry_content :is(.guide_chapters, .dashboard_actions, .premium-benefits) > li { margin: 0; padding-left: 10px; }

@media (max-width: 960px) {
	main#main:not(.site_home_page) .post_layout { grid-template-columns: minmax(0, 1fr); }
	main#main:not(.site_home_page) :is(.site_sidebar, .article_sidebar) { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 680px) {
	main#main:not(.site_home_page) .site_term_card a .content { flex: 1; min-width: 0; width: auto; }
}
@media (max-width: 600px) {
	main#main:not(.site_home_page) .post_layout { padding: 0 20px 24px; gap: 24px; }
	main#main:not(.site_home_page) .entry_content { font-size: 1rem; }
	main#main:not(.site_home_page) .article_sidebar_inner { padding: 20px; }
	main#main:not(.site_home_page) .entry_content :is(th, td) { padding: 10px 12px; }
}
main#main:not(.site_home_page) .entry_content :is(.entry_table_scroll, .wp-block-table) { max-width: 100%; overflow-x: auto; margin: 24px 0; }
main#main:not(.site_home_page) .entry_content :is(.entry_table_scroll, .wp-block-table) table { display: table; margin: 0; }
#site main#main:not(.site_home_page) .entry_table_scroll:focus-visible { outline: 3px solid var(--blue-dark) !important; outline-offset: 3px; }
main#main:not(.site_home_page) .site_term_card { border: 0; }
main#main:not(.site_home_page) .site_term_card a .image { flex: 0 1 auto; }
main#main:not(.site_home_page) .site_header .stars .highlight { color: var(--green-normal); }
main#main:not(.site_home_page) .site_term_card a:hover { text-decoration: underline; color: var(--blue-hover); }
main#main:not(.site_home_page) .stars_list a { font-size: 1.6rem; }
main#main:not(.site_home_page) .entry_content :is(.site_card, .post_card) { padding-left: 0; margin-top: 0; line-height: 1.6; }




.video-container {position: relative;padding-bottom: 56.25%;padding-top: 0;height: 0;overflow: hidden;}
.video-container iframe, .video-container object, .video-container embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
.entry-content iframe, .entry-content object, .entry-content embed {max-width: 100%;}

.entry_content strong{font-weight:bolder;}
