/* LPMP — « Les recettes de Sandy » : liste et fiche recette */
body.lpr, .lpr-grille--court {
	--lpr-encre: #202435;
	--lpr-gris: #5F6477;
	--lpr-texte: #3A3F55;
	--lpr-trait: #E4E5EE;
	--lpr-jaune: #FAB42B;
	--lpr-jaune-fonce: #F0A20E;
	--lpr-creme: #FFF6E3;
	--lpr-creme-trait: #F0DDB2;
	--lpr-vert-fond: #EAF4E6;
	--lpr-vert-txt: #2E5E2B;
}
body.lpr { overflow-x: clip; }
.lpr-page { font-family: Inter, sans-serif; color: var(--lpr-texte); padding-bottom: 72px; }
.lpr-page h1, .lpr-page h2, .lpr-page h3 { font-family: Dosis, sans-serif; color: var(--lpr-encre); margin: 0; text-transform: none; letter-spacing: 0; }
.lpr-page p { margin: 0; }
.lpr-ico {
	font-family: 'Material Symbols Rounded'; font-weight: 500; font-style: normal; font-size: 22px; line-height: 1;
	display: inline-block; white-space: nowrap; direction: ltr; -webkit-font-smoothing: antialiased; flex: none;
}

/* Fil d'Ariane */
.lpr-fil { display: flex; flex-wrap: wrap; gap: 6px 8px; font: 600 14px/1.4 Inter, sans-serif; color: var(--lpr-gris); padding: 22px 0 0; }
.lpr-fil a { color: var(--lpr-encre); text-decoration: none; }
.lpr-fil a:hover { text-decoration: underline; }
.lpr-fil a::after { content: '›'; margin-left: 8px; color: var(--lpr-gris); display: inline-block; }

/* Pastilles et boutons */
.lpr-pastille { display: inline-flex; align-items: center; font: 700 13px/1.2 Inter, sans-serif; padding: 5px 11px; border-radius: 20px; background: #EEF0F6; color: #3A3F55; }
.lpr-pastille--saison { background: var(--lpr-vert-fond); color: var(--lpr-vert-txt); }
.lpr-bouton {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px; border: 0; border-radius: 12px; cursor: pointer;
	background: var(--lpr-jaune); color: var(--lpr-encre) !important; font: 700 16px/1 Inter, sans-serif; text-decoration: none !important; transition: background .15s;
}
.lpr-bouton:hover { background: var(--lpr-jaune-fonce); }
.lpr-bouton--clair { background: #fff; box-shadow: inset 0 0 0 1.5px var(--lpr-trait); }
.lpr-bouton--clair:hover { background: #F5F6FA; }
.lpr-bouton:focus-visible, .lpr-filtre:focus-visible, .lpr-carte__lien:focus-visible { outline: 3px solid var(--lpr-encre); outline-offset: 3px; }

/* ---------- Liste : en-tête ---------- */
.lpr-entete { background: var(--lpr-creme); border-bottom: 1px solid var(--lpr-creme-trait); padding-bottom: 40px; margin-bottom: 36px; }
.lpr-entete .lpr-fil { padding-bottom: 26px; }
.lpr-entete__sur { font: 700 14px/1.2 Dosis, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #9A6500; margin-bottom: 8px !important; }
.lpr-entete__titre { font-size: clamp(34px, 5vw, 54px) !important; font-weight: 700 !important; line-height: 1.05 !important; text-wrap: balance; }
.lpr-entete__texte { font-size: clamp(16px, 1.6vw, 19px); line-height: 1.55; max-width: 640px; margin-top: 12px !important; }

/* ---------- Carte recette ---------- */
.lpr-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lpr-carte[hidden] { display: none; }
.lpr-carte__lien {
	display: flex; flex-direction: column; height: 100%; border: 1px solid var(--lpr-trait); border-radius: 18px; overflow: hidden; background: #fff;
	color: inherit !important; text-decoration: none !important; transition: box-shadow .18s, transform .18s;
}
.lpr-carte__lien:hover { box-shadow: 0 12px 28px rgba(32, 36, 53, .12); transform: translateY(-2px); }
.lpr-carte__photo { position: relative; display: block; aspect-ratio: 3 / 2; background: var(--lpr-creme); overflow: hidden; }
.lpr-carte__img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .4s; }
.lpr-carte__lien:hover .lpr-carte__img { transform: scale(1.04); }
.lpr-carte__photo .lpr-pastille { position: absolute; top: 12px; left: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.lpr-carte__corps { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.lpr-carte__type { font: 700 13px/1.2 Dosis, sans-serif; text-transform: uppercase; letter-spacing: .07em; color: #9A6500; }
.lpr-carte__titre { font: 700 22px/1.2 Dosis, sans-serif !important; color: var(--lpr-encre) !important; margin: 0 !important; text-wrap: balance; }
.lpr-carte__intro { font-size: 16px; line-height: 1.55; color: var(--lpr-texte); }
.lpr-carte__infos { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: auto; padding-top: 6px; font: 600 14px/1.2 Inter, sans-serif; color: var(--lpr-gris); }
.lpr-carte__infos span { display: inline-flex; align-items: center; gap: 5px; }
.lpr-carte__infos .lpr-ico { font-size: 19px; }

/* Recette à la une */
.lpr-une { margin-bottom: 36px; }
.lpr-une[hidden] { display: none; }
.lpr-carte--une .lpr-carte__lien { flex-direction: row; border-radius: 22px; }
.lpr-carte--une .lpr-carte__photo { flex: 0 0 58%; aspect-ratio: auto; min-height: 380px; }
.lpr-carte--une .lpr-carte__corps { justify-content: center; gap: 14px; padding: 32px clamp(22px, 3.5vw, 44px); }
.lpr-carte--une .lpr-carte__titre { font-size: clamp(28px, 3.2vw, 40px) !important; line-height: 1.1 !important; }
.lpr-carte--une .lpr-carte__infos { margin-top: 0; font-size: 15px; }
.lpr-carte--une .lpr-bouton { align-self: flex-start; margin-top: 6px; }
.lpr-carte--une .lpr-pastille { font-size: 14px; top: 16px; left: 16px; }

/* Filtres */
.lpr-filtres { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.lpr-filtre {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 22px; cursor: pointer;
	border: 1.5px solid var(--lpr-trait); background: #fff; color: var(--lpr-encre); font: 700 15px/1 Inter, sans-serif; transition: background .15s, border-color .15s;
}
.lpr-filtre span { font-weight: 600; color: var(--lpr-gris); font-size: 13px; }
.lpr-filtre:hover { border-color: var(--lpr-encre); background: #fff; color: var(--lpr-encre); }
.lpr-filtre.is-actif { background: var(--lpr-encre); border-color: var(--lpr-encre); color: #fff; }
.lpr-filtre.is-actif span { color: rgba(255, 255, 255, .75); }
.lpr-vide { padding: 28px 0; font-size: 17px; color: var(--lpr-gris); }

/* ---------- Fiche : tête ---------- */
.lpr-tete { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: center; padding: 22px 0 44px; }
.lpr-tete__pastilles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px !important; }
.lpr-tete__titre { font-size: clamp(32px, 4.6vw, 52px) !important; font-weight: 700 !important; line-height: 1.06 !important; text-wrap: balance; }
.lpr-tete__intro { font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; margin-top: 14px !important; max-width: 560px; }
.lpr-tete__photo { border-radius: 24px; overflow: hidden; aspect-ratio: 3 / 2; background: var(--lpr-creme); box-shadow: 0 18px 40px rgba(32, 36, 53, .14); }
.lpr-tete__photo img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.lpr-infos { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; }
.lpr-infos > div {
	display: grid; grid-template-columns: auto auto; column-gap: 8px; align-items: center; padding: 9px 13px 9px 10px;
	background: var(--lpr-creme); border: 1px solid var(--lpr-creme-trait); border-radius: 14px;
}
.lpr-infos .lpr-ico { grid-row: span 2; font-size: 26px; color: #9A6500; }
.lpr-infos dt { font: 600 13px/1.2 Inter, sans-serif; color: var(--lpr-gris); margin: 0; }
.lpr-infos dd { font: 700 17px/1.25 Dosis, sans-serif; color: var(--lpr-encre); margin: 0; }
.lpr-tete__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px !important; }

/* ---------- Fiche : ingrédients et étapes ---------- */
.lpr-corps { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.lpr-corps h2, .lpr-section-tete h2 { font-size: clamp(26px, 2.6vw, 32px) !important; font-weight: 700 !important; line-height: 1.15 !important; }
.lpr-ingredients { position: sticky; top: 24px; background: var(--lpr-creme); border: 1px solid var(--lpr-creme-trait); border-radius: 20px; padding: 24px 24px 20px; scroll-margin-top: 24px; }
.lpr-ingredients__pour { font: 600 15px/1.3 Inter, sans-serif; color: #7A5200; margin-top: 4px !important; }
.lpr-ingredients h3 { font: 700 15px/1.2 Dosis, sans-serif !important; text-transform: uppercase; letter-spacing: .06em; color: #7A5200 !important; margin: 20px 0 0 !important; }
.lpr-ingredients ul { list-style: none; margin: 14px 0 0; padding: 0; }
.lpr-ingredients li { margin: 0; padding: 0; border-bottom: 1px dashed var(--lpr-creme-trait); }
.lpr-ingredients li:last-child { border-bottom: 0; }
.lpr-ingredients label { display: flex; align-items: flex-start; gap: 12px; padding: 11px 0; margin: 0; cursor: pointer; font: 500 16px/1.45 Inter, sans-serif; color: var(--lpr-encre); }
.lpr-ingredients input { appearance: none; -webkit-appearance: none; flex: none; width: 22px; height: 22px; margin: 1px 0 0; border: 2px solid #C9A451; border-radius: 6px; background: #fff; cursor: pointer; position: relative; }
.lpr-ingredients input:checked { background: var(--lpr-encre); border-color: var(--lpr-encre); }
.lpr-ingredients input:checked::after { content: ''; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.lpr-ingredients input:focus-visible { outline: 3px solid var(--lpr-encre); outline-offset: 2px; }
.lpr-ingredients input:checked + span { color: var(--lpr-gris); text-decoration: line-through; }
.lpr-ingredients__aide { font-size: 14px; color: #7A5200; margin-top: 12px !important; }

.lpr-etapes ol { list-style: none; counter-reset: etape; margin: 20px 0 0; padding: 0; }
.lpr-etapes li { counter-increment: etape; position: relative; margin: 0; padding: 0 0 26px 64px; }
.lpr-etapes li::before {
	content: counter(etape); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%;
	background: var(--lpr-jaune); color: var(--lpr-encre); font: 700 22px/44px Dosis, sans-serif; text-align: center;
}
.lpr-etapes li::after { content: ''; position: absolute; left: 21px; top: 50px; bottom: 6px; width: 2px; background: var(--lpr-trait); }
.lpr-etapes li:last-child { padding-bottom: 0; }
.lpr-etapes li:last-child::after { display: none; }
.lpr-etapes li p { font-size: 17px; line-height: 1.65; color: var(--lpr-texte); padding-top: 8px; }
.lpr-astuce { display: flex; gap: 14px; margin-top: 30px; padding: 20px 22px; border-radius: 18px; background: var(--lpr-vert-fond); color: var(--lpr-vert-txt); }
.lpr-astuce .lpr-ico { font-size: 30px; }
.lpr-astuce h3 { font: 700 20px/1.2 Dosis, sans-serif !important; color: var(--lpr-vert-txt) !important; margin-bottom: 4px !important; }
.lpr-astuce p { font-size: 16px; line-height: 1.6; color: #24481F; }

/* ---------- Fiche : produits et autres recettes ---------- */
.lpr-produits, .lpr-autres { margin-top: 64px; }
.lpr-section-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
.lpr-section-tete p { font-size: 16px; color: var(--lpr-gris); flex-basis: 100%; }
.lpr-section-tete a { display: inline-flex; align-items: center; gap: 6px; font: 700 16px/1.2 Inter, sans-serif; color: var(--lpr-encre) !important; text-decoration: none; }
.lpr-section-tete a:hover { text-decoration: underline; }
.lpr-section-tete a .lpr-ico { font-size: 20px; }
body.lpr .lpr-produits ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; }
body.lpr .lpr-produits ul.products > li.product, body.lpr .lpr-produits ul.products > .product { width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }

/* ---------- Écrans étroits ---------- */
@media (max-width: 991px) {
	.lpr-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.lpr-carte--une .lpr-carte__lien { flex-direction: column; }
	.lpr-carte--une .lpr-carte__photo { flex: none; min-height: 0; aspect-ratio: 3 / 2; }
	.lpr-carte--une .lpr-carte__corps { padding: 20px 20px 22px; }
	.lpr-tete { grid-template-columns: minmax(0, 1fr); padding-bottom: 32px; }
	.lpr-tete__photo { order: -1; border-radius: 18px; }
	.lpr-corps { grid-template-columns: minmax(0, 1fr); }
	.lpr-ingredients { position: static; }
	body.lpr .lpr-produits ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
	.lpr-page { padding-bottom: 48px; }
	.lpr-entete { padding-bottom: 28px; margin-bottom: 24px; }
	.lpr-grille { grid-template-columns: minmax(0, 1fr); }
	.lpr-carte__titre { font-size: 21px !important; }
	.lpr-infos > div { flex: 1 1 calc(50% - 10px); }
	.lpr-tete__actions .lpr-bouton { flex: 1 1 100%; }
	.lpr-etapes li { padding-left: 54px; }
	.lpr-etapes li::before { width: 38px; height: 38px; font-size: 19px; line-height: 38px; }
	.lpr-etapes li::after { left: 18px; top: 44px; }
	.lpr-produits, .lpr-autres { margin-top: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.lpr-carte__lien, .lpr-carte__img { transition: none; }
	.lpr-carte__lien:hover { transform: none; }
	.lpr-carte__lien:hover .lpr-carte__img { transform: none; }
}

/* ---------- Impression : la recette seule ---------- */
@media print {
	body.lpr header, body.lpr footer, body.lpr .site-header, body.lpr .site-footer, body.lpr .header-mobile-nav, body.lpr .lpr-fil,
	body.lpr .lpr-tete__actions, body.lpr .lpr-produits, body.lpr .lpr-autres, body.lpr .lpr-ingredients__aide, body.lpr #wpadminbar,
	body.lpr .sticky-add-to-cart, body.lpr .site-notice, body.lpr .store-notice { display: none !important; }
	body.lpr .lpr-page { padding: 0; }
	body.lpr .lpr-tete { grid-template-columns: 1fr 240px; padding: 0 0 16px; gap: 20px; }
	body.lpr .lpr-tete__photo { box-shadow: none; border-radius: 10px; }
	body.lpr .lpr-corps { grid-template-columns: 240px 1fr; gap: 24px; }
	body.lpr .lpr-ingredients { position: static; background: none; border-color: #999; padding: 14px; }
	body.lpr .lpr-etapes li { break-inside: avoid; padding-bottom: 14px; }
	body.lpr .lpr-etapes li::before { background: none; border: 1.5px solid #000; line-height: 41px; }
	body.lpr .lpr-etapes li::after { display: none; }
	body.lpr .lpr-astuce { background: none; border: 1px solid #999; color: #000; }
}
