/*
 * Plato – Goodies
 * Reprise de la maquette « Plato - Goodies » (design system Plato).
 * Polices Fredoka et Fira Sans : déjà chargées par le site, pas ici.
 *
 * Tout est préfixé .plato-goodies / .plato-goodies-page et posé sur deux
 * classes : Divi stylise h1-h3, p, a, button et input, souvent avec une
 * spécificité d'une classe plus l'élément.
 */

.plato-goodies,
.plato-goodies-page,
.pg-agrandi {
	--pg-encre: #2A2536;
	--pg-gris: #4E495C;
	--pg-gris-doux: #6F6A7C;
	--pg-pale: #8A8496;
	--pg-fond: #FBF7F1;
	--pg-bord: #EFE9E1;
	--pg-bord-fort: #E4DED6;
	--pg-bord-champ: #D8D3DD;
	--pg-puce: #F3EEE6;
	--pg-framboise: #E6317F;
	--pg-framboise-fonce: #C31F68;
	--pg-framboise-pale: #F9C6DD;
	--pg-framboise-voile: #FCE7F1;
	--pg-lagon-pale: #BEE7E8;
	--pg-brume: #6E51A3;
	--pg-soleil: #FDF0D5;
	--pg-titre: 'Fredoka', sans-serif;
	--pg-texte: 'Fira Sans', sans-serif;
	--pg-collant-haut: 0px;
	--pg-colonne-min: 250px;
	--pg-ratio: 4 / 5;

	font-family: var(--pg-texte);
	color: var(--pg-encre);
	-webkit-font-smoothing: antialiased;
}

.plato-goodies *,
.plato-goodies-page *,
.pg-agrandi * {
	box-sizing: border-box;
}

.plato-goodies.pg--compact {
	--pg-colonne-min: 200px;
	--pg-ratio: 1 / 1;
}

@keyframes pgApparait { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes pgFondu { from { opacity: 0; } to { opacity: 1; } }
@keyframes pgZoom { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- Page --- */

/* La page sort de la rangée Divi qui la contient, quelle que soit sa largeur
   maximale, pour occuper tout l'écran (fond, taches) ; le contenu, lui, tient
   dans 1 240 px centrés. 50% - 50vw : décale du bord de la rangée au bord de
   l'écran, en supposant la rangée centrée (page pleine largeur, sans barre
   latérale). */
.plato-goodies-page {
	position: relative;
	width: auto;
	max-width: none;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow-x: clip; /* les taches débordent ; clip ne casse pas le sticky */
}

/* 100vw compte la barre de défilement (Windows) : sans ceci, la page
   déborderait de sa largeur et ferait apparaître un défilement horizontal. */
body:has(.plato-goodies-page) { overflow-x: clip; }

.plato-goodies-page.pg-page--fond { background: var(--pg-fond); }

.plato-goodies-page .pg-page__contenu {
	box-sizing: border-box;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 40px) 96px;
}

/* Rangées et colonnes flex de Divi 5 : sans min-width: 0, une grille peut
   élargir sa colonne au-delà de l'écran au lieu de passer à la ligne. */
.plato-goodies,
.plato-goodies .pg-grille,
.plato-goodies .pg-filtres,
.plato-goodies-page .pg-entete {
	min-width: 0;
	max-width: 100%;
}

.plato-goodies-page .pg-entete {
	position: relative;
	padding: clamp(32px, 6vw, 56px) 0 36px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(24px, 4vw, 40px);
	align-items: end;
}

.plato-goodies-page .pg-entete__tache {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.plato-goodies-page .pg-entete__tache--rose {
	top: 24px;
	right: -60px;
	width: 260px;
	height: 260px;
	background: var(--pg-framboise-pale);
	border-radius: 42% 58% 63% 37% / 48% 42% 58% 52%;
	opacity: .55;
}

.plato-goodies-page .pg-entete__tache--lagon {
	top: 170px;
	right: 220px;
	width: 90px;
	height: 90px;
	background: var(--pg-lagon-pale);
	border-radius: 58% 42% 38% 62% / 52% 58% 42% 48%;
}

.plato-goodies-page .pg-entete__texte,
.plato-goodies-page .pg-info {
	position: relative;
	z-index: 1;
}

.plato-goodies-page .pg-ariane {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--pg-pale);
	margin: 0 0 18px;
}

.plato-goodies-page .pg-ariane a { color: var(--pg-pale); text-decoration: none; }
.plato-goodies-page .pg-ariane a:hover { color: var(--pg-framboise-fonce); }
.plato-goodies-page .pg-ariane [aria-current] { color: var(--pg-encre); }

.plato-goodies-page .pg-entete__titre {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: clamp(40px, 6vw, 68px);
	line-height: 1;
	letter-spacing: -.01em;
	color: var(--pg-encre);
	margin: 0 0 18px;
	padding: 0;
}

.plato-goodies-page .pg-entete__intro {
	font-size: 17px;
	line-height: 1.55;
	color: var(--pg-gris);
	margin: 0;
	padding: 0;
	max-width: 520px;
	text-wrap: pretty;
}

.plato-goodies-page .pg-info {
	background: #fff;
	border: 1.5px solid var(--pg-bord);
	border-radius: 22px;
	padding: 18px 20px;
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.plato-goodies-page .pg-info__icone {
	width: 34px;
	height: 34px;
	flex: none;
	border-radius: 50%;
	background: var(--pg-framboise-voile);
	color: var(--pg-framboise-fonce);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 17px;
}

.plato-goodies-page .pg-info__texte {
	margin: 0;
	padding: 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--pg-gris);
	text-wrap: pretty;
}

.plato-goodies-page .pg-info__texte strong { color: var(--pg-encre); font-weight: 600; }

/* Bandeau d'abonnement */
.plato-goodies-page .pg-abonnement {
	margin-top: 72px;
	background: var(--pg-encre);
	color: #fff;
	border-radius: 32px;
	padding: clamp(28px, 5vw, 48px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 24px;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.plato-goodies-page .pg-abonnement__tache {
	position: absolute;
	right: -50px;
	bottom: -70px;
	width: 240px;
	height: 240px;
	background: var(--pg-framboise);
	border-radius: 42% 58% 63% 37% / 48% 42% 58% 52%;
	opacity: .9;
	pointer-events: none;
}

.plato-goodies-page .pg-abonnement__texte { position: relative; flex: 1 1 320px; }
.plato-goodies-page .pg-abonnement .pg-bouton { position: relative; }

.plato-goodies-page .pg-abonnement__titre {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: clamp(28px, 3.6vw, 38px);
	line-height: 1.1;
	color: #fff;
	margin: 0 0 10px;
	padding: 0;
}

.plato-goodies-page .pg-abonnement__intro {
	margin: 0;
	padding: 0;
	font-size: 16px;
	line-height: 1.55;
	color: var(--pg-bord-champ);
	max-width: 520px;
	text-wrap: pretty;
}

/* ------------------------------------------------------------- Boutons --- */

.plato-goodies .pg-bouton,
.plato-goodies-page .pg-bouton,
.pg-agrandi .pg-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--pg-texte);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	color: #fff;
	background: var(--pg-framboise);
	border: none;
	border-radius: 999px;
	padding: 12px 22px;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 12px 30px rgba(230, 49, 127, .28);
	transition: background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
}

.plato-goodies .pg-bouton:hover,
.plato-goodies-page .pg-bouton:hover,
.pg-agrandi .pg-bouton:hover { background: var(--pg-framboise-fonce); color: #fff; }

.plato-goodies .pg-bouton:active,
.plato-goodies-page .pg-bouton:active { transform: translateY(1px); }

.plato-goodies-page .pg-bouton--grand { font-size: 16px; padding: 15px 26px; }

.plato-goodies .pg-bouton--contour {
	background: #fff;
	color: var(--pg-encre);
	border: 1.5px solid var(--pg-bord-champ);
	box-shadow: none;
}

.plato-goodies .pg-bouton--contour:hover {
	background: #FDF0F6;
	color: var(--pg-framboise);
	border-color: var(--pg-framboise);
}

.plato-goodies .pg-lien-bouton {
	font-family: var(--pg-texte);
	font-weight: 600;
	font-size: 14px;
	color: var(--pg-framboise);
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px 0;
}

.plato-goodies .pg-lien-bouton:hover { color: var(--pg-framboise-fonce); }

.plato-goodies button:focus-visible,
.plato-goodies a:focus-visible,
.plato-goodies-page a:focus-visible,
.pg-agrandi button:focus-visible,
.pg-agrandi a:focus-visible {
	outline: 3px solid var(--pg-framboise-pale);
	outline-offset: 2px;
}

.plato-goodies [hidden],
.pg-agrandi [hidden] { display: none !important; }

/* ------------------------------------------------------------- Filtres --- */

.plato-goodies .pg-filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	padding: 14px 0 16px;
	border-bottom: 1.5px solid var(--pg-bord);
}

.plato-goodies .pg-filtres--collant {
	position: sticky;
	top: var(--pg-collant-haut);
	z-index: 5;
	background: var(--pg-fond);
}

/* Téléphone : Numéro et Éditeur côte à côte, et barre non collante — quatre
   champs empilés couvriraient le tiers de l'écran en permanence. */
@media (max-width: 640px) {
	.plato-goodies .pg-filtres { gap: 10px; }
	.plato-goodies .pg-filtres--collant { position: static; }
	.plato-goodies .pg-filtres .pg-menu { flex: 1 1 calc(50% - 5px); }
	.plato-goodies .pg-filtres .pg-menu[data-pg-menu="tri"] { flex-basis: 100%; }
	.plato-goodies .pg-filtres .pg-menu .pg-menu__bouton { padding: 0 14px 0 16px; gap: 6px; }
}

.plato-goodies .pg-recherche {
	flex: 999 1 260px;
	min-width: min(100%, 260px);
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1.5px solid var(--pg-bord-champ);
	border-radius: 999px;
	padding: 0 18px;
	height: 46px;
	margin: 0;
	color: var(--pg-pale);
	transition: border-color .2s ease;
}

.plato-goodies .pg-recherche:focus-within { border-color: var(--pg-framboise); }
.plato-goodies .pg-recherche svg { flex: none; }

.plato-goodies .pg-recherche .pg-recherche__champ {
	flex: 1;
	min-width: 0;
	height: 100%;
	border: none;
	outline: none;
	background: transparent;
	box-shadow: none;
	padding: 0;
	margin: 0;
	font-family: var(--pg-texte);
	font-size: 15px;
	color: var(--pg-encre);
	-webkit-appearance: none;
	appearance: none;
}

.plato-goodies .pg-recherche__champ::placeholder { color: #B4AEB9; opacity: 1; }
.plato-goodies .pg-recherche__champ::-webkit-search-cancel-button { display: none; }

.plato-goodies .pg-recherche .pg-recherche__effacer {
	flex: none;
	border: none;
	background: var(--pg-puce);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	padding: 0;
	cursor: pointer;
	color: var(--pg-gris);
	font-size: 14px;
	line-height: 1;
}

.plato-goodies .pg-menu {
	position: relative;
	flex: 1 1 170px;
	min-width: 0;
}

.plato-goodies .pg-menu .pg-menu__bouton {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	background: #fff;
	border: 1.5px solid var(--pg-bord-champ);
	border-radius: 999px;
	padding: 0 16px 0 18px;
	height: 46px;
	margin: 0;
	cursor: pointer;
	font-family: var(--pg-texte);
	color: var(--pg-encre);
	transition: border-color .2s ease;
}

.plato-goodies .pg-menu.est-ouvert .pg-menu__bouton,
.plato-goodies .pg-menu.est-actif .pg-menu__bouton { border-color: var(--pg-framboise); }

.plato-goodies .pg-menu__etiquette { font-size: 13.5px; color: var(--pg-pale); white-space: nowrap; }

.plato-goodies .pg-menu__valeur {
	font-weight: 600;
	font-size: 14.5px;
	color: var(--pg-encre);
	white-space: nowrap;
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: left;
}

.plato-goodies .pg-menu__fleche {
	font-size: 9px;
	color: var(--pg-gris);
	display: inline-block;
	transition: transform .25s cubic-bezier(.2, .8, .2, 1);
}

.plato-goodies .pg-menu.est-ouvert .pg-menu__fleche { transform: rotate(180deg); }

.plato-goodies .pg-menu__liste {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	z-index: 20;
	width: max(100%, 250px);
	max-width: calc(100vw - 32px);
	background: #fff;
	border: 1.5px solid var(--pg-bord);
	border-radius: 22px;
	box-shadow: 0 18px 44px rgba(42, 37, 54, .14);
	padding: 8px;
	opacity: 0;
	transform: translateY(-6px);
	visibility: hidden;
	transition: opacity .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1), visibility .2s;
}

.plato-goodies .pg-menu.est-a-droite .pg-menu__liste { left: auto; right: 0; }

.plato-goodies .pg-menu.est-ouvert .pg-menu__liste {
	opacity: 1;
	transform: none;
	visibility: visible;
}

/* Une centaine de numéros, des dizaines d'éditeurs : la liste défile. */
.plato-goodies .pg-menu__options {
	max-height: min(340px, 55vh);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.plato-goodies .pg-menu .pg-option {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 12px;
	margin: 0;
	border: none;
	border-radius: 14px;
	background: transparent;
	cursor: pointer;
	font-family: var(--pg-texte);
	text-align: left;
	color: var(--pg-encre);
	transition: background .15s ease;
}

.plato-goodies .pg-menu .pg-option:hover,
.plato-goodies .pg-menu .pg-option:focus-visible { background: var(--pg-fond); outline: none; }

.plato-goodies .pg-option__marque {
	position: relative;
	width: 20px;
	height: 20px;
	flex: none;
	border: 1.5px solid var(--pg-bord-champ);
	background: #fff;
	transition: background .15s ease, border-color .15s ease;
}

.plato-goodies .pg-option--case .pg-option__marque { border-radius: 6px; }
.plato-goodies .pg-option--rond .pg-option__marque { border-radius: 50%; }

.plato-goodies .pg-option[aria-selected="true"] .pg-option__marque { border-color: var(--pg-framboise); }
.plato-goodies .pg-option--case[aria-selected="true"] .pg-option__marque { background: var(--pg-framboise); }

.plato-goodies .pg-option--case .pg-option__marque::after {
	content: '✔';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	opacity: 0;
}

.plato-goodies .pg-option--case[aria-selected="true"] .pg-option__marque::after { opacity: 1; }

.plato-goodies .pg-option--rond .pg-option__marque::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	background: var(--pg-framboise);
	transform: scale(0);
	transition: transform .18s cubic-bezier(.2, .8, .2, 1);
}

.plato-goodies .pg-option--rond[aria-selected="true"] .pg-option__marque::after { transform: scale(1); }

.plato-goodies .pg-option__libelle {
	flex: 1;
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 15px;
	color: var(--pg-encre);
}

.plato-goodies .pg-option__compte { font-size: 12.5px; color: var(--pg-pale); }

.plato-goodies .pg-menu__pied {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	border-top: 1px solid var(--pg-bord);
	margin-top: 6px;
	padding: 8px 6px 2px;
}

.plato-goodies .pg-menu .pg-menu__effacer {
	font-family: var(--pg-texte);
	font-weight: 600;
	font-size: 13.5px;
	color: var(--pg-gris-doux);
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px;
}

.plato-goodies .pg-menu .pg-menu__effacer:hover { color: var(--pg-framboise-fonce); }

.plato-goodies .pg-menu .pg-menu__valider {
	font-family: var(--pg-texte);
	font-weight: 600;
	font-size: 13.5px;
	color: #fff;
	background: var(--pg-framboise);
	border: none;
	border-radius: 999px;
	cursor: pointer;
	padding: 7px 16px;
	transition: background .18s ease;
}

.plato-goodies .pg-menu .pg-menu__valider:hover { background: var(--pg-framboise-fonce); }

/* ----------------------------------------------------------- Résultats --- */

.plato-goodies .pg-resultats {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 22px 0 18px;
	font-size: 14.5px;
	color: var(--pg-gris);
}

.plato-goodies .pg-resultats strong {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 17px;
	color: var(--pg-encre);
}

/* -------------------------------------------------------------- Grille --- */

.plato-goodies .pg-grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--pg-colonne-min)), 1fr));
	gap: 20px;
}

/* colonnes="3" : nombre fixe sur ordinateur, repli progressif ensuite. */
.plato-goodies.pg--colonnes .pg-grille { grid-template-columns: repeat(var(--pg-colonnes), minmax(0, 1fr)); }

@media (max-width: 980px) {
	.plato-goodies.pg--colonnes .pg-grille { grid-template-columns: repeat(min(var(--pg-colonnes), 3), minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.plato-goodies.pg--colonnes .pg-grille { grid-template-columns: repeat(min(var(--pg-colonnes), 2), minmax(0, 1fr)); }
}

@media (max-width: 560px) {
	.plato-goodies .pg-grille,
	.plato-goodies.pg--colonnes .pg-grille { grid-template-columns: minmax(0, 1fr); }

	.plato-goodies.pg--mobile-2 .pg-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.plato-goodies.pg--mobile-2 .pg-carte { border-radius: 20px; }
	.plato-goodies.pg--mobile-2 .pg-carte__corps { padding: 12px 12px 14px; }
	.plato-goodies.pg--mobile-2 .pg-carte__titre { font-size: 16px; }
	.plato-goodies.pg--mobile-2 .pg-carte__editeurs,
	.plato-goodies.pg--mobile-2 .pg-carte__lien { font-size: 13px; }
}

/* --------------------------------------------------------------- Carte --- */

.plato-goodies .pg-carte {
	container-type: inline-size;
	background: #fff;
	border: 1.5px solid var(--pg-bord);
	border-radius: 26px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	transition: border-color .2s ease, box-shadow .25s ease;
}

.plato-goodies .pg-carte.pg-anime {
	animation: pgApparait .45s cubic-bezier(.2, .8, .2, 1) both;
	animation-delay: var(--pg-delai, 0s);
}

.plato-goodies .pg-carte:hover {
	border-color: var(--pg-framboise-pale);
	box-shadow: 0 14px 34px rgba(42, 37, 54, .10);
}

.plato-goodies .pg-carte .pg-carte__visuel {
	position: relative;
	display: block;
	width: 100%;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	background: var(--pg-soleil);
	aspect-ratio: var(--pg-ratio);
	overflow: hidden;
}

.plato-goodies .pg-carte button.pg-carte__visuel { cursor: zoom-in; }

.plato-goodies .pg-carte .pg-carte__image {
	position: absolute;
	inset: 14px;
	width: calc(100% - 28px);
	height: calc(100% - 28px);
	max-width: none;
	object-fit: contain;
	filter: drop-shadow(0 10px 18px rgba(42, 37, 54, .16));
	transition: transform .35s cubic-bezier(.2, .8, .2, 1);
}

.plato-goodies .pg-carte button.pg-carte__visuel:hover .pg-carte__image { transform: scale(1.03); }

.plato-goodies .pg-carte .pg-carte__image--vide {
	inset: 50% auto auto 50%;
	width: 84px;
	height: 84px;
	margin: -42px 0 0 -42px;
	opacity: .35;
	filter: grayscale(1);
}

.plato-goodies .pg-carte__numero,
.plato-goodies .pg-carte__plusieurs {
	position: absolute;
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.2;
	padding: 5px 11px;
	border-radius: 999px;
}

.plato-goodies .pg-carte__numero { top: 12px; left: 12px; background: var(--pg-brume); color: #fff; }

/* En bas à droite : en haut, elle chevaucherait le numéro sur les cartes étroites. */
.plato-goodies .pg-carte__plusieurs {
	right: 12px;
	bottom: 12px;
	box-shadow: 0 2px 8px rgba(42, 37, 54, .12);
	background: rgba(255, 255, 255, .92);
	color: var(--pg-brume);
}

.plato-goodies .pg-carte__corps {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.plato-goodies .pg-carte .pg-carte__titre {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.2;
	color: var(--pg-encre);
	margin: 0;
	padding: 0;
	text-wrap: pretty;
}

.plato-goodies .pg-carte .pg-carte__editeurs {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--pg-gris-doux);
}

.plato-goodies .pg-carte .pg-carte__editeur {
	font-family: var(--pg-texte);
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}

.plato-goodies .pg-carte button.pg-carte__editeur { cursor: pointer; transition: color .18s ease; }
.plato-goodies .pg-carte button.pg-carte__editeur:hover { color: var(--pg-framboise-fonce); }

.plato-goodies .pg-carte .pg-carte__lien {
	margin-top: auto;
	padding-top: 12px;
	font-weight: 600;
	font-size: 14px;
	color: var(--pg-framboise);
	text-decoration: none;
}

.plato-goodies .pg-carte .pg-carte__lien:hover { color: var(--pg-framboise-fonce); }

@container (max-width: 170px) {
	.plato-goodies .pg-carte__plusieurs { display: none; }
}

/* ---------------------------------------------------------- État vide --- */

.plato-goodies .pg-vide {
	animation: pgFondu .3s ease both;
	text-align: center;
	padding: 64px 24px;
	background: #fff;
	border: 1.5px solid var(--pg-bord);
	border-radius: 26px;
	position: relative;
	overflow: hidden;
}

.plato-goodies .pg-vide__tache {
	position: absolute;
	top: 30px;
	left: 50%;
	width: 160px;
	height: 160px;
	margin-left: -80px;
	background: var(--pg-framboise-voile);
	border-radius: 42% 58% 63% 37% / 48% 42% 58% 52%;
}

.plato-goodies .pg-vide .pg-vide__image {
	position: relative;
	width: 84px;
	height: 84px;
	object-fit: contain;
	margin: 0 auto 18px;
	display: block;
}

.plato-goodies .pg-vide .pg-vide__titre {
	position: relative;
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.3;
	color: var(--pg-encre);
	margin: 0 0 8px;
	padding: 0;
}

.plato-goodies .pg-vide .pg-vide__texte {
	position: relative;
	margin: 0 0 20px;
	padding: 0;
	color: var(--pg-gris);
	font-size: 15px;
	line-height: 1.5;
}

.plato-goodies .pg-vide .pg-bouton { position: relative; }

/* ------------------------------------------------- Plus / Voir tout --- */

.plato-goodies .pg-plus,
.plato-goodies .pg-tout {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.plato-goodies .pg-plus:has(> [hidden]) { display: none; }
.plato-goodies .pg-plus + .pg-tout { margin-top: 16px; }

/* --------------------------------------------------------- Vue agrandie --- */

body.pg-sans-defilement { overflow: hidden; }

.pg-agrandi {
	position: fixed;
	inset: 0;
	z-index: 100000; /* au-dessus de l'en-tête fixe de Divi */
	background: rgba(42, 37, 54, .72);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	animation: pgFondu .25s ease both;
}

.pg-agrandi .pg-agrandi__boite {
	background: var(--pg-fond);
	border-radius: 28px;
	max-width: 880px;
	width: 100%;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	overflow-y: auto;
	animation: pgZoom .35s cubic-bezier(.2, .8, .2, 1) both;
}

.pg-agrandi .pg-agrandi__visuel {
	background: var(--pg-soleil);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	min-height: 240px;
}

.pg-agrandi .pg-agrandi__image {
	display: block;
	width: 100%;
	height: min(60vh, 520px);
	max-width: none;
	object-fit: contain;
	filter: drop-shadow(0 14px 26px rgba(42, 37, 54, .2));
}

.pg-agrandi .pg-agrandi__infos {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-family: var(--pg-texte);
	color: var(--pg-encre);
}

.pg-agrandi .pg-agrandi__haut {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

.pg-agrandi .pg-agrandi__pastilles { display: flex; flex-wrap: wrap; gap: 6px; }

.pg-agrandi .pg-agrandi__numero,
.pg-agrandi .pg-agrandi__plusieurs {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.2;
	padding: 5px 12px;
	border-radius: 999px;
}

.pg-agrandi .pg-agrandi__numero { background: var(--pg-brume); color: #fff; }
.pg-agrandi .pg-agrandi__plusieurs { background: #fff; color: var(--pg-brume); border: 1.5px solid #E4D8F5; }

.pg-agrandi .pg-agrandi__fermer {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid var(--pg-bord-fort);
	background: #fff;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	color: var(--pg-gris);
	padding: 0;
}

.pg-agrandi .pg-agrandi__fermer:hover { border-color: var(--pg-framboise); color: var(--pg-framboise-fonce); }

.pg-agrandi .pg-agrandi__titre {
	font-family: var(--pg-titre);
	font-weight: 600;
	font-size: 30px;
	line-height: 1.1;
	color: var(--pg-encre);
	margin: 8px 0 0;
	padding: 0;
}

.pg-agrandi .pg-agrandi__editeurs { font-size: 15px; color: var(--pg-gris-doux); }

.pg-agrandi .pg-agrandi__texte,
.pg-agrandi .pg-agrandi__description p {
	margin: 10px 0 0;
	padding: 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--pg-gris);
}

.pg-agrandi .pg-agrandi__actions {
	margin-top: auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 16px;
}

.pg-agrandi .pg-agrandi__actions .pg-bouton { box-shadow: none; }

.pg-agrandi .pg-agrandi__navigation {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding-top: 14px;
	border-top: 1px solid var(--pg-bord);
	margin-top: 6px;
}

.pg-agrandi .pg-agrandi__pas {
	font-family: var(--pg-texte);
	font-weight: 600;
	font-size: 14px;
	color: var(--pg-gris);
	background: none;
	border: none;
	cursor: pointer;
	padding: 6px 0;
}

.pg-agrandi .pg-agrandi__pas:hover { color: var(--pg-framboise-fonce); }
.pg-agrandi .pg-agrandi__position { font-size: 13px; color: var(--pg-pale); }

/* Téléphone : l'image laisse voir titre et boutons sans défiler. */
@media (max-width: 640px) {
	.pg-agrandi .pg-agrandi__visuel { padding: 16px; min-height: 0; }
	.pg-agrandi .pg-agrandi__image { height: min(40vh, 360px); }
	.pg-agrandi .pg-agrandi__infos { padding: 20px 22px 22px; }
	.pg-agrandi .pg-agrandi__titre { font-size: 24px; }
}

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