/*
 * core/template-part does not support the block "position" attribute,
 * so the sticky header is applied here instead of via theme.json/block styles.
 */
.site-header-sticky {
	position: sticky;
	top: 0;
	z-index: 100;
}

/*
 * Home hero: the photo's subject sits on the right, the text on the light left side.
 * On wide screens the text lines up with the header content (wideSize).
 */
.hero-accueil .wp-block-cover__inner-container {
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto;
	margin-right: auto;
}

/* On small screens the text would cover the subject, so the photo stacks above it. */
@media (max-width: 781px) {
	.wp-block-cover.hero-accueil {
		flex-direction: column;
		align-items: stretch;
		min-height: 0 !important;
		padding: 0 !important;
		background-color: var(--wp--preset--color--creme);
	}

	.hero-accueil .wp-block-cover__image-background {
		position: static;
		height: 300px;
	}

	.hero-accueil .wp-block-cover__background {
		display: none;
	}

	.hero-accueil .wp-block-cover__inner-container {
		padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	}
}

/* Header "Mon livre" box: small cover + two text links, to the right of the menu. */
.site-header__droite {
	flex-shrink: 0;
}

.encart-livre {
	padding-left: var(--wp--preset--spacing--40);
	border-left: 1px solid rgba(43, 20, 20, 0.12);
}

.encart-livre a {
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
}

.encart-livre__couverture {
	margin: 0;
	flex-shrink: 0;
}

.encart-livre__couverture img {
	display: block;
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(43, 20, 20, 0.25);
}

.encart-livre:hover .encart-livre__lien a {
	text-decoration: underline;
}

/* Book cover shown as a physical book (teaser and closing banner). */
.bandeau-livre__couverture img {
	width: 100%;
	max-width: 320px;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 18px 40px rgba(43, 20, 20, 0.22);
}

@media (max-width: 781px) {
	/* Cover thumbnail only, placed just before the burger. */
	.site-header__droite {
		gap: var(--wp--preset--spacing--30);
	}

	.encart-livre {
		padding-left: 0;
		border-left: 0;
		order: -1;
	}

	.encart-livre__lien {
		display: none;
	}

	.bandeau-livre__couverture img {
		max-width: 220px;
	}
}

/* "5 recettes gratuites" section: offer on the left, sign-up card on the right. */
.recettes-gratuites__texte {
	max-width: 34rem;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-separator.recettes-gratuites__trait {
	width: 56px;
	height: 2px;
	border: 0;
	margin: var(--wp--preset--spacing--40) auto;
}

.recettes-gratuites__vignettes {
	max-width: 44rem;
	margin-left: auto;
	margin-right: auto;
}

/* Square dessert thumbnail with rounded corners. */
.vignette-recette__photo {
	width: 100%;
	margin: 0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--carte);
}

.vignette-recette__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

/* Hand-drawn arrow pointing from the offer to the form (wide screens only). */
.recettes-gratuites__offre {
	position: relative;
}

@media (min-width: 1100px) {
	.recettes-gratuites__offre::after {
		content: "";
		position: absolute;
		top: 12%;
		right: -3.25rem;
		width: 84px;
		height: 60px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 60' fill='none' stroke='%23C9636E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10c22-9 50-4 68 30'/%3E%3Cpath d='M58 37l15 5 3-16'/%3E%3C/svg%3E") no-repeat center / contain;
		pointer-events: none;
	}
}

.carte-inscription__icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	color: var(--wp--preset--color--rose);
}

.formulaire-inscription {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
}

.formulaire-inscription input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.9rem 1.1rem;
	border: 1px solid rgba(201, 99, 110, 0.25);
	border-radius: var(--wp--preset--border-radius--moyen, 8px);
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--texte);
	font: inherit;
}

.formulaire-inscription input:focus-visible {
	outline: 2px solid var(--wp--preset--color--rose);
	outline-offset: 1px;
}

.formulaire-inscription button {
	width: 100%;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: var(--wp--preset--border-radius--moyen, 8px);
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--blanc);
	font: inherit;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: var(--wp--preset--shadow--bouton);
}

.formulaire-inscription button:hover,
.formulaire-inscription button:focus-visible {
	background: var(--wp--preset--color--rose-fonce);
}

.formulaire-inscription__note {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0.4rem;
	margin: 0;
	color: var(--wp--preset--color--texte-doux);
	font-size: 0.8rem;
	line-height: 1.4;
}

.formulaire-inscription__note svg {
	flex-shrink: 0;
	margin-top: 0.15em;
}

/* Inline colored words keep their text color only (no browser highlight). */
.carte-inscription mark {
	background: none;
}


/* Five thumbnails on one row; three per row (last row centered) on small screens. */
.wp-block-group.recettes-gratuites__vignettes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--30);
}

.recettes-gratuites__vignettes > .vignette-recette {
	width: calc((100% - 4 * var(--wp--preset--spacing--30)) / 5);
}

@media (max-width: 781px) {
	.recettes-gratuites__vignettes > .vignette-recette {
		width: calc((100% - 2 * var(--wp--preset--spacing--30)) / 3);
	}
}

@media (max-width: 781px) {
	/* Keeps "incontournables" on one line on phones. */
	.recettes-gratuites h2.wp-block-heading {
		font-size: clamp(1.75rem, 8.5vw, 2.75rem) !important;
	}
}

/* Portrait photo in a rounded square card (about section). */
.wp-block-group.portrait-zoe {
	overflow: hidden;
	padding: 0;
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
	box-shadow: var(--wp--preset--shadow--carte);
}

.portrait-zoe .wp-block-image {
	display: block;
	width: 100%;
	margin: 0;
}

.portrait-zoe img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

@media (max-width: 781px) {
	.portrait-zoe {
		max-width: 320px;
	}
}

/* Header logo (replaces the text site title). */
.logo-entete {
	margin: 0;
	flex-shrink: 0;
	line-height: 0;
}

.logo-entete img {
	display: block;
	height: auto;
}

@media (max-width: 781px) {
	.logo-entete img {
		width: 68px !important;
	}
}

/* Recettes page: two big clickable cards (françaises / du monde). */
.carte-choix {
	position: relative;
	overflow: hidden;
	height: 100%;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.carte-choix__photo {
	margin: 0;
	overflow: hidden;
}

.carte-choix__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.carte-choix__titre a {
	color: inherit;
	text-decoration: none;
}

/* The title link covers the whole card, so the card is clickable everywhere. */
.carte-choix__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.carte-choix__bouton {
	display: inline-block;
	margin-bottom: 0;
	padding: 0.8rem 1.5rem;
	border-radius: var(--wp--preset--border-radius--pilule);
	box-shadow: var(--wp--preset--shadow--bouton);
	transition: background-color 0.25s ease;
}

.carte-choix:hover,
.carte-choix:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 6px 12px rgba(43, 20, 20, 0.06), 0 24px 48px rgba(43, 20, 20, 0.14) !important;
}

.carte-choix:hover .carte-choix__photo img,
.carte-choix:focus-within .carte-choix__photo img {
	transform: scale(1.06);
}

.carte-choix:hover .carte-choix__bouton,
.carte-choix:focus-within .carte-choix__bouton {
	background-color: var(--wp--preset--color--rose-fonce) !important;
}

.carte-choix__titre a:focus-visible {
	outline: none;
}

.carte-choix:focus-within {
	outline: 2px solid var(--wp--preset--color--rose);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.carte-choix,
	.carte-choix__photo img {
		transition: none;
	}
}

/* Category pages: header band + recipe grid. */
.entete-categorie a {
	color: inherit;
	text-decoration: none;
}

.entete-categorie a:hover {
	text-decoration: underline;
}

.entete-categorie .wp-block-term-description {
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

.carte-recette {
	height: 100%;
	transition: transform 0.3s ease;
}

.carte-recette:hover {
	transform: translateY(-4px);
}

.carte-recette .wp-block-post-title a {
	text-decoration: none;
}

@media (max-width: 781px) {
	.grille-recettes {
		grid-template-columns: 1fr !important;
	}
}

@media (min-width: 782px) and (max-width: 1023px) {
	.grille-recettes {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* The photo runs edge to edge inside the card. */
.wp-block-group.carte-choix {
	padding: 0;
}

/*
 * "Top de mes recettes" (Recettes page): pinned posts, numbered.
 * Wide screens: one big featured card + four smaller ones. Phones: swipeable row.
 */
.top-recettes__grille {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 230px;
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: top-recette;
}

.top-recettes__grille > li {
	margin: 0;
	counter-increment: top-recette;
}

.top-recettes__grille > li:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.carte-top {
	position: relative;
	height: 100%;
	overflow: hidden;
	border-radius: var(--wp--preset--border-radius--grand);
	background: var(--wp--preset--color--rose);
	box-shadow: var(--wp--preset--shadow--carte);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.carte-top__photo,
.carte-top__photo a,
.carte-top__photo img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.carte-top__photo img {
	object-fit: cover;
	transition: transform 0.6s ease;
}

/* Rank badge. */
.carte-top::before {
	content: "N°" counter(top-recette);
	position: absolute;
	top: 0.9rem;
	left: 0.9rem;
	z-index: 2;
	padding: 0.3rem 0.8rem;
	border-radius: var(--wp--preset--border-radius--pilule);
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--blanc);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	box-shadow: 0 4px 12px rgba(43, 20, 20, 0.25);
}

.top-recettes__grille > li:first-child .carte-top::before {
	content: "♥ Coup de cœur · N°1";
	font-size: 0.95rem;
	padding: 0.4rem 1rem;
}

.carte-top__texte {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	padding: 3.5rem 1.1rem 1rem;
	background: linear-gradient(to top, rgba(43, 20, 20, 0.82) 0%, rgba(43, 20, 20, 0.45) 55%, rgba(43, 20, 20, 0) 100%);
	pointer-events: none;
}

.carte-top__texte a {
	color: var(--wp--preset--color--blanc);
	text-decoration: none;
	pointer-events: auto;
}

.carte-top__categorie {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.72rem !important;
}

.carte-top__categorie a {
	color: var(--wp--preset--color--rose-clair);
}

.carte-top__titre {
	margin: 0;
	color: var(--wp--preset--color--blanc);
	font-size: 1.15rem !important;
	line-height: 1.25;
}

.top-recettes__grille > li:first-child .carte-top__titre {
	font-size: 2rem !important;
}

.top-recettes__grille > li:first-child .carte-top__texte {
	padding: 5rem 1.75rem 1.5rem;
}

.carte-top:hover,
.carte-top:focus-within {
	transform: translateY(-5px);
	box-shadow: 0 6px 12px rgba(43, 20, 20, 0.08), 0 24px 48px rgba(43, 20, 20, 0.18);
}

.carte-top:hover .carte-top__photo img,
.carte-top:focus-within .carte-top__photo img {
	transform: scale(1.07);
}

@media (min-width: 782px) and (max-width: 1023px) {
	.top-recettes__grille {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 781px) {
	.top-recettes__grille {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: var(--wp--preset--spacing--30);
		margin-right: calc(-1 * var(--wp--preset--spacing--50));
		padding: 0.5rem var(--wp--preset--spacing--50) 1rem 0;
		scrollbar-width: none;
	}

	.top-recettes__grille::-webkit-scrollbar {
		display: none;
	}

	.top-recettes__grille > li {
		flex: 0 0 78%;
		height: 320px;
		scroll-snap-align: start;
	}

	.top-recettes__grille > li:first-child .carte-top__titre {
		font-size: 1.4rem !important;
	}

	.top-recettes__grille > li:first-child .carte-top__texte {
		padding: 3.5rem 1.1rem 1rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.carte-top,
	.carte-top__photo img {
		transition: none;
	}
}

/* ---------- Recipe sheet (pattern "Fiche recette" + template single-recette) ---------- */
.page-recette__barre {
	margin-bottom: var(--wp--preset--spacing--40);
}

.page-recette__barre a {
	color: inherit;
	text-decoration: none;
}

.page-recette__barre a:hover {
	text-decoration: underline;
}

.bouton-imprimer {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1.2rem;
	border: 1.5px solid var(--wp--preset--color--rose);
	border-radius: var(--wp--preset--border-radius--pilule);
	background: transparent;
	color: var(--wp--preset--color--rose-fonce);
	font: inherit;
	font-size: var(--wp--preset--font-size--petit);
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bouton-imprimer:hover,
.bouton-imprimer:focus-visible {
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--blanc);
}

.fiche-recette__gauche > * + * {
	margin-top: var(--wp--preset--spacing--40);
}

.fiche-recette__photo {
	margin: 0;
	box-shadow: var(--wp--preset--shadow--carte);
}

.fiche-recette__photo img {
	display: block;
	width: 100%;
}

.fiche-recette__ingredients h2 {
	margin-top: 0;
}

.fiche-recette__ingredients ul {
	margin: 0;
	padding-left: 1.1rem;
}

.fiche-recette__ingredients li {
	padding: 0.45rem 0;
	border-bottom: 1px solid rgba(201, 99, 110, 0.18);
}

.fiche-recette__ingredients li:last-child {
	border-bottom: 0;
}

.fiche-recette__ingredients li::marker {
	color: var(--wp--preset--color--rose);
}

.fiche-recette__categorie {
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.fiche-recette__categorie a {
	text-decoration: none;
}

.fiche-recette__titre {
	margin: 0.4rem 0 0;
	font-size: clamp(2.1rem, 4.6vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.fiche-recette__intro {
	max-width: 36rem;
}

.fiche-recette__infos {
	margin: var(--wp--preset--spacing--40) 0;
	padding: var(--wp--preset--spacing--30) 0;
	border-top: 1px solid rgba(201, 99, 110, 0.3);
	border-bottom: 1px solid rgba(201, 99, 110, 0.3);
}

.fiche-recette__info {
	flex: 1 1 0;
	align-items: center;
	min-width: 5.5rem;
}

.fiche-recette__info p {
	margin: 0;
}

/* Thin pink pictograms (prep time, baking time, servings), drawn in CSS so the content stays plain text. */
.fiche-recette__info::before {
	content: "";
	display: block;
	width: 34px;
	height: 34px;
	background: center / contain no-repeat;
}

.fiche-recette__info--preparation::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2.5'/%3E%3Cpath d='M9 2h6'/%3E%3Cpath d='M12 2v3'/%3E%3C/svg%3E");
}

.fiche-recette__info--cuisson::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M3 9h18'/%3E%3Crect x='7' y='12.5' width='10' height='5.5' rx='1'/%3E%3Cpath d='M7 6.5h.01'/%3E%3Cpath d='M11 6.5h.01'/%3E%3C/svg%3E");
}

.fiche-recette__info--parts::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 12V3'/%3E%3Cpath d='M12 12l7.8 4.5'/%3E%3Cpath d='M12 12l-7.8 4.5'/%3E%3C/svg%3E");
}

.fiche-recette__droite h2 {
	margin-bottom: var(--wp--preset--spacing--30);
}

/* Numbered steps with pink round counters. */
.fiche-recette__etapes {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: etape;
}

.fiche-recette__etapes > li {
	position: relative;
	margin-bottom: var(--wp--preset--spacing--30);
	padding-left: 3rem;
	min-height: 2.1rem;
	counter-increment: etape;
}

.fiche-recette__etapes > li::before {
	content: counter(etape);
	position: absolute;
	left: 0;
	top: 0.05rem;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--rose);
	color: var(--wp--preset--color--blanc);
	font-family: var(--wp--preset--font-family--titres);
	font-weight: 600;
}

.fiche-recette__notes {
	margin-top: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--40);
	border-left: 3px solid var(--wp--preset--color--rose);
	border-radius: 0 var(--wp--preset--border-radius--moyen) var(--wp--preset--border-radius--moyen) 0;
	background: var(--wp--preset--color--blanc);
}

.fiche-recette__notes h2 {
	margin-top: 0;
}

.fiche-recette__notes p:last-child {
	margin-bottom: 0;
}

.fiche-recette__signature {
	margin-top: var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--logotype);
	font-size: 1.4rem !important;
}

.page-recette__navigation a {
	text-decoration: none;
}

/* Print: only the recipe, on white, two compact columns. */
@media print {
	header.wp-block-template-part,
	footer.wp-block-template-part,
	.page-recette__barre,
	.page-recette__navigation {
		display: none !important;
	}

	body {
		background: #fff !important;
		font-size: 11pt;
	}

	.page-recette {
		padding: 0 !important;
	}

	.fiche-recette {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 1.5rem !important;
	}

	.fiche-recette__gauche {
		flex-basis: 36% !important;
	}

	.fiche-recette__droite {
		flex-basis: 64% !important;
	}

	.fiche-recette__photo,
	.fiche-recette__notes {
		box-shadow: none !important;
	}

	.fiche-recette__titre {
		font-size: 26pt;
	}

	.fiche-recette__ingredients,
	.fiche-recette__etapes > li::before {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.fiche-recette__etapes > li,
	.fiche-recette__ingredients,
	.fiche-recette__notes {
		break-inside: avoid;
	}
}

/*
 * Recipe sheet on phones: title and intro first, then photo, times, ingredients, steps.
 * The two columns are flattened so their blocks can be re-ordered.
 */
@media (max-width: 781px) {
	.wp-block-columns.fiche-recette {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--40) !important;
	}

	.fiche-recette__gauche,
	.fiche-recette__droite {
		display: contents;
	}

	.fiche-recette__droite > * {
		order: 7;
		margin-top: 0;
		margin-bottom: 0;
	}

	.fiche-recette__gauche > * {
		margin-top: 0;
	}

	.fiche-recette__categorie { order: 1; }
	.fiche-recette__titre { order: 2; margin-top: -1rem !important; }
	.fiche-recette__intro { order: 3; }
	.fiche-recette__photo { order: 4; }
	.fiche-recette__infos { order: 5; margin: 0 !important; }
	.fiche-recette__ingredients { order: 6; }

	.page-recette__barre {
		gap: var(--wp--preset--spacing--30);
	}
}

@media print {
	.fiche-recette__droite {
		min-width: 0;
	}

	.fiche-recette__intro {
		font-size: 12pt !important;
	}
}

/* ---------- Conseils & Astuces ---------- */
@media (max-width: 781px) {
	.choix-conseils__cartes,
	.grille-conseils {
		grid-template-columns: 1fr !important;
	}
}

.carte-conseil,
.carte-sujet {
	position: relative;
	height: 100%;
	box-sizing: border-box;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.carte-conseil__picto {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 4.25rem;
	height: 4.25rem;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--rose-clair);
	line-height: 1;
	transition: transform 0.35s ease;
}

.carte-conseil__titre,
.carte-sujet__titre {
	margin-top: 0;
}

.carte-conseil__titre a,
.carte-sujet__titre a {
	color: inherit;
	text-decoration: none;
}

/* The title link covers the whole card. */
.carte-conseil__titre a::after,
.carte-sujet__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.carte-conseil__sujets {
	margin: 0;
	padding-left: 1.1rem;
}

.carte-conseil__sujets li {
	padding: 0.2rem 0;
}

.carte-conseil__sujets li::marker {
	color: var(--wp--preset--color--rose);
}

.carte-conseil__lien,
.carte-sujet__lien {
	margin-bottom: 0;
}

.carte-conseil:hover,
.carte-conseil:focus-within,
.carte-sujet:hover,
.carte-sujet:focus-within {
	transform: translateY(-5px);
	box-shadow: 0 6px 12px rgba(43, 20, 20, 0.06), 0 24px 48px rgba(43, 20, 20, 0.14) !important;
}

.carte-conseil:hover .carte-conseil__picto,
.carte-conseil:focus-within .carte-conseil__picto {
	transform: scale(1.1) rotate(-6deg);
}

.carte-conseil:hover .carte-conseil__lien,
.carte-sujet:hover .carte-sujet__lien {
	text-decoration: underline;
}

.carte-sujet {
	border-top: 4px solid var(--wp--preset--color--rose);
}

.carte-sujet .wp-block-post-excerpt__more-text {
	display: none;
}

/* Tip article: same title, intro and note styles as the recipe sheet. */
.page-conseil__retour a {
	color: inherit;
	text-decoration: none;
}

.page-conseil__retour a:hover {
	text-decoration: underline;
}

.page-conseil__titre {
	font-size: clamp(2rem, 4.2vw, 3.1rem);
}

.page-conseil__contenu h2 {
	margin-top: var(--wp--preset--spacing--50);
}

@media (prefers-reduced-motion: reduce) {
	.carte-conseil,
	.carte-sujet,
	.carte-conseil__picto {
		transition: none;
	}
}

/* Tip article: text blocks line up with the title on the left. */
.page-conseil__contenu > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Home "piliers" cards: image slot on top (full card width, rounded top corners). */
.carte-pilier {
	overflow: hidden;
}

.carte-pilier__photo {
	margin: 0;
}

.carte-pilier__photo img,
.wp-block-group.carte-pilier__photo--vide {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center top;
	padding: 0;
}

.carte-pilier__texte h3 {
	margin-top: 0;
}

/* Conseils & Astuces: image slot on top of every card (pale pink until a photo is added). */
.carte-conseil,
.carte-sujet {
	overflow: hidden;
}

.wp-block-group.carte-conseil__photo,
.wp-block-group.carte-sujet__photo {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.carte-conseil__photo img,
.carte-conseil__photo .wp-block-image,
.carte-sujet__photo .wp-block-post-featured-image,
.carte-sujet__photo .wp-block-post-featured-image a,
.carte-sujet__photo img {
	display: block;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

/* The photo now marks the top of the topic card, so the pink top line goes away. */
.carte-sujet {
	border-top: 0;
}

.carte-sujet__texte > :first-child,
.carte-conseil__texte > :first-child {
	margin-top: 0;
}

/* ---------- Book sales page (/livre/) ---------- */
.vente-livre > * {
	margin-top: 0;
	margin-bottom: 0;
}

.vente-script {
	margin: 0.2rem 0 0.6rem;
	font-size: clamp(1.9rem, 3.4vw, 2.7rem);
	line-height: 1.15;
}

.vente-note {
	font-size: 1.55rem;
	line-height: 1.3;
	transform: rotate(-4deg);
}

.vente-note--surligne {
	display: inline-block;
	padding: 0.6rem 1.4rem;
	border-radius: 999px 40px 999px 60px;
	background: var(--wp--preset--color--rose-clair);
}

.vente-prix {
	margin: 0;
	padding-left: var(--wp--preset--spacing--40);
	border-left: 1px solid rgba(201, 99, 110, 0.4);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	line-height: 1.2;
}

.vente-prix strong {
	display: block;
	font-family: var(--wp--preset--font-family--titres);
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0;
}

.carte-achat .vente-prix {
	padding-left: 0;
	border-left: 0;
}

.carte-achat .vente-prix strong {
	display: inline;
	font-size: 1.6rem;
}

.bouton-commander .wp-block-button__link {
	border-radius: var(--wp--preset--border-radius--moyen);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Hero: book standing between the text and the photo. */
.vente-hero__livre img {
	width: 100%;
	max-width: 260px;
	border-radius: 4px 8px 8px 4px;
	box-shadow: -10px 0 0 -6px rgba(255, 255, 255, 0.9), -12px 2px 0 -6px rgba(43, 20, 20, 0.12), 0 24px 44px rgba(43, 20, 20, 0.3);
	transform: perspective(900px) rotateY(-9deg);
}

.vente-hero__photo {
	margin: 0;
}

.vente-hero__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--wp--preset--border-radius--grand);
	box-shadow: var(--wp--preset--shadow--carte);
}

/* Five selling points with thin pink pictograms. */
.vente-atouts__liste {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.vente-atout {
	margin: 0;
	padding: 0 var(--wp--preset--spacing--30);
	border-left: 1px solid rgba(201, 99, 110, 0.2);
	line-height: 1.35;
}

.vente-atout:first-child {
	border-left: 0;
}

.vente-atout::before,
.vente-reassurance::before {
	content: "";
	display: block;
	width: 34px;
	height: 34px;
	margin: 0 auto 0.6rem;
	background: center / contain no-repeat;
}

.vente-atout--livre::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6c-2-1.5-5-2-9-2v14c4 0 7 .5 9 2 2-1.5 5-2 9-2V4c-4 0-7 .5-9 2z'/%3E%3Cpath d='M12 6v14'/%3E%3C/svg%3E");
}

.vente-atout--toque::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 14a4 4 0 1 1 1.5-7.7 4 4 0 0 1 7 0A4 4 0 1 1 17 14'/%3E%3Cpath d='M7 14v6h10v-6'/%3E%3Cpath d='M7 17h10'/%3E%3C/svg%3E");
}

.vente-atout--etoile::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.8-4.5 4.3 1.1 6.1L12 16.9 6.6 19.8l1.1-6.1L3.2 9.4l6.1-.8z'/%3E%3C/svg%3E");
}

.vente-atout--coeur::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-8-4.8-8-10.5A4.5 4.5 0 0 1 12 7a4.5 4.5 0 0 1 8 2.5C20 15.200 12 20 12 20z'/%3E%3C/svg%3E");
}

.vente-atout--cadeau::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7'/%3E%3Cpath d='M7.5 8a2.500 2.500 0 0 1 0-5C10 3 12 8 12 8s2-5 4.500-5a2.500 2.500 0 0 1 0 5'/%3E%3C/svg%3E");
}

/* Programme cards. */
.vente-bases,
.vente-modules {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.vente-bases {
	grid-template-columns: repeat(3, 1fr);
}

.vente-modules {
	grid-template-columns: repeat(5, 1fr);
}

.vente-bases > *,
.vente-modules > * {
	margin: 0 !important;
}

.carte-programme,
.carte-module,
.carte-bonus {
	overflow: hidden;
	height: 100%;
}

.wp-block-group.carte-programme__photo {
	width: 100%;
	aspect-ratio: 16 / 7;
	padding: 0;
}

.carte-programme__photo img,
.carte-module__photo img,
.carte-bonus__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.carte-module__photo {
	margin: 0;
	aspect-ratio: 16 / 10;
}

.carte-programme__texte h3,
.carte-module__texte h3,
.carte-module__texte p {
	margin: 0;
}

.vente-liste {
	margin: 0.4rem 0 0;
	padding-left: 1.1rem;
}

.vente-liste li::marker {
	color: var(--wp--preset--color--rose);
}

/* Bonus card: photo on the left, text on the right. */
.wp-block-group.carte-bonus {
	display: grid;
	grid-template-columns: 42% 1fr;
	align-items: stretch;
}

.carte-bonus__photo {
	margin: 0;
	min-height: 240px;
}

.carte-bonus__texte {
	position: relative;
	align-self: center;
}

.carte-bonus__texte h3,
.carte-bonus__texte .vente-script {
	margin: 0;
}

.vente-pastille {
	display: inline-block;
	margin-bottom: 0;
	padding: 0.4rem 1rem;
	border-radius: var(--wp--preset--border-radius--pilule);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Purchase card. */
.carte-achat {
	height: 100%;
	box-sizing: border-box;
	scroll-margin-top: 120px;
}

.carte-achat h3,
.carte-achat p {
	margin: 0;
}

.carte-achat__livre {
	margin: 0;
	flex-shrink: 0;
}

.carte-achat__livre img {
	display: block;
	border-radius: 3px;
	box-shadow: 0 6px 16px rgba(43, 20, 20, 0.25);
}

.vente-reassurances {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--20);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid rgba(201, 99, 110, 0.2);
}

.vente-reassurance {
	margin: 0 !important;
	font-size: 0.72rem;
	line-height: 1.35;
	text-align: center;
}

.vente-reassurance::before {
	width: 26px;
	height: 26px;
	margin-bottom: 0.35rem;
}

.vente-reassurance--cadenas::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}

.vente-reassurance--camion::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 6h11v10H2z'/%3E%3Cpath d='M13 9h4l4 4v3h-8z'/%3E%3Ccircle cx='6.500' cy='17.500' r='1.800'/%3E%3Ccircle cx='17' cy='17.500' r='1.800'/%3E%3C/svg%3E");
}

.vente-reassurance--email::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9636E' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}

/* Reviews (placeholders until real ones are pasted in). */
.vente-avis__liste {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--40);
}

.vente-avis__liste > * {
	margin: 0 !important;
}

.carte-avis {
	border: 1px dashed rgba(201, 99, 110, 0.4);
}

.carte-avis p {
	margin: 0;
}

.carte-avis__etoiles {
	color: var(--wp--preset--color--rose);
	font-size: 1.3rem;
	letter-spacing: 0.15em;
}

.vente-signature {
	margin-top: var(--wp--preset--spacing--40);
	font-size: 2.2rem;
}

@media (max-width: 1100px) {
	.vente-modules {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 781px) {
	.vente-atouts__liste {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--wp--preset--spacing--40) 0;
	}

	.vente-atout:nth-child(odd) {
		border-left: 0;
	}

	.vente-atout:last-child {
		grid-column: 1 / -1;
	}

	.vente-bases,
	.vente-avis__liste {
		grid-template-columns: 1fr;
	}

	.vente-modules {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--wp--preset--spacing--30);
	}

	.vente-modules > :last-child {
		grid-column: 1 / -1;
	}

	.wp-block-group.carte-bonus {
		grid-template-columns: 1fr;
	}

	.carte-bonus__photo {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.vente-hero__livre img {
		max-width: 200px;
	}

	.vente-note {
		transform: none;
	}
}

/* Keeps the handwritten note clear of the hero photo. */
.vente-hero__visuel .vente-note {
	margin: 0 0 var(--wp--preset--spacing--40);
	transform: rotate(-3deg);
}
