/**
 * Plato – Menu : en-tête, méga-menus, menu mobile, tiroirs compte et panier.
 * Maquette Claude Design « Plato - Navigation ».
 *
 * Divi stylise h2, a, button et input : les sélecteurs portent au moins deux
 * classes (.plato-menu-ui .pm-…) pour passer devant.
 */

/* ===================================================================== Base */

.plato-menu-ui {
	--pm-encre: #2A2536;
	--pm-gris: #4E495C;
	--pm-gris-doux: #6F6A7C;
	--pm-pale: #8A8496;
	--pm-fond: #FBF7F1;
	--pm-bord: #EFE9E1;
	--pm-bord-fort: #E4DED6;
	--pm-bord-champ: #D8D3DD;
	--pm-framboise: #E6317F;
	--pm-framboise-fonce: #C31F68;
	--pm-framboise-700: #9E1854;
	--pm-framboise-pale: #FDF0F6;
	--pm-framboise-clair: #F9C6DD;
	--pm-courbe: cubic-bezier(.2, .8, .2, 1);
	--pm-tache: 42% 58% 63% 37% / 48% 42% 58% 52%;
	--pm-macaron: 55% 45% 40% 60% / 45% 60% 40% 55%;
	font-family: 'Fira Sans', sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--pm-encre);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

.plato-menu-ui,
.plato-menu-ui *,
.plato-menu-ui *::before,
.plato-menu-ui *::after {
	box-sizing: border-box;
}

.plato-menu-ui a {
	color: inherit;
	text-decoration: none;
}

.plato-menu-ui button {
	font-family: inherit;
	line-height: inherit;
	letter-spacing: normal;
	text-transform: none;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
}

.plato-menu-ui img {
	max-width: none;
	height: auto;
	border: 0;
}

.plato-menu-ui p {
	margin: 0;
	padding: 0;
}

.plato-menu-ui :focus-visible {
	outline: 3px solid var(--pm-framboise-clair);
	outline-offset: 2px;
}

.plato-menu-ui .pm-ico {
	display: block;
	width: 14px;
	height: 14px;
	flex: none;
}

/* L'en-tête du Theme Builder porte le menu : au-dessus du contenu, sans
   marges ni rembourrage Divi autour. */
.et-l--header:has(.plato-menu) {
	position: relative;
	z-index: 990;
}

.et_pb_section:has(> .et_pb_row .plato-menu),
.et_pb_row:has(.plato-menu),
.et_pb_column:has(> .et_pb_module .plato-menu) {
	padding: 0 !important;
	max-width: none !important;
	width: 100% !important;
	background: transparent !important;
}

.et_pb_module:has(> .plato-menu),
.et_pb_code_inner:has(> .plato-menu),
.et_pb_text_inner:has(> .plato-menu) {
	margin: 0 !important;
	padding: 0 !important;
}

/* En tirant la page vers le bas (rebond en haut de page, Safari, trackpad),
   le navigateur montre le fond de <html> : celui du menu, pas du blanc. */
html:has(.plato-menu) {
	background-color: #FBF7F1;
}

html.pm-bloque,
html.pm-bloque body {
	overflow: hidden;
}

/* ========================================================== Racine, collant */

.plato-menu {
	position: relative;
	z-index: 990;
}

.plato-menu .pm-fixe {
	position: relative;
	z-index: 2;
}

.plato-menu.pm--collant {
	height: var(--pm-hauteur, 80px);
}

.plato-menu.pm--collant .pm-fixe {
	position: fixed;
	top: var(--pm-haut, 0px);
	left: 0;
	right: 0;
}

body.admin-bar .plato-menu.pm--collant .pm-fixe {
	top: var(--pm-haut, 32px);
}

@media (max-width: 782px) {
	body.admin-bar .plato-menu.pm--collant .pm-fixe {
		top: var(--pm-haut, 46px);
	}
}

.plato-menu .pm-entete {
	position: relative;
	background: var(--pm-fond);
}

/* ===================================================================== Logo */

.plato-menu-ui .pm-logo {
	display: inline-flex;
	align-items: baseline;
	color: var(--pm-framboise);
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0;
}

.plato-menu-ui .pm-logo:hover {
	color: var(--pm-framboise);
}

.plato-menu-ui .pm-logo__point {
	color: #F5A524;
}

/* ============================================================ Barre bureau */

.plato-menu .pm-barre--bureau {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 18px 40px;
}

.plato-menu .pm-barre--mobile {
	display: none;
}

.plato-menu .pm-liens {
	display: flex;
	align-items: center;
	gap: 4px;
}

.plato-menu .pm-lien-haut {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 9px 15px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pm-gris);
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.plato-menu .pm-lien-haut:hover {
	background: #F3EEE6;
	color: var(--pm-encre);
}

.plato-menu .pm-lien-haut[aria-expanded="true"] {
	background: var(--pm-framboise-pale);
	color: var(--pm-framboise-fonce);
}

.plato-menu .pm-lien-haut .pm-ico {
	width: 12px;
	height: 12px;
	transition: transform .28s var(--pm-courbe);
}

.plato-menu .pm-lien-haut[aria-expanded="true"] .pm-ico {
	transform: rotate(180deg);
}

.plato-menu .pm-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Boutons ronds (compte, panier, menu, fermer) */
.plato-menu-ui .pm-rond {
	position: relative;
	width: 44px;
	height: 44px;
	flex: none;
	padding: 0;
	border-radius: 50%;
	border: 1.5px solid var(--pm-bord-fort);
	background: #fff;
	color: var(--pm-encre);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color .18s ease, color .18s ease;
}

.plato-menu-ui .pm-rond:hover {
	border-color: var(--pm-framboise);
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-rond .pm-ico {
	width: 18px;
	height: 18px;
}

.plato-menu-ui .pm-rond--petit-ico .pm-ico,
.plato-menu-ui .pm-rond--fermer .pm-ico {
	width: 16px;
	height: 16px;
}

.plato-menu-ui .pm-rond--fermer {
	width: 40px;
	height: 40px;
	color: var(--pm-gris);
}

.plato-menu-ui .pm-rond--connecte {
	color: #134B4D;
	border-color: #17A3A8;
	background: #D9F1F1;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 15px;
}

.plato-menu-ui .pm-rond--connecte:hover {
	color: #134B4D;
	border-color: #12868A;
}

.plato-menu-ui .pm-rond--vide {
	visibility: hidden;
}

.plato-menu-ui .pm-pastille {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	border: 2px solid var(--pm-fond);
	background: var(--pm-framboise);
	color: #fff;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.plato-menu-ui .pm-pastille[hidden] {
	display: none;
}

.plato-menu-ui .pm-pastille.est-change {
	animation: pmRebond .45s var(--pm-courbe);
}

/* ================================================================= Boutons */

.plato-menu-ui .pm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: var(--pm-framboise);
	color: #fff;
	font-family: 'Fira Sans', sans-serif;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
}

.plato-menu-ui .pm-btn:hover {
	background: var(--pm-framboise-fonce);
	color: #fff;
}

.plato-menu-ui .pm-btn:active {
	background: var(--pm-framboise-700);
	transform: translateY(1px);
}

.plato-menu-ui .pm-btn--petit {
	padding: 9px 18px;
	font-size: 13px;
}

.plato-menu .pm-actions .pm-btn,
.plato-menu-ui .pm-form .pm-btn,
.plato-menu-ui .pm-panier__pied .pm-btn,
.plato-menu-ui .pm-mobile__pied .pm-btn {
	box-shadow: 0 12px 30px rgba(230, 49, 127, .28);
}

.plato-menu-ui .pm-btn--large {
	display: flex;
	width: 100%;
	min-height: 48px;
	padding: 13px 22px;
	font-size: 15px;
}

.plato-menu-ui .pm-btn--contour {
	background: #fff;
	color: var(--pm-encre);
	border: 1.5px solid var(--pm-bord-champ);
	padding: 10.5px 18px;
}

.plato-menu-ui .pm-btn--contour:hover {
	background: #fff;
	border-color: var(--pm-framboise);
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-btn--contour.pm-btn--large {
	padding: 12px 22px;
}

.plato-menu-ui .pm-panneau--mag .pm-btn--contour {
	border-color: var(--pm-framboise-clair);
}

.plato-menu-ui .pm-btn--brume {
	background: #6E51A3;
}

.plato-menu-ui .pm-btn--brume:hover {
	background: #523C7A;
}

.plato-menu-ui .pm-btn--soleil {
	background: #86530A;
}

.plato-menu-ui .pm-btn--soleil:hover {
	background: #5C3906;
}

.plato-menu-ui .pm-btn[disabled],
.plato-menu-ui .pm-btn.est-occupe {
	opacity: .65;
	cursor: progress;
}

/* ============================================================= Petits blocs */

.plato-menu-ui .pm-badge {
	align-self: flex-start;
	display: inline-block;
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--pm-framboise);
	color: #fff;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 11.5px;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.plato-menu-ui .pm-surtitre {
	margin-bottom: 4px;
	color: var(--pm-pale);
	font-size: 11.5px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.plato-menu-ui .pm-surtitre--framboise {
	color: var(--pm-framboise-700);
	margin-bottom: 2px;
}

.plato-menu-ui .pm-tache {
	position: absolute;
	z-index: 0;
	border-radius: var(--pm-tache);
	pointer-events: none;
}

.plato-menu-ui .pm-macaron {
	width: 42px;
	height: 42px;
	flex: none;
	background: var(--pm-c100);
	border-radius: var(--pm-macaron);
	display: flex;
	align-items: center;
	justify-content: center;
}

.plato-menu-ui .pm-macaron span {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--pm-c500);
}

/* Apparition en cascade : chaque élément porte son rang (--pm-i). */
.plato-menu-ui .pm-cascade {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .3s ease, transform .45s var(--pm-courbe), border-color .2s ease, background .2s ease;
}

.plato-menu .pm-mega.est-ouvert .pm-panneau.est-actif .pm-cascade,
.plato-menu-ui .pm-mobile.est-ouvert .pm-mobile__racine .pm-cascade,
.plato-menu-ui .pm-mobile.est-ouvert .pm-sous.est-actif .pm-cascade {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--pm-base, .08s) + var(--pm-i, 0) * .05s);
}

.plato-menu-ui .pm-mobile.a-sous .pm-mobile__racine .pm-cascade {
	transition-delay: 0s;
}

/* ============================================================ Méga-menus */

.plato-menu .pm-mega {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	opacity: 0;
	transform: translateY(-8px);
	visibility: hidden;
	pointer-events: none;
	transition: opacity .24s ease, transform .32s var(--pm-courbe), visibility .32s;
}

.plato-menu .pm-mega.est-ouvert {
	opacity: 1;
	transform: none;
	visibility: visible;
	pointer-events: auto;
}

.plato-menu .pm-mega__fond {
	max-height: calc(100vh - var(--pm-hauteur, 80px) - var(--pm-haut, 0px));
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	border-top: 1.5px solid var(--pm-bord);
	border-bottom: 1.5px solid var(--pm-bord);
	border-radius: 0 0 32px 32px;
	box-shadow: 0 30px 60px rgba(42, 37, 54, .14);
}

.plato-menu .pm-mega__grille {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 40px 32px;
	display: grid;
	gap: 24px;
}

.plato-menu .pm-mega__grille--mag {
	grid-template-columns: 290px minmax(0, 1fr);
}

.plato-menu .pm-mega__grille--boutique {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, .85fr);
	gap: 20px;
}

.plato-menu .pm-voile {
	position: fixed;
	inset: 0;
	z-index: 1;
	background: rgba(42, 37, 54, .18);
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease, visibility .25s;
}

.plato-menu.pm--mega .pm-voile {
	opacity: 1;
	visibility: visible;
}

/* ------------------------------------------------------ Le mag' : onglets */

.plato-menu .pm-onglets-mag {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.plato-menu-ui .pm-onglet {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: 20px;
	background: transparent;
	color: var(--pm-encre);
	opacity: 0;
	transform: translateX(-10px);
	transition: background .2s ease, opacity .3s ease, transform .4s var(--pm-courbe);
}

.plato-menu .pm-mega.est-ouvert .pm-onglet {
	opacity: 1;
	transform: none;
	transition-delay: 0s, calc(.02s + var(--pm-i, 0) * .04s), calc(.02s + var(--pm-i, 0) * .04s);
}

.plato-menu-ui .pm-onglet.est-actif {
	background: var(--pm-c50);
}

.plato-menu-ui .pm-onglet:hover {
	color: var(--pm-encre);
}

.plato-menu-ui .pm-onglet__texte {
	flex: 1;
	min-width: 0;
}

.plato-menu-ui .pm-onglet__titre {
	display: block;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.25;
}

.plato-menu-ui .pm-onglet__sous {
	display: block;
	margin-top: 1px;
	color: var(--pm-gris-doux);
	font-size: 13px;
}

.plato-menu-ui .pm-onglet__fleche {
	color: var(--pm-c700);
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity .2s ease, transform .25s ease;
}

.plato-menu-ui .pm-onglet.est-actif .pm-onglet__fleche {
	opacity: 1;
	transform: none;
}

.plato-menu .pm-separateur {
	height: 1.5px;
	margin: 10px 6px;
	background: var(--pm-bord);
}

.plato-menu-ui .pm-ligne {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-ligne--douce {
	padding: 9px 16px;
	border-radius: 14px;
	color: var(--pm-gris);
	font-size: 14.5px;
	transition: background .18s ease, color .18s ease;
}

.plato-menu-ui .pm-ligne--douce:hover {
	background: var(--pm-fond);
	color: var(--pm-encre);
}

.plato-menu-ui .pm-ligne--douce .pm-ico {
	color: #B5AFBD;
}

/* ----------------------------------------------------- Le mag' : panneaux */

.plato-menu .pm-panneaux {
	display: grid;
}

.plato-menu .pm-panneau {
	grid-area: 1 / 1;
	position: relative;
	overflow: hidden;
	border-radius: 26px;
	opacity: 0;
	transform: translateY(10px);
	visibility: hidden;
	transition: opacity .28s ease, transform .4s var(--pm-courbe), visibility .4s;
}

.plato-menu .pm-mega.est-ouvert .pm-panneau.est-actif {
	opacity: 1;
	transform: none;
	visibility: visible;
}

.plato-menu .pm-panneau > :not(.pm-tache) {
	position: relative;
	z-index: 1;
}

.plato-menu .pm-panneau--mag {
	background: var(--pm-framboise-pale);
	padding: 28px 32px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, .9fr);
	gap: 28px;
	align-items: center;
}

.plato-menu .pm-panneau--articles,
.plato-menu .pm-panneau--goodies {
	padding: 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.plato-menu .pm-panneau--articles {
	background: #F5F1FB;
}

.plato-menu .pm-panneau--goodies {
	background: #FEF6E7;
}

.plato-menu .pm-tache--mag {
	left: -60px;
	bottom: -90px;
	width: 300px;
	height: 300px;
	background: var(--pm-framboise-clair);
	opacity: .75;
}

.plato-menu .pm-tache--articles {
	right: -70px;
	top: -110px;
	width: 280px;
	height: 280px;
	background: #E4D8F5;
}

.plato-menu .pm-tache--goodies {
	right: -60px;
	bottom: -120px;
	width: 300px;
	height: 300px;
	background: #FCE2B8;
}

/* Éventail des trois dernières couvertures */
.plato-menu .pm-eventail {
	position: relative;
	height: 300px;
}

.plato-menu .pm-eventail__couv {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 54%;
	filter: drop-shadow(0 14px 20px rgba(42, 37, 54, .24));
	transition: transform .6s var(--pm-courbe);
}

.plato-menu .pm-eventail__couv--2 {
	z-index: 1;
	transform: translate(-56%, -50%) rotate(-3deg);
	transition-delay: .08s;
}

.plato-menu .pm-eventail__couv--1 {
	z-index: 2;
	transform: translate(-44%, -50%) rotate(3deg);
	transition-delay: .12s;
}

.plato-menu .pm-eventail__couv--0 {
	z-index: 3;
	width: 62%;
	transform: translate(-50%, -50%);
}

.plato-menu .pm-mega.est-ouvert .pm-panneau--mag.est-actif .pm-eventail__couv--2 {
	transform: translate(-102%, -46%) rotate(-11deg);
}

.plato-menu .pm-mega.est-ouvert .pm-panneau--mag.est-actif .pm-eventail__couv--1 {
	transform: translate(2%, -48%) rotate(9deg);
}

.plato-menu .pm-une {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.plato-menu .pm-une__titre {
	margin-top: 8px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 38px;
	line-height: 1.05;
}

.plato-menu .pm-une__texte {
	color: var(--pm-gris);
	font-size: 15px;
	line-height: 1.5;
	text-wrap: pretty;
}

.plato-menu .pm-une__boutons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.plato-menu .pm-precedents {
	display: flex;
	flex-direction: column;
	gap: 8px;
	--pm-base: .12s;
}

.plato-menu-ui .pm-precedent {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px 8px 8px;
	border-radius: 16px;
	border: 1.5px solid #fff;
	background: #fff;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-precedent:hover {
	border-color: var(--pm-framboise-clair);
	color: var(--pm-encre);
}

.plato-menu-ui .pm-precedent__couv {
	width: 44px;
	height: 56px;
	flex: none;
	object-fit: contain;
}

.plato-menu-ui .pm-precedent__texte {
	flex: 1;
	min-width: 0;
}

.plato-menu-ui .pm-precedent__numero {
	display: block;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
}

.plato-menu-ui .pm-precedent__mois {
	display: block;
	color: var(--pm-gris-doux);
	font-size: 12.5px;
}

.plato-menu-ui .pm-precedent .pm-ico {
	color: var(--pm-framboise-fonce);
}

/* En-tête des panneaux Articles / Goodies */
.plato-menu-ui .pm-panneau__tete {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.plato-menu-ui .pm-panneau__titre {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 28px;
	line-height: 1.1;
}

.plato-menu-ui .pm-panneau__texte {
	margin-top: 6px;
	color: var(--pm-gris);
	font-size: 14.5px;
}

.plato-menu-ui .pm-puces {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 12px;
}

.plato-menu-ui .pm-puce {
	padding: 6px 13px;
	border-radius: 999px;
	border: 1.5px solid #E4D8F5;
	background: #fff;
	color: #523C7A;
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
	transition: background .18s ease, color .18s ease;
}

.plato-menu-ui .pm-puce:hover {
	background: #E4D8F5;
	color: #372851;
}

.plato-menu-ui .pm-voir {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14.5px;
	font-weight: 600;
	white-space: nowrap;
}

.plato-menu-ui .pm-voir--brume {
	color: #6E51A3;
}

.plato-menu-ui .pm-voir--brume:hover {
	color: #523C7A;
}

.plato-menu-ui .pm-voir--soleil {
	color: #86530A;
}

.plato-menu-ui .pm-voir--soleil:hover {
	color: #5C3906;
}

.plato-menu .pm-cartes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

/* Cartes d'articles */
.plato-menu-ui .pm-article--carte {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	border: 1.5px solid #fff;
	background: #fff;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-article--carte:hover {
	border-color: #D0BEEC;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-article--carte .pm-article__visuel {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	background: #E4D8F5;
	overflow: hidden;
}

.plato-menu-ui .pm-article__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.plato-menu-ui .pm-article__couv {
	position: absolute;
	inset: 12px;
	width: calc(100% - 24px);
	height: calc(100% - 24px);
	object-fit: contain;
	filter: drop-shadow(0 6px 10px rgba(42, 37, 54, .18));
}

.plato-menu-ui .pm-article--carte .pm-article__texte {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.plato-menu-ui .pm-article--carte.pm-article--texte {
	min-height: 150px;
}

.plato-menu-ui .pm-article--carte.pm-article--texte .pm-article__texte {
	padding: 18px 18px 20px;
	gap: 6px;
}

.plato-menu-ui .pm-article__kicker {
	color: #6E51A3;
	font-size: 12px;
	font-weight: 600;
}

.plato-menu-ui .pm-article__titre {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 17px;
	line-height: 1.2;
	text-wrap: pretty;
}

.plato-menu-ui .pm-article__sous {
	color: var(--pm-gris-doux);
	font-size: 13px;
	line-height: 1.35;
}

/* Cartes de goodies */
.plato-menu-ui .pm-goodie {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 20px;
	border: 1.5px solid #fff;
	background: #fff;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-goodie:hover {
	border-color: #FACF89;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-goodie__visuel {
	display: block;
	position: relative;
	aspect-ratio: 4 / 3;
	background: #FCE2B8;
}

.plato-menu-ui .pm-goodie__image {
	position: absolute;
	inset: 12px;
	width: calc(100% - 24px);
	height: calc(100% - 24px);
	object-fit: contain;
	filter: drop-shadow(0 6px 10px rgba(42, 37, 54, .18));
}

.plato-menu-ui .pm-goodie__sans {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-6deg);
	padding: 6px 12px;
	border-radius: 999px;
	background: #fff;
	color: #86530A;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 12.5px;
	white-space: nowrap;
}

.plato-menu-ui .pm-goodie__numero {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 9px;
	border-radius: 999px;
	background: #fff;
	color: #86530A;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 12px;
}

.plato-menu-ui .pm-goodie__texte {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.plato-menu-ui .pm-goodie__titre {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
}

.plato-menu-ui .pm-goodie__editeur {
	color: var(--pm-gris-doux);
	font-size: 13px;
}

/* ---------------------------------------------------------------- Boutique */

.plato-menu .pm-boutique-col {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .3s ease, transform .45s var(--pm-courbe);
}

.plato-menu .pm-mega.est-ouvert .pm-boutique-col {
	opacity: 1;
	transform: none;
	transition-delay: calc(.04s + var(--pm-i, 0) * .06s);
}

.plato-menu-ui .pm-mois {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: 22px;
	align-items: center;
	padding: 24px;
	border-radius: 26px;
	background: var(--pm-framboise-pale);
}

.plato-menu-ui .pm-mois > :not(.pm-tache) {
	position: relative;
	z-index: 1;
}

.plato-menu .pm-tache--mois {
	left: -50px;
	bottom: -80px;
	width: 230px;
	height: 230px;
	background: var(--pm-framboise-clair);
	opacity: .75;
}

.plato-menu-ui .pm-mois__couv {
	width: 100%;
	height: 210px;
	object-fit: contain;
	filter: drop-shadow(0 14px 18px rgba(42, 37, 54, .22));
	transition: transform .6s var(--pm-courbe) .1s;
}

.plato-menu .pm-mega.est-ouvert .pm-mois__couv {
	transform: rotate(-4deg);
}

.plato-menu-ui .pm-mois__texte {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.plato-menu-ui .pm-mois__titre {
	margin-top: 8px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.1;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-mois__date {
	color: var(--pm-gris);
	font-size: 13.5px;
}

.plato-menu-ui .pm-offres {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 12px;
}

.plato-menu-ui .pm-offre {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 7px 7px 7px 14px;
	border-radius: 16px;
	background: #fff;
}

.plato-menu-ui .pm-offre__info {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.plato-menu-ui .pm-offre__format {
	color: var(--pm-gris-doux);
	font-size: 13px;
}

.plato-menu-ui .pm-offre__prix {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 17px;
	white-space: nowrap;
}

.plato-menu-ui .pm-offre__ajouter {
	padding: 8px 14px;
	border: 0;
	border-radius: 999px;
	background: var(--pm-framboise);
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	white-space: nowrap;
	cursor: pointer;
	transition: background .18s ease, opacity .18s ease;
}

.plato-menu-ui .pm-offre__ajouter:hover {
	background: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-offre__ajouter.est-occupe {
	opacity: .6;
	cursor: progress;
}

.plato-menu-ui .pm-offre__epuise {
	padding: 8px 10px;
	color: var(--pm-pale);
	font-size: 13px;
	font-weight: 600;
}

/* Abonnement */
.plato-menu-ui .pm-abo {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	gap: 16px;
	align-items: center;
	padding: 24px;
	border-radius: 26px;
	border: 1.5px solid var(--pm-bord);
	background: var(--pm-fond);
}

.plato-menu-ui .pm-abo__gauche {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.plato-menu-ui .pm-abo__gauche .pm-surtitre {
	margin: 0;
}

.plato-menu-ui .pm-bascule {
	display: inline-flex;
	align-self: flex-start;
	gap: 2px;
	padding: 3px;
	border-radius: 999px;
	border: 1.5px solid var(--pm-bord);
	background: #fff;
}

.plato-menu-ui .pm-bascule__choix {
	padding: 7px 14px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pm-gris);
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

.plato-menu-ui .pm-bascule__choix[aria-pressed="true"] {
	background: var(--pm-framboise);
	color: #fff;
}

.plato-menu-ui .pm-abo__des,
.plato-menu-ui .pm-abo__texte {
	color: var(--pm-gris-doux);
	font-size: 13px;
	text-wrap: pretty;
}

.plato-menu-ui .pm-abo__texte {
	margin-top: 2px;
}

.plato-menu-ui .pm-abo__prix {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 34px;
	line-height: 1.05;
}

.plato-menu-ui .pm-abo__bouton {
	align-self: flex-start;
	padding: 11px 20px;
}

.plato-menu .pm-eventail2 {
	position: relative;
	height: 210px;
}

.plato-menu .pm-eventail2__couv {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 64%;
	transform: translate(-50%, -50%);
	filter: drop-shadow(0 8px 12px rgba(42, 37, 54, .2));
	transition: transform .55s var(--pm-courbe);
}

.plato-menu .pm-eventail2__couv:nth-child(2) { transition-delay: .05s; }
.plato-menu .pm-eventail2__couv:nth-child(3) { transition-delay: .1s; }
.plato-menu .pm-eventail2__couv:nth-child(4) { transition-delay: .15s; }

.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="4"] .pm-eventail2__couv:nth-child(1) { transform: translate(calc(-50% - 45px), -50%) rotate(-10.5deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="4"] .pm-eventail2__couv:nth-child(2) { transform: translate(calc(-50% - 15px), -50%) rotate(-3.5deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="4"] .pm-eventail2__couv:nth-child(3) { transform: translate(calc(-50% + 15px), -50%) rotate(3.5deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="4"] .pm-eventail2__couv:nth-child(4) { transform: translate(calc(-50% + 45px), -50%) rotate(10.5deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="3"] .pm-eventail2__couv:nth-child(1) { transform: translate(calc(-50% - 30px), -50%) rotate(-7deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="3"] .pm-eventail2__couv:nth-child(3) { transform: translate(calc(-50% + 30px), -50%) rotate(7deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="2"] .pm-eventail2__couv:nth-child(1) { transform: translate(calc(-50% - 18px), -50%) rotate(-5deg); }
.plato-menu .pm-mega.est-ouvert .pm-eventail2[data-nombre="2"] .pm-eventail2__couv:nth-child(2) { transform: translate(calc(-50% + 18px), -50%) rotate(5deg); }

.plato-menu .pm-boutique-liens {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 4px;
}

.plato-menu-ui .pm-ligne--boutique {
	padding: 7px 0;
	font-size: 15px;
	transition: color .18s ease;
}

.plato-menu-ui .pm-ligne--boutique:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-ligne--boutique .pm-ico {
	color: #C9C3CF;
}

.plato-menu .pm-boutique-liens .pm-btn--large {
	margin-top: auto;
}

/* Écran de bureau étroit : on resserre */
@media (max-width: 1180px) {
	.plato-menu .pm-barre--bureau,
	.plato-menu .pm-mega__grille {
		padding-left: 24px;
		padding-right: 24px;
	}

	.plato-menu .pm-mega__grille--mag {
		grid-template-columns: 250px minmax(0, 1fr);
	}

	.plato-menu .pm-panneau--mag {
		grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	}

	.plato-menu .pm-precedents {
		display: none;
	}

	.plato-menu .pm-cartes {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.plato-menu .pm-cartes > :nth-child(4) {
		display: none;
	}

	.plato-menu .pm-mega__grille--boutique {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.plato-menu .pm-boutique-liens {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
	}

	.plato-menu .pm-boutique-liens .pm-btn--large {
		margin-top: 22px;
	}
}

/* ============================================================== Mobile */

@media (max-width: 959.98px) {
	.plato-menu.pm--collant {
		height: var(--pm-hauteur, 70px);
	}

	.plato-menu .pm-entete {
		border-bottom: 1.5px solid var(--pm-bord);
	}

	.plato-menu .pm-barre--bureau,
	.plato-menu .pm-mega,
	.plato-menu .pm-voile {
		display: none;
	}

	.plato-menu .pm-barre--mobile {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 16px;
	}

	.plato-menu .pm-barre--mobile .pm-logo {
		font-size: 32px;
	}
}

.plato-menu-ui .pm-mobile {
	position: fixed;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	background: var(--pm-fond);
	opacity: 0;
	transform: translateY(-16px);
	visibility: hidden;
	transition: opacity .28s ease, transform .4s var(--pm-courbe), visibility .4s;
}

.plato-menu-ui .pm-mobile.est-ouvert {
	opacity: 1;
	transform: none;
	visibility: visible;
}

.plato-menu-ui .pm-mobile__tete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1.5px solid var(--pm-bord);
}

.plato-menu-ui .pm-mobile__tete .pm-logo {
	font-size: 32px;
}

.plato-menu-ui .pm-mobile__scene {
	flex: 1;
	position: relative;
	overflow: hidden;
}

.plato-menu-ui .pm-mobile__racine {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 16px 16px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	--pm-base: .04s;
	transition: transform .42s var(--pm-courbe), opacity .3s ease;
}

.plato-menu-ui .pm-mobile.a-sous .pm-mobile__racine {
	transform: translateX(-30%);
	opacity: 0;
	pointer-events: none;
}

.plato-menu-ui .pm-mobile__racine > * {
	flex: none;
}

.plato-menu-ui .pm-mobile-une {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 16px 18px;
	border-radius: 24px;
	background: var(--pm-framboise-pale);
	color: var(--pm-encre);
}

.plato-menu-ui .pm-mobile-une > :not(.pm-tache),
.plato-menu-ui .pm-sous__tete > :not(.pm-tache) {
	position: relative;
	z-index: 1;
}

.plato-menu-ui .pm-tache--une {
	right: -40px;
	bottom: -70px;
	width: 170px;
	height: 170px;
	background: var(--pm-framboise-clair);
}

.plato-menu-ui .pm-mobile-une__couv {
	width: 100%;
	height: 128px;
	object-fit: contain;
	filter: drop-shadow(0 10px 14px rgba(42, 37, 54, .22));
}

.plato-menu-ui .pm-mobile-une__texte {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.plato-menu-ui .pm-mobile-une__titre {
	margin-top: 8px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 22px;
}

.plato-menu-ui .pm-mobile-une__mois {
	color: var(--pm-gris);
	font-size: 13.5px;
}

.plato-menu-ui .pm-mobile-une__lien {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 8px;
	color: var(--pm-framboise-fonce);
	font-weight: 600;
	font-size: 14px;
}

.plato-menu-ui .pm-categorie {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 68px;
	padding: 12px 14px;
	border: 1.5px solid var(--pm-bord);
	border-radius: 20px;
	background: #fff;
	color: var(--pm-encre);
	font-size: 15px;
	text-align: left;
	cursor: pointer;
}

.plato-menu-ui .pm-categorie .pm-macaron {
	width: 40px;
	height: 40px;
}

.plato-menu-ui .pm-categorie .pm-macaron span {
	width: 13px;
	height: 13px;
}

.plato-menu-ui .pm-categorie .pm-onglet__titre {
	font-size: 18px;
}

.plato-menu-ui .pm-categorie__fleche {
	width: 32px;
	height: 32px;
	flex: none;
	border-radius: 50%;
	background: var(--pm-c50);
	color: var(--pm-c700);
	display: flex;
	align-items: center;
	justify-content: center;
}

.plato-menu-ui .pm-mobile__liens {
	display: flex;
	flex-direction: column;
	margin-top: 4px;
}

.plato-menu-ui .pm-ligne--mobile {
	min-height: 52px;
	border-bottom: 1px solid var(--pm-bord);
	font-size: 15.5px;
}

.plato-menu-ui .pm-ligne--mobile .pm-ico {
	color: #B5AFBD;
}

.plato-menu-ui .pm-compte-ligne {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 60px;
	margin-top: 6px;
	padding: 10px 14px;
	border: 1.5px solid var(--pm-bord);
	border-radius: 18px;
	background: #fff;
	color: var(--pm-encre);
	font-size: 15px;
	text-align: left;
	cursor: pointer;
}

.plato-menu-ui .pm-compte-ligne > .pm-ico {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-avatar {
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 50%;
	background: #D9F1F1;
	color: #134B4D;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 14px;
}

.plato-menu-ui .pm-avatar .pm-ico {
	width: 16px;
	height: 16px;
}

.plato-menu-ui .pm-avatar--grand {
	width: 52px;
	height: 52px;
	font-size: 18px;
}

.plato-menu-ui .pm-compte-ligne__texte {
	flex: 1;
}

.plato-menu-ui .pm-compte-ligne__titre {
	display: block;
	font-weight: 600;
	font-size: 15px;
}

.plato-menu-ui .pm-compte-ligne__sous {
	display: block;
	color: var(--pm-gris-doux);
	font-size: 13px;
}

/* Sous-panneaux du menu mobile */
.plato-menu-ui .pm-sous {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--pm-fond);
	transform: translateX(100%);
	visibility: hidden;
	transition: transform .42s var(--pm-courbe), visibility .42s;
	--pm-base: .1s;
}

.plato-menu-ui .pm-mobile.est-ouvert .pm-sous.est-actif {
	transform: none;
	visibility: visible;
}

.plato-menu-ui .pm-sous__tete {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 14px 16px 22px;
}

.plato-menu-ui .pm-sous__tete--framboise { background: var(--pm-framboise-pale); }
.plato-menu-ui .pm-sous__tete--brume { background: #F5F1FB; padding-bottom: 20px; }
.plato-menu-ui .pm-sous__tete--soleil { background: #FEF6E7; padding-bottom: 20px; gap: 10px; }
.plato-menu-ui .pm-sous__tete--neutre { padding-bottom: 6px; gap: 12px; }

.plato-menu-ui .pm-tache--sous-mag {
	right: -50px;
	top: 40px;
	width: 200px;
	height: 200px;
	background: var(--pm-framboise-clair);
}

.plato-menu-ui .pm-tache--sous-articles {
	right: -60px;
	top: -40px;
	width: 200px;
	height: 200px;
	background: #E4D8F5;
}

.plato-menu-ui .pm-tache--sous-goodies {
	right: -50px;
	top: -50px;
	width: 200px;
	height: 200px;
	background: #FCE2B8;
}

.plato-menu-ui .pm-retour {
	align-self: flex-start;
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 16px 0 12px;
	border-radius: 999px;
	border: 1.5px solid var(--pm-bord-fort);
	background: #fff;
	color: var(--pm-encre);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}

.plato-menu-ui .pm-retour--framboise { border-color: var(--pm-framboise-clair); color: var(--pm-framboise-700); }
.plato-menu-ui .pm-retour--brume { border-color: #E4D8F5; color: #6E51A3; }
.plato-menu-ui .pm-retour--soleil { border-color: #FCE2B8; color: #86530A; }

.plato-menu-ui .pm-sous__une {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.plato-menu-ui .pm-sous__couv {
	width: 100%;
	height: 156px;
	object-fit: contain;
	filter: drop-shadow(0 12px 16px rgba(42, 37, 54, .22));
}

.plato-menu-ui .pm-sous__une .pm-btn {
	margin-top: 10px;
}

.plato-menu-ui .pm-sous__titre {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.1;
}

.plato-menu-ui .pm-sous__texte {
	margin-top: 4px;
	color: var(--pm-gris);
	font-size: 13.5px;
	line-height: 1.45;
}

.plato-menu-ui .pm-sous__corps {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px 16px 28px;
}

.plato-menu-ui .pm-sous__corps .pm-surtitre {
	margin: 0;
}

.plato-menu-ui .pm-puces--mobile {
	margin-top: 0;
}

.plato-menu-ui .pm-puces--mobile .pm-puce {
	padding: 8px 14px;
	font-size: 13.5px;
}

.plato-menu-ui .pm-mini-numeros {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.plato-menu-ui .pm-mini-numero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 12px 8px 10px;
	border-radius: 18px;
	border: 1.5px solid var(--pm-bord);
	background: #fff;
	color: var(--pm-encre);
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 15px;
}

.plato-menu-ui .pm-mini-numero__couv {
	width: 100%;
	height: 96px;
	object-fit: contain;
}

.plato-menu-ui .pm-liste-articles {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.plato-menu-ui .pm-article--mobile {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 8px;
	border-radius: 18px;
	border: 1.5px solid var(--pm-bord);
	background: #fff;
	color: var(--pm-encre);
}

.plato-menu-ui .pm-article--mobile.pm-article--texte {
	grid-template-columns: minmax(0, 1fr);
	padding: 12px 14px;
}

.plato-menu-ui .pm-article--mobile .pm-article__visuel {
	position: relative;
	display: block;
	width: 76px;
	height: 76px;
	overflow: hidden;
	border-radius: 12px;
	background: #E4D8F5;
}

.plato-menu-ui .pm-article--mobile .pm-article__couv {
	inset: 6px;
	width: calc(100% - 12px);
	height: calc(100% - 12px);
}

.plato-menu-ui .pm-article--mobile .pm-article__texte {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.plato-menu-ui .pm-article--mobile .pm-article__titre {
	font-size: 16px;
}

.plato-menu-ui .pm-grille-goodies {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.plato-menu-ui .pm-goodie--mobile {
	border-radius: 18px;
	border-color: var(--pm-bord);
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__visuel {
	aspect-ratio: 1;
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__image {
	inset: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	filter: none;
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__numero {
	top: 8px;
	left: 8px;
	padding: 3px 8px;
	font-size: 11.5px;
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__texte {
	padding: 10px 12px 12px;
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__titre {
	font-size: 15px;
}

.plato-menu-ui .pm-goodie--mobile .pm-goodie__editeur {
	font-size: 12.5px;
}

.plato-menu-ui .pm-mois--mobile {
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 14px;
	padding: 16px;
	border-radius: 22px;
}

.plato-menu-ui .pm-mois--mobile .pm-mois__couv {
	height: 124px;
	filter: drop-shadow(0 10px 14px rgba(42, 37, 54, .2));
}

.plato-menu-ui .pm-mois--mobile .pm-mois__titre {
	margin-top: 0;
	font-size: 19px;
}

.plato-menu-ui .pm-mois--mobile .pm-offres {
	margin-top: 4px;
}

.plato-menu-ui .pm-abo--mobile {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border-radius: 22px;
	background: #fff;
}

.plato-menu-ui .pm-abo__haut,
.plato-menu-ui .pm-abo__bas {
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.plato-menu-ui .pm-abo__haut {
	align-items: center;
}

.plato-menu-ui .pm-abo__bas {
	align-items: flex-end;
}

.plato-menu-ui .pm-abo__titre {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 19px;
}

.plato-menu-ui .pm-abo--mobile .pm-abo__prix {
	font-size: 30px;
}

.plato-menu-ui .pm-abo--mobile .pm-abo__des,
.plato-menu-ui .pm-abo--mobile .pm-abo__texte {
	font-size: 12.5px;
}

.plato-menu-ui .pm-abo--mobile .pm-abo__bouton {
	flex: none;
	align-self: auto;
	min-height: 44px;
	padding: 0 18px;
}

.plato-menu-ui .pm-mobile__pied {
	padding: 12px 16px 16px;
	padding-bottom: max(16px, env(safe-area-inset-bottom));
	border-top: 1.5px solid var(--pm-bord);
	background: #fff;
}

/* ================================================================ Tiroirs */

.plato-menu-ui .pm-tiroir-voile {
	position: fixed;
	inset: 0;
	z-index: 2;
	background: rgba(42, 37, 54, .42);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .35s;
}

.plato-menu-ui .pm-tiroir-voile.est-ouvert {
	opacity: 1;
	visibility: visible;
}

.plato-menu-ui .pm-tiroir {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	width: 440px;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	background: var(--pm-fond);
	box-shadow: -24px 0 60px rgba(42, 37, 54, .18);
	transform: translateX(105%);
	visibility: hidden;
	transition: transform .38s var(--pm-courbe), visibility .38s;
}

.plato-menu-ui .pm-tiroir.est-ouvert {
	transform: none;
	visibility: visible;
}

.plato-menu-ui .pm-tiroir__tete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 22px 26px;
	border-bottom: 1.5px solid var(--pm-bord);
}

.plato-menu-ui .pm-tiroir__titre {
	margin: 0;
	padding: 0;
	color: var(--pm-encre);
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}

.plato-menu-ui .pm-tiroir__corps {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 24px 26px;
}

/* Compte */
.plato-menu-ui .pm-onglets-compte {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-bottom: 24px;
	padding: 4px;
	border-radius: 999px;
	background: #F3EEE6;
}

.plato-menu-ui .pm-onglets-compte__curseur {
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: calc(50% - 6px);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(42, 37, 54, .08);
	transition: transform .32s var(--pm-courbe);
}

.plato-menu-ui .pm-tiroir[data-vue="inscription"] .pm-onglets-compte__curseur {
	transform: translateX(calc(100% + 4px));
}

.plato-menu-ui .pm-tiroir[data-vue="oubli"] .pm-onglets-compte {
	display: none;
}

.plato-menu-ui .pm-onglets-compte__choix {
	position: relative;
	padding: 10px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pm-gris-doux);
	font-weight: 600;
	font-size: 14.5px;
	cursor: pointer;
	transition: color .2s ease;
}

.plato-menu-ui .pm-onglets-compte__choix[aria-pressed="true"] {
	color: var(--pm-encre);
}

.plato-menu-ui .pm-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
}

.plato-menu-ui .pm-form[hidden] {
	display: none;
}

.plato-menu-ui .pm-anime-vue {
	animation: pmGlisse .32s ease both;
}

.plato-menu-ui .pm-form__intro {
	color: var(--pm-gris);
	font-size: 15px;
	line-height: 1.5;
}

.plato-menu-ui .pm-champ__libelle {
	display: block;
	margin-bottom: 6px;
	color: var(--pm-gris);
	font-size: 13px;
	font-weight: 600;
}

.plato-menu-ui .pm-champ__saisie {
	display: block;
	width: 100%;
	margin: 0;
	padding: 12px 16px;
	border: 1.5px solid var(--pm-bord-champ);
	border-radius: 12px;
	background: var(--pm-fond);
	color: var(--pm-encre);
	font-family: 'Fira Sans', sans-serif;
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
	outline: none;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.plato-menu-ui .pm-champ__saisie::placeholder {
	color: #B4AEB9;
	opacity: 1;
}

.plato-menu-ui .pm-champ__saisie:focus {
	border-color: var(--pm-framboise);
	background: #fff;
	box-shadow: 0 0 0 3px var(--pm-framboise-clair);
}

.plato-menu-ui .pm-champ__saisie.est-erreur {
	border-color: var(--pm-framboise);
	background: var(--pm-framboise-pale);
}

.plato-menu-ui .pm-form__deux {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.plato-menu-ui .pm-form__ligne {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.plato-menu-ui .pm-case {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--pm-gris);
	font-size: 14px;
	cursor: pointer;
}

.plato-menu-ui .pm-case input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
}

.plato-menu-ui .pm-case__boite {
	width: 22px;
	height: 22px;
	flex: none;
	border-radius: 7px;
	border: 2px solid var(--pm-bord-champ);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color .15s ease, background-color .15s ease;
}

.plato-menu-ui .pm-case input:checked + .pm-case__boite {
	border-color: var(--pm-framboise);
	background: var(--pm-framboise);
}

.plato-menu-ui .pm-case input:checked + .pm-case__boite::after {
	content: '✔';
	color: #fff;
	font-size: 13px;
	line-height: 1;
}

.plato-menu-ui .pm-case input:focus-visible + .pm-case__boite {
	outline: 3px solid var(--pm-framboise-clair);
	outline-offset: 2px;
}

.plato-menu-ui .pm-lien {
	padding: 4px 0;
	border: 0;
	background: none;
	color: var(--pm-framboise);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
}

.plato-menu-ui .pm-lien:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-lien--retour {
	align-self: flex-start;
	padding: 0;
	color: var(--pm-gris);
}

.plato-menu-ui .pm-form__message {
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--pm-framboise-pale);
	color: var(--pm-framboise-700);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

.plato-menu-ui .pm-form__message a {
	color: inherit;
	text-decoration: underline;
}

.plato-menu-ui .pm-form__succes {
	padding: 12px 14px;
	border-radius: 14px;
	background: #D9F1F1;
	color: #134B4D;
	font-size: 14px;
	font-weight: 500;
	animation: pmMonte .3s ease both;
}

.plato-menu-ui .pm-form__message[hidden],
.plato-menu-ui .pm-form__succes[hidden] {
	display: none;
}

.plato-menu-ui .pm-form__bas {
	color: var(--pm-gris-doux);
	font-size: 14px;
	text-align: center;
}

.plato-menu-ui .pm-form__bas .pm-lien {
	padding: 0;
}

.plato-menu-ui .pm-form__note {
	color: var(--pm-gris-doux);
	font-size: 13.5px;
	line-height: 1.45;
}

.plato-menu-ui .pm-form__legal {
	color: var(--pm-pale);
	font-size: 12.5px;
	line-height: 1.5;
	text-align: center;
}

.plato-menu-ui .pm-form__legal a {
	color: inherit;
	text-decoration: underline;
}

.plato-menu-ui .pm-pot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.plato-menu-ui .pm-compte-carte {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px;
	border-radius: 22px;
	border: 1.5px solid var(--pm-bord);
	background: #fff;
}

.plato-menu-ui .pm-compte-carte__nom {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 20px;
}

.plato-menu-ui .pm-compte-carte__email {
	color: var(--pm-gris-doux);
	font-size: 13.5px;
	word-break: break-all;
}

.plato-menu-ui .pm-compte-liens {
	display: flex;
	flex-direction: column;
	margin: 18px 0;
}

.plato-menu-ui .pm-compte-liens .pm-ligne:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-fleche-texte {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-deconnexion {
	display: inline-block;
	padding: 4px 0;
	color: var(--pm-pale);
	font-size: 14px;
	text-decoration: underline;
}

.plato-menu-ui a.pm-deconnexion {
	text-decoration: underline;
}

.plato-menu-ui .pm-deconnexion:hover {
	color: var(--pm-framboise-fonce);
}

/* Panier */
.plato-menu-ui .pm-panier__titres {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.plato-menu-ui .pm-panier__compte {
	color: var(--pm-pale);
	font-size: 14px;
}

.plato-menu-ui .pm-panier__etat:empty {
	display: none;
}

.plato-menu-ui .pm-panier__etat {
	margin: 16px 26px 0;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--pm-framboise-pale);
	color: var(--pm-framboise-700);
	font-size: 14px;
	font-weight: 500;
}

.plato-menu-ui .pm-panier__etat.est-info {
	background: #F3EEE6;
	color: var(--pm-gris);
}

.plato-menu-ui .pm-panier__liste {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 8px 26px;
}

.plato-menu-ui .pm-panier__liste:empty {
	flex: 0;
	padding: 0;
}

.plato-menu-ui .pm-ligne-panier {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--pm-bord);
	animation: pmMonte .35s var(--pm-courbe) both;
	transition: opacity .2s ease;
}

.plato-menu-ui .pm-ligne-panier.est-occupe {
	opacity: .5;
	pointer-events: none;
}

.plato-menu-ui .pm-ligne-panier__visuel {
	position: relative;
	width: 76px;
	height: 92px;
	flex: none;
	border-radius: 14px;
	background: var(--pm-framboise-pale);
	display: flex;
	align-items: center;
	justify-content: center;
}

.plato-menu-ui .pm-ligne-panier__visuel img {
	width: 84%;
	height: 86%;
	object-fit: contain;
	filter: drop-shadow(0 4px 6px rgba(42, 37, 54, .18));
}

.plato-menu-ui .pm-ligne-panier__tag {
	position: absolute;
	bottom: 5px;
	right: 5px;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--pm-framboise);
	color: #fff;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 10.5px;
}

.plato-menu-ui .pm-ligne-panier__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.plato-menu-ui .pm-ligne-panier__haut {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.plato-menu-ui .pm-ligne-panier__nom {
	display: block;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.25;
	color: var(--pm-encre);
}

.plato-menu-ui a.pm-ligne-panier__nom:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-ligne-panier__variante {
	margin-top: 2px;
	color: var(--pm-pale);
	font-size: 13px;
}

.plato-menu-ui .pm-ligne-panier__prix {
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 16px;
	white-space: nowrap;
}

.plato-menu-ui .pm-ligne-panier__bas {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-top: 10px;
}

.plato-menu-ui .pm-quantite {
	display: flex;
	align-items: center;
	border: 1.5px solid var(--pm-bord-fort);
	border-radius: 999px;
	background: #fff;
}

.plato-menu-ui .pm-quantite button {
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pm-gris);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}

.plato-menu-ui .pm-quantite button:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-quantite button[disabled] {
	opacity: .35;
	cursor: default;
}

.plato-menu-ui .pm-quantite span {
	min-width: 22px;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
}

.plato-menu-ui .pm-quantite--fixe {
	padding: 6px 12px;
	color: var(--pm-gris);
	font-size: 13px;
}

.plato-menu-ui .pm-ligne-panier__retirer {
	padding: 4px;
	border: 0;
	background: none;
	color: var(--pm-pale);
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}

.plato-menu-ui .pm-ligne-panier__retirer:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-panier__pied {
	padding: 20px 26px 26px;
	padding-bottom: max(26px, env(safe-area-inset-bottom));
	border-top: 1.5px solid var(--pm-bord);
	background: #fff;
}

.plato-menu-ui .pm-panier__pied[hidden],
.plato-menu-ui .pm-panier__vide[hidden] {
	display: none;
}

.plato-menu-ui .pm-panier__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 4px;
	color: var(--pm-gris);
	font-size: 15px;
}

.plato-menu-ui .pm-panier__montant {
	color: var(--pm-encre);
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 24px;
}

.plato-menu-ui .pm-panier__note {
	margin-bottom: 18px;
	color: var(--pm-pale);
	font-size: 13px;
	line-height: 1.45;
}

.plato-menu-ui .pm-panier__voir {
	display: block;
	margin-top: 12px;
	color: var(--pm-framboise);
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

.plato-menu-ui a.pm-panier__voir:hover {
	color: var(--pm-framboise-fonce);
}

.plato-menu-ui .pm-panier__vide {
	position: relative;
	overflow: hidden;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 36px;
	text-align: center;
}

.plato-menu-ui .pm-panier__vide > :not(.pm-tache) {
	position: relative;
	z-index: 1;
}

.plato-menu-ui .pm-tache--vide {
	top: 22%;
	left: 50%;
	width: 180px;
	height: 180px;
	margin-left: -90px;
	background: #FCE7F1;
}

.plato-menu-ui .pm-panier__vide-image {
	width: 96px;
	height: 96px;
	margin-bottom: 22px;
	object-fit: contain;
}

.plato-menu-ui .pm-panier__vide-titre {
	margin-bottom: 8px;
	font-family: 'Fredoka', sans-serif;
	font-weight: 600;
	font-size: 22px;
}

.plato-menu-ui .pm-panier__vide-texte {
	margin-bottom: 22px;
	color: var(--pm-gris);
	font-size: 15px;
	line-height: 1.5;
}

.plato-menu-ui .pm-panier__vide-boutons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

/* Les tiroirs passent au-dessus de la barre d'administration */
.pm-couches.plato-menu-ui {
	position: relative;
	z-index: 100000;
}

/* =============================================================== Animations */

@keyframes pmMonte {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

@keyframes pmGlisse {
	from { opacity: 0; transform: translateX(10px); }
	to { opacity: 1; transform: none; }
}

@keyframes pmRebond {
	0% { transform: scale(1); }
	40% { transform: scale(1.3); }
	100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.plato-menu-ui,
	.plato-menu-ui * {
		transition: none !important;
		animation: none !important;
	}
}
