/* =================================================================
   PKB — Single Carte Pokémon
   Propre, sans doublons, organisé par section
================================================================= */

/* 1. PAGE & FOND ------------------------------------------------- */
.pkb-page {
	/* Couleurs de thème de la carte — modifiables par type Pokémon */
	--pkb-a:    #2a75bb;
	--pkb-b:    var(--idd-color-secondary);
	--pkb-card: var(--idd-surface-glass-strong, rgba(255,255,255,.82));

	background:
		radial-gradient(circle at top left,  color-mix(in srgb, var(--pkb-a) 18%, transparent), transparent 34%),
		radial-gradient(circle at top right, color-mix(in srgb, var(--pkb-b) 22%, transparent), transparent 28%),
		linear-gradient(180deg, var(--pkb-bg-soft), var(--idd-color-bg-alt, #f8fafc) 38%, #fff);
	color: var(--pkb-ink);
	min-height: 100vh;
	padding: 34px 0 90px;
	overflow-x: clip;
}

html, body { max-width: 100%; overflow-x: clip; }

.pkb-wrap {
	width: min(var(--pkb-container, 1240px), calc(100% - 32px));
	margin: 0 auto;
	box-sizing: border-box;
}

/* 2. GLASS ------------------------------------------------------- */
.pkb-glass {
	background: var(--pkb-card);
	border: 1px solid var(--pkb-border);
	border-radius: 32px;
	box-shadow: 0 22px 70px rgba(15,23,42,.10);
	backdrop-filter: blur(18px);
}

/* 3. STICKY MINI-HEADER ----------------------------------------- */
.pkb-sticky-bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.92));
	border-bottom: 1px solid var(--pkb-border);
	backdrop-filter: blur(20px);
	box-shadow: 0 4px 24px rgba(15,23,42,.10);
	transform: translateY(-110%);
	transition: transform .3s cubic-bezier(.4,0,.2,1);
	padding: 0 20px;
}

.pkb-sticky-bar.is-visible { transform: translateY(0); }

.pkb-sticky-inner {
	/* Largeur alignée sur --idd-container-width (étape uniformisation 2026-05-20) */
	max-width: var(--idd-container-width, var(--pkb-container, 1680px));
	margin: 0 auto;
	height: 58px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.pkb-sticky-img {
	width: 36px;
	height: 48px;
	object-fit: contain;
	flex: 0 0 auto;
	filter: drop-shadow(0 4px 8px rgba(15,23,42,.20));
}

.pkb-sticky-info {
	flex: 1;
	min-width: 0;
}

.pkb-sticky-info strong {
	display: block;
	font-size: 15px;
	font-weight: 1000;
	color: var(--pkb-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pkb-sticky-info span {
	font-size: 12px;
	color: var(--pkb-muted);
	font-weight: 800;
}

.pkb-sticky-price {
	font-size: 17px;
	font-weight: 1000;
	color: var(--pkb-a);
	white-space: nowrap;
	flex: 0 0 auto;
}

.pkb-sticky-actions {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

.pkb-hero {
	display: grid;
	grid-template-columns: minmax(390px, 0.95fr) minmax(0, 1.55fr);
	gap: 24px;
	align-items: stretch;
	margin-bottom: 24px;
	/* Retire le fond/border/ombre hérités du look hero DS (pkb-design-system.css):
	   on veut uniquement voir les 2 cartes .pkb-glass (visuel + head), pas de
	   wrapper visible derrière. */
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.pkb-hero::before {
	content: none;
}

.pkb-visual {
	padding: 22px;
	position: sticky;
	top: 72px;
	align-self: stretch;
	display: flex;
	flex-direction: column;
}

.pkb-head {
	padding: clamp(22px, 4vw, 42px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.pkb-card-stage {
	flex: 1;
	border-radius: var(--pkb-radius-xl);
	background:
		radial-gradient(circle at var(--shine-x, 50%) var(--shine-y, 30%), var(--idd-surface-glass-strong, rgba(255,255,255,.90)), transparent 58%),
		linear-gradient(135deg,
			color-mix(in srgb, var(--pkb-a) 14%, #fff),
			color-mix(in srgb, var(--pkb-b) 18%, #fff));
	padding: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 560px;
	overflow: hidden;
	position: relative;
}

.pkb-main-img {
	width: min(100%, 390px);
	height: auto;
	display: block;
	filter: drop-shadow(0 28px 34px rgba(15,23,42,.24));
	transition: transform .25s ease;
	will-change: transform;
}

/* 6. ACTIONS & PARTAGE ------------------------------------------ */
.pkb-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 16px;
}

.pkb-actions > * {
	width: 52px;
	height: 52px;
	min-width: 52px;
	border-radius: var(--pkb-radius-pill);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	font-size: 0;
	border: 1px solid var(--pkb-border);
	background: var(--idd-color-bg);
	box-shadow: 0 10px 24px rgba(15,23,42,.10);
	cursor: pointer;
	transition: transform var(--pkb-transition), box-shadow var(--pkb-transition);
	text-decoration: none;
}

.pkb-actions > *:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(15,23,42,.14);
}

/* .pkb-share-zone : ancien bloc partage horizontal supprimé — remplacé par le FAB flottant */

/* 7. PANNEAU INFO ------------------------------------------------ */
.pkb-head {
	padding: clamp(22px, 4vw, 42px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 8. BADGES, TYPES, ICÔNES -------------------------------------- */
.pkb-badges, .pkb-types, .pkb-official-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.pkb-badge, .pkb-type, .pkb-rarity-icon, .pkb-pokedex-kicker span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 12px;
	border-radius: var(--pkb-radius-pill);
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	color: var(--pkb-ink);
	font-size: 12px;
	font-weight: 950;
}

.pkb-badge.hot {
	background: linear-gradient(135deg, var(--pkb-a), var(--pkb-b));
	color: var(--idd-color-text-inverse);
	border-color: transparent;
}

.pkb-badge.set {
	background: color-mix(in srgb, var(--pkb-a) 12%, #fff);
	color: color-mix(in srgb, var(--pkb-a) 75%, #0f172a);
	border-color: color-mix(in srgb, var(--pkb-a) 25%, transparent);
}

.pkb-official-icons {
	margin-bottom: 16px;
}

.pkb-official-icons img,
.pkb-official-icons svg {
	width: 44px;
	height: 44px;
	border-radius: var(--pkb-radius-pill);
	object-fit: contain;
}

.pkb-rarity-icon {
	width: 38px;
	height: 38px;
	padding: 0;
	font-size: 18px;
}

.pkb-rarity-icon.is-ultra, .pkb-rarity-icon.is-rare { background: var(--idd-color-text, #111827); color: #facc15; }
.pkb-rarity-icon.is-promo  { background: #ec4899; color: var(--idd-color-text-inverse); }
.pkb-rarity-icon.is-uncommon { background: var(--idd-color-bg-alt, #f8fafc); color: var(--idd-color-text-muted, #334155); }

/* 9. TITRE & SOUS-INFO ------------------------------------------ */
.pkb-title {
	margin: 16px 0 8px;
	font-size: clamp(38px, 6vw, 72px);
	line-height: .92;
	letter-spacing: -.07em;
	font-weight: 1000;
}

.pkb-title span {
	background: linear-gradient(135deg, var(--pkb-ink), var(--pkb-a));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pkb-sub {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
	color: var(--pkb-muted);
	font-size: 13px;
	font-weight: 900;
}

.pkb-sub span {
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.72));
	border: 1px solid var(--pkb-border);
	border-radius: var(--pkb-radius-pill);
	padding: 6px 12px;
}

/* 10. RÉSUMÉ SEO ------------------------------------------------- */
.pkb-seo-summary {
	margin: 0 0 16px;
	padding: 14px 16px;
	border-radius: 20px;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.66));
	border: 1px solid var(--pkb-border);
}

.pkb-seo-summary p {
	margin: 0;
	color: var(--pkb-muted);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}

.pkb-seo-summary p + p { margin-top: 8px; }

/* 11. STATS HÉRO ------------------------------------------------- */
.pkb-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.pkb-stat,
.pkb-market-card,
.pkb-mini {
	padding: 16px;
	border-radius: 20px;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	box-shadow: 0 8px 20px rgba(15,23,42,.05);
}

.pkb-stat {
	min-height: 112px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.pkb-stat span,
.pkb-market-card span,
.pkb-mini span {
	display: block;
	font-size: 11px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pkb-muted);
	margin-bottom: 8px;
}

.pkb-stat strong,
.pkb-market-card strong,
.pkb-mini strong {
	display: block;
	font-size: 18px;
	font-weight: 1000;
	color: var(--pkb-ink);
	line-height: 1.2;
}

/* Prix indicatif : carte large propre */
.pkb-stat-price {
	grid-column: 1 / -1;
	min-height: 170px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	text-align: left;
}

.pkb-price-badge-main {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin: 0 !important;
	padding: 7px 13px;
	border-radius: var(--pkb-radius-pill);
	background: linear-gradient(135deg, var(--pkb-a), var(--pkb-b));
	color: var(--idd-color-text-inverse) !important;
	font-size: 11px !important;
	font-weight: 1000 !important;
	text-transform: uppercase !important;
	letter-spacing: .06em !important;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--pkb-a) 22%, transparent);
}

.pkb-price-main-row {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
}

.pkb-price-main-row strong {
	display: block;
	font-size: clamp(38px, 5vw, 58px);
	line-height: .95;
	font-weight: 1000;
	letter-spacing: -.045em;
	color: var(--pkb-ink);
	white-space: nowrap;
}



.pkb-trend.up {
	color: var(--idd-color-success, #15803d);
	background: rgba(34,197,94,.10);
	border-color: rgba(34,197,94,.22);
}

.pkb-trend.down {
	color: var(--idd-color-primary-hover, #d40000);
	background: rgba(254,2,1,.10);
	border-color: rgba(254,2,1,.15);
}

.pkb-price-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
	margin: 0;
}

.pkb-price-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 11px;
	border-radius: var(--pkb-radius-pill);
	font-size: 11px;
	font-weight: 950;
	border: 1px solid rgba(15,23,42,.08);
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.75));
	color: var(--idd-color-text-muted, #334155);
	white-space: nowrap;
}

.pkb-price-pill.low {
	background: rgba(254,2,1,.10);
	color: var(--idd-color-primary-hover, #d40000);
	border-color: rgba(254,2,1,.15);
}

.pkb-price-pill.avg {
	background: rgba(34,197,94,.10);
	color: var(--idd-color-success, #15803d);
	border-color: rgba(34,197,94,.22);
}

.pkb-price-pill.high {
	background: rgba(245,158,11,.12);
	color: var(--pkb-warning-hover);
	border-color: rgba(245,158,11,.28);
}

.pkb-price-source {
	display: block;
	margin: 0;
	color: var(--pkb-muted);
	font-size: 12px;
	font-weight: 850;
	line-height: 1.35;
	text-transform: none;
	letter-spacing: 0;
}

.pkb-price-updated-inline {
	display: block;
	margin: 0;
	color: var(--pkb-muted);
	font-size: 11px;
	font-weight: 750;
	line-height: 1.35;
}

.pkb-price-source,
.pkb-price-updated-inline {
	text-align: left;
}

.pkb-trend {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 34px;
	font-weight: 1000;
	line-height: .8;
	font-family: Arial, sans-serif;
	transform: translateY(2px);
}

.pkb-trend.up {
	color: var(--idd-color-success, #15803d);
}

.pkb-trend.down {
	color: var(--idd-color-primary-hover, #d40000);
}

/* 12. SECTIONS --------------------------------------------------- */
.pkb-section {
	margin-top: 24px;
	padding: clamp(20px, 3vw, 30px);
	box-sizing: border-box;
	min-width: 0;
}

.pkb-section-title {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 16px;
	margin-bottom: 18px;
}

.pkb-section-title h2 {
	margin: 0;
	font-size: clamp(22px, 3vw, 36px);
	line-height: 1;
	letter-spacing: -.05em;
	font-weight: 1000;
	color: var(--pkb-ink);
}

.pkb-section-title p {
	margin: 6px 0 0;
	color: var(--pkb-muted);
	font-size: 13px;
	font-weight: 800;
}

/* 13. MARCHÉ — LAYOUT ------------------------------------------- */
.pkb-market-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
	gap: 18px;
	align-items: start;
	min-width: 0;
}

/* 14. GRAPHIQUE PRIX -------------------------------------------- */
.pkb-chart {
	min-height: 280px;
	border-radius: var(--pkb-radius-lg);
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	padding: 18px;
	overflow: hidden;
	max-width: 100%;
}

.pkb-chart svg { width: 100%; height: 200px; display: block; max-width: 100%; }

.pkb-chart-line {
	fill: none;
	stroke: var(--pkb-a);
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pkb-chart-area {
	fill: color-mix(in srgb, var(--pkb-a) 16%, transparent);
	stroke: none;
}

.pkb-chart-labels {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px;
}

.pkb-chart-labels span {
	padding: 9px 8px;
	border-radius: var(--pkb-radius-sm);
	background: var(--idd-color-bg-alt, #f8fafc);
	font-size: 12px;
	font-weight: 850;
	color: var(--pkb-muted);
	text-align: center;
}

.pkb-chart-labels strong { color: var(--pkb-ink); font-size: 13px; }

/* 15. TABLEAU PRIX ---------------------------------------------- */
.pkb-price-table {
	margin-top: 14px;
	border-radius: 20px;
	overflow-x: auto;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	width: 100%;
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
}

.pkb-price-table table {
	width: 100%;
	border-collapse: collapse;
	min-width: 540px;
}

.pkb-price-table th, .pkb-price-table td {
	padding: 13px 14px;
	border-bottom: 1px solid rgba(15,23,42,.07);
	text-align: left;
	font-size: 13px;
	font-weight: 850;
}

.pkb-price-table th {
	color: var(--pkb-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 11px;
	background: var(--idd-color-bg-alt, #f8fafc);
}

/* 16. CARDS MARCHÉ ---------------------------------------------- */
.pkb-market-cards { display: grid; gap: 10px; }

/* 17. PLATEFORMES D'ACHAT --------------------------------------- */
.pkb-platform-grid, .pkb-official-grid, .pkb-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.pkb-official-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* 17.b STATS ROW — Faiblesses / Résistances / Retraite / Caractéristiques / Série ----- */
/* ---- styles internes (icônes énergie en rond, badges, hover) ---- */

/* Hover doux pour toutes les cellules */
.pkb-stats-row .pkb-stat-cell {
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pkb-stats-row .pkb-stat-cell:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(15,23,42,.08);
}

/* Faiblesses : icône dans un rond coloré */
.pkb-stats-row .liste-weaknesses .weakness-badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 0;
	background: transparent;
	border: 0;
}
.pkb-stats-row .liste-weaknesses .weakness-icon {
	width: 48px !important;
	height: 48px !important;
	padding: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(239,68,68,.18), rgba(239,68,68,.08));
	border: 1px solid rgba(239,68,68,.25);
	box-shadow: 0 4px 12px rgba(239,68,68,.18), inset 0 1px 0 rgba(255,255,255,.4);
	object-fit: contain;
}
.pkb-stats-row .liste-weaknesses .weakness-label {
	font-size: 13px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.01em;
}
.pkb-stats-row .liste-weaknesses .weakness-multiplier {
	display: inline-block;
	margin-left: 4px;
	padding: 1px 6px;
	font-size: 11px;
	font-weight: 1000;
	background: var(--pkb-primary-hover);
	color: var(--idd-color-text-inverse);
	border-radius: var(--pkb-radius-pill, 999px);
	box-shadow: 0 2px 5px rgba(239,68,68,.3);
}

/* Résistances : si data présente, mêmes ronds verts */
.pkb-stats-row .resistance-container:not(.is-empty) .resistance-icons {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: transparent;
	padding: 0;
	border: 0;
}
.pkb-stats-row .resistance-container .resistance-item {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
.pkb-stats-row .resistance-container .resistance-item img {
	width: 48px;
	height: 48px;
	padding: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(34,197,94,.18), rgba(34,197,94,.08));
	border: 1px solid rgba(34,197,94,.25);
	box-shadow: 0 4px 12px rgba(34,197,94,.18), inset 0 1px 0 rgba(255,255,255,.4);
	object-fit: contain;
}
.pkb-stats-row .resistance-container .resistance-label {
	font-size: 13px;
	font-weight: 1000;
	color: var(--pkb-ink);
}

/* Coût de retraite : icônes en cercle gris */
.pkb-stats-row .retreat-container .retreat-box {
	background: transparent;
	border: 0;
	padding: 0;
}
.pkb-stats-row .retreat-icons {
	display: inline-flex;
	gap: 6px;
	flex-wrap: wrap;
	justify-content: center;
}
.pkb-stats-row .retreat-icons img {
	width: 40px !important;
	height: 40px !important;
	padding: 7px;
	border-radius: 50%;
	background: linear-gradient(135deg, rgba(148,163,184,.18), rgba(148,163,184,.08));
	border: 1px solid rgba(148,163,184,.25);
	box-shadow: 0 4px 10px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.5);
	object-fit: contain;
}

/* Placeholder N/A : compact pour s'inscrire dans la cellule */
.pkb-stats-row .pic-empty-na {
	min-width: 0;
	height: 32px;
	padding: 0 12px;
	font-size: 12px;
	letter-spacing: .12em;
}
.pkb-stats-row .pic-empty-hint {
	margin-top: 6px;
	font-size: 11px;
}
.pkb-stats-row .resistance-container.is-empty .resistance-box,
.pkb-stats-row .liste-weaknesses.is-empty .pokemon-weaknesses,
.pkb-stats-row .retreat-container.is-empty .retreat-box {
	background: transparent;
	border: 0;
	padding: 0;
}

/* Data-cards (Caractéristiques / Série) : séparateurs subtils */
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row {
	border-bottom: 1px dashed var(--pkb-border);
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row:last-child {
	border-bottom: 0;
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row span {
	color: var(--pkb-muted);
	font-weight: 850;
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row strong {
	color: var(--pkb-ink);
	text-align: right;
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card a {
	color: var(--pkb-ink);
	text-decoration: none;
	border-bottom: 1px dotted color-mix(in srgb, var(--pkb-a) 40%, transparent);
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card a:hover {
	color: var(--pkb-a);
	border-bottom-color: var(--pkb-a);
}

/* ---- layout ---- */
.pkb-stats-row {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1.35fr 1.35fr;
	gap: 12px;
	margin-top: 18px;
	align-items: stretch;
}
.pkb-stats-row .pkb-stat-cell {
	padding: 14px;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.pkb-stats-row .pkb-stat-cell h3 {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 1000;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--pkb-muted);
	text-align: left;
}
.pkb-stats-row .pkb-stat-cell.pkb-official-box {
	align-items: center;
	justify-content: flex-start;
	text-align: center;
}
.pkb-stats-row .pkb-stat-cell.pkb-official-box > h3 {
	text-align: center;
	width: 100%;
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-info { gap: 4px; }
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row {
	padding: 5px 0;
	gap: 8px;
}
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row span,
.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row strong {
	font-size: 12px;
	line-height: 1.3;
}

/* Tablette : 3 cellules compactes sur ligne 1, 2 data-cards sur ligne 2 */
@media (max-width: 1099px) and (min-width: 761px) {
	.pkb-stats-row {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
	.pkb-stats-row > .pkb-stat-cell:nth-child(-n+3) { grid-column: span 2; }
	.pkb-stats-row > .pkb-stat-cell:nth-child(n+4)  { grid-column: span 3; }
}

/* Mobile : tout empilé */
@media (max-width: 760px) {
	.pkb-stats-row { grid-template-columns: 1fr; gap: 10px; }
	.pkb-stats-row .pkb-stat-cell { padding: 14px; }
	.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row span,
	.pkb-stats-row .pkb-stat-cell.pkb-data-card .pkb-row strong { font-size: 13px; }
}

.pkb-platform-box, .pkb-official-box, .pkb-data-card, .pkb-rule, .pkb-attack, .pkb-ability {
	padding: 18px;
	border-radius: 22px;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	box-shadow: 0 8px 20px rgba(15,23,42,.045);
}

.pkb-platform-box h3, .pkb-official-box h3, .pkb-data-card h3 {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.03em;
}

.pkb-platform-content { display: grid; gap: 12px; }

.pkb-platform-content a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 40px;
	padding: 0 16px;
	border-radius: var(--pkb-radius-pill);
	background: var(--idd-color-bg-alt, #f8fafc);
	border: 1px solid rgba(15,23,42,.08);
	color: var(--pkb-ink);
	font-size: 13px;
	font-weight: 900;
	text-decoration: none;
	transition: background var(--pkb-transition);
}

.pkb-platform-content a:hover { background: var(--idd-color-border, #f1f5f9); }

/* 18. ZONE D'ACHAT ---------------------------------------------- */
.pkb-buy-panel {
	margin-top: 22px;
	padding: 20px;
	border-radius: 26px;
	background: linear-gradient(135deg, var(--idd-surface-glass-strong, rgba(255,255,255,.90)), var(--idd-surface-glass-strong, rgba(255,255,255,.72)));
	border: 1px solid rgba(15,23,42,.08);
	box-shadow: 0 12px 32px rgba(15,23,42,.07);
}

.pkb-buy-panel h3 {
	margin: 0 0 14px;
	font-size: 17px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.03em;
}

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

.pkb-buy-zone a, .pkb-buy-zone button {
	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 0 20px;
	border-radius: var(--pkb-radius-md);
	border: 1px solid var(--idd-surface-glass, rgba(255,255,255,.45));
	color: var(--idd-color-text-inverse);
	text-decoration: none;
	font-size: 15px;
	font-weight: 1000;
	line-height: 1.15;
	background: linear-gradient(135deg, color-mix(in srgb, var(--pkb-a) 88%, #fff), color-mix(in srgb, var(--pkb-b) 82%, #ec4899));
	box-shadow: 0 14px 30px color-mix(in srgb, var(--pkb-a) 22%, transparent), inset 0 1px 0 var(--idd-surface-glass, rgba(255,255,255,.35));
	cursor: pointer;
	overflow: hidden;
	transition: transform var(--pkb-transition), box-shadow var(--pkb-transition);
}

.pkb-buy-zone a::before, .pkb-buy-zone button::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(120deg, transparent 0%, var(--idd-surface-glass, rgba(255,255,255,.40)) 38%, transparent 58%);
	transform: translateX(-130%);
	transition: transform .5s ease;
}

.pkb-buy-zone a:hover, .pkb-buy-zone button:hover {
	transform: translateY(-2px);
	box-shadow: 0 20px 40px color-mix(in srgb, var(--pkb-a) 30%, transparent), inset 0 1px 0 var(--idd-surface-glass, rgba(255,255,255,.42));
}

.pkb-buy-zone a:hover::before, .pkb-buy-zone button:hover::before { transform: translateX(130%); }
.pkb-buy-zone a:active, .pkb-buy-zone button:active { transform: scale(.97); }

.pkb-buy-zone a[href*="cardmarket"] { background: linear-gradient(135deg, #d946ef, #ec4899, #fb7185); box-shadow: 0 16px 38px rgba(236,72,153,.26), inset 0 1px 0 var(--idd-surface-glass, rgba(255,255,255,.40)); }
.pkb-buy-zone a[href*="tcgplayer"]  { background: linear-gradient(135deg, var(--idd-color-info, #2563eb), #1565C0); box-shadow: 0 16px 38px rgba(37,99,235,.22), inset 0 1px 0 var(--idd-surface-glass, rgba(255,255,255,.40)); }
.pkb-buy-zone a[href*="ebay"], .pkb-buy-zone button[disabled], .pkb-buy-zone .disabled {
	background: linear-gradient(135deg, var(--idd-color-border, #f1f5f9), #fff);
	color: var(--pkb-text-light);
	box-shadow: 0 8px 20px rgba(15,23,42,.06);
	border-color: rgba(15,23,42,.08);
}

/* 19. ÉVOLUTION -------------------------------------------------- */
.pkb-evolution-clean {
	display: grid;
	grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
	gap: 12px;
	align-items: center;
}

.pkb-evo-node {
	min-height: 180px;
	padding: 16px;
	border-radius: var(--pkb-radius-lg);
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 8px 20px rgba(15,23,42,.045);
}

.pkb-evo-node.current {
	background:
		radial-gradient(circle at top, color-mix(in srgb, var(--pkb-a) 15%, transparent), transparent 52%),
		#fff;
	border-color: color-mix(in srgb, var(--pkb-a) 28%, rgba(15,23,42,.08));
}

.pkb-evo-node img {
	width: 88px;
	max-height: 120px;
	object-fit: contain;
	margin-bottom: 10px;
	filter: drop-shadow(0 10px 14px rgba(15,23,42,.18));
}

.pkb-evo-node strong { font-size: 15px; font-weight: 1000; color: var(--pkb-ink); }
.pkb-evo-node a      { color: inherit; text-decoration: none; }
.pkb-evo-node span   { margin-top: 5px; font-size: 11px; font-weight: 850; color: var(--pkb-muted); }
.pkb-arrow           { font-size: 26px; font-weight: 1000; color: var(--pkb-a); }

/* 19.b ÉVOLUTION POKÉDEX (sous-bloc dans Pokémon associé) ------- */
.pkb-pokedex-evolution {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px dashed var(--pkb-border);
}
.pkb-pokedex-evolution h4 {
	margin: 0 0 10px;
	font-size: 13px;
	font-weight: 1000;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--pkb-muted);
}
.pkb-pdx-evo-chain {
	display: flex;
	align-items: stretch;
	gap: 8px;
	flex-wrap: wrap;
}
.pkb-pdx-evo-node {
	flex: 1 1 0;
	min-width: 88px;
	padding: 10px 8px;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	border-radius: var(--pkb-radius-md, 12px);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	color: var(--pkb-ink);
	text-decoration: none;
	transition: transform var(--pkb-transition, .15s), box-shadow var(--pkb-transition, .15s), border-color var(--pkb-transition, .15s);
}
a.pkb-pdx-evo-node:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(15,23,42,.08);
	border-color: color-mix(in srgb, var(--pkb-a) 40%, var(--pkb-border));
}
.pkb-pdx-evo-node.is-current {
	background:
		radial-gradient(circle at top, color-mix(in srgb, var(--pkb-a) 15%, transparent), transparent 60%),
		#fff;
	border-color: color-mix(in srgb, var(--pkb-a) 35%, var(--pkb-border));
}
.pkb-pdx-evo-img {
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pkb-pdx-evo-img img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 6px 8px rgba(15,23,42,.15));
}
.pkb-pdx-evo-img span {
	font-size: 22px;
	color: var(--pkb-muted);
	font-weight: 1000;
}
.pkb-pdx-evo-node strong {
	font-size: 13px;
	font-weight: 1000;
	line-height: 1.2;
}
.pkb-pdx-evo-node small {
	font-size: 10px;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: var(--pkb-muted);
	font-weight: 850;
}
.pkb-pdx-evo-arrow {
	align-self: center;
	font-size: 20px;
	font-weight: 1000;
	color: var(--pkb-a);
	flex: 0 0 auto;
}

/* 20. ATTAQUES & CAPACITÉS -------------------------------------- */
.pkb-attack + .pkb-attack, .pkb-ability + .pkb-ability, .pkb-ability + .pkb-attack { margin-top: 12px; }

.pkb-attack-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

.pkb-attack-name { font-size: 17px; font-weight: 1000; color: var(--pkb-ink); letter-spacing: -.03em; }

.pkb-damage {
	min-width: 50px;
	height: 36px;
	border-radius: var(--pkb-radius-pill);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--pkb-a), var(--pkb-b));
	color: var(--idd-color-text-inverse);
	font-weight: 1000;
	font-size: 14px;
}

.pkb-cost { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; }

.pkb-energy {
	width: 28px;
	height: 28px;
	border-radius: var(--pkb-radius-pill);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--idd-color-bg-alt, #f8fafc);
	border: 1px solid var(--pkb-border);
	font-size: 11px;
	font-weight: 1000;
	color: var(--pkb-ink);
}

.pkb-text, .pkb-pokedex-desc, .pkb-empty {
	margin: 0;
	color: var(--pkb-muted);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.65;
}

.pkb-shortcode-box { display: grid; gap: 14px; }

/* 21.a PAIR ROW — 2 sections côte à côte sur desktop ----------- */
.pkb-pair-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	align-items: stretch;
	margin-top: 24px;
}
.pkb-pair-row > .pkb-section {
	margin: 0;
	min-width: 0;
}
@media (max-width: 1024px) {
	.pkb-pair-row {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 24px;
	}
}

/* 21.b LÉGALITÉS — chips colorées par format -------------------- */
.pkb-legalities-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}
.pkb-legal-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 10px;
	border-radius: var(--pkb-radius-pill, 999px);
	background: linear-gradient(135deg, var(--pkb-legal-bg-from, rgba(15,23,42,.06)), var(--pkb-legal-bg-to, rgba(15,23,42,.02)));
	border: 1px solid var(--pkb-legal-border, rgba(15,23,42,.08));
	color: var(--pkb-legal-ink, var(--pkb-ink));
	font-weight: 1000;
	font-size: 13px;
	letter-spacing: -.01em;
	box-shadow: 0 4px 12px rgba(15,23,42,.04);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pkb-legal-chip:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(15,23,42,.08);
}
.pkb-legal-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--pkb-legal-icon-bg, rgba(15,23,42,.08));
	color: var(--pkb-legal-icon-ink, var(--pkb-ink));
	flex: 0 0 22px;
}
.pkb-legal-format {
	font-weight: 1000;
	letter-spacing: .02em;
}
.pkb-legal-status {
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 1000;
	text-transform: uppercase;
	letter-spacing: .06em;
	border-radius: var(--pkb-radius-pill, 999px);
	background: var(--pkb-legal-status-bg, rgba(15,23,42,.06));
	color: var(--pkb-legal-status-ink, var(--pkb-muted));
}

/* États : autorisé / interdit / inconnu */
.pkb-legal-chip.is-ok {
	--pkb-legal-icon-bg: var(--pkb-green);
	--pkb-legal-icon-ink: #fff;
	--pkb-legal-status-bg: rgba(34,197,94,.12);
	--pkb-legal-status-ink: var(--pkb-success-hover);
}
.pkb-legal-chip.is-banned {
	--pkb-legal-icon-bg: var(--pkb-primary-hover);
	--pkb-legal-icon-ink: #fff;
	--pkb-legal-status-bg: rgba(239,68,68,.12);
	--pkb-legal-status-ink: var(--pkb-primary-hover);
}
.pkb-legal-chip.is-unknown {
	--pkb-legal-icon-bg: rgba(148,163,184,.4);
	--pkb-legal-icon-ink: var(--pkb-text-soft);
	--pkb-legal-status-bg: rgba(148,163,184,.18);
	--pkb-legal-status-ink: var(--pkb-text-soft);
}

/* Variantes par format */
.pkb-legal-chip.pkb-legal--standard {
	--pkb-legal-bg-from: rgba(59,130,246,.10);
	--pkb-legal-bg-to:   rgba(59,130,246,.03);
	--pkb-legal-border:  rgba(59,130,246,.22);
	--pkb-legal-ink:     #1e3a8a;
}
.pkb-legal-chip.pkb-legal--expanded {
	--pkb-legal-bg-from: rgba(168,85,247,.10);
	--pkb-legal-bg-to:   rgba(168,85,247,.03);
	--pkb-legal-border:  rgba(168,85,247,.22);
	--pkb-legal-ink:     #6b21a8;
}
.pkb-legal-chip.pkb-legal--unlimited {
	--pkb-legal-bg-from: rgba(71,85,105,.10);
	--pkb-legal-bg-to:   rgba(71,85,105,.03);
	--pkb-legal-border:  rgba(71,85,105,.22);
	--pkb-legal-ink:     #334155;
}

@media (max-width: 480px) {
	.pkb-legalities-row { gap: 8px; }
	.pkb-legal-chip { padding: 7px 12px 7px 8px; font-size: 12px; }
	.pkb-legal-status { font-size: 10px; padding: 1px 7px; }
}


/* 20.b ATTAQUES & CAPACITÉS — restylage ------------------------- */
.pkb-shortcode-box .liste-capacites,
.pkb-shortcode-box .liste-attaques {
	margin: 0;
}
.pkb-shortcode-box .liste-capacites h3,
.pkb-shortcode-box .liste-attaques h3,
.pkb-shortcode-box .liste-attaques .attaque-titre {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 1000;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--pkb-muted);
	display: flex;
	align-items: center;
	gap: 8px;
}

/* Capacités spéciales — variante accent */
.pkb-shortcode-box .liste-capacites {
	display: grid;
	gap: 10px;
}
.pkb-shortcode-box .liste-capacites .capacite-pokemon {
	position: relative;
	padding: 16px 18px 16px 56px;
	background:
		radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--pkb-a) 12%, transparent), transparent 60%),
		#fff;
	border: 1px solid color-mix(in srgb, var(--pkb-a) 22%, var(--pkb-border));
	border-radius: 16px;
	box-shadow: 0 6px 16px rgba(15,23,42,.06);
	color: var(--pkb-ink);
	font-size: 14px;
	line-height: 1.55;
}
.pkb-shortcode-box .liste-capacites .capacite-pokemon::before {
	content: '';
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: linear-gradient(135deg, color-mix(in srgb, var(--pkb-a) 70%, white), var(--pkb-a));
	box-shadow: 0 4px 10px color-mix(in srgb, var(--pkb-a) 35%, transparent), inset 0 1px 0 rgba(255,255,255,.4);
}
.pkb-shortcode-box .liste-capacites .capacite-pokemon::after {
	content: '✨';
	position: absolute;
	left: 14px;
	top: 50%;
	width: 32px;
	height: 32px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	filter: grayscale(.1);
}
/* Capacité = placeholder "aucune capacité" */
.pkb-shortcode-box .liste-capacites .capacite-pokemon:only-child:not(:has(.capacite-nom)) {
	background: rgba(248,250,252,.6);
	border: 1px dashed rgba(148,163,184,.4);
	color: var(--pkb-muted);
	font-style: italic;
	font-size: 13px;
}

/* Attaques — cards distinctes */
.pkb-shortcode-box .liste-attaques {
	display: grid;
	gap: 10px;
}
.pkb-shortcode-box .liste-attaques > h3,
.pkb-shortcode-box .liste-attaques .attaque-titre {
	margin-bottom: 6px;
}
.pkb-shortcode-box .liste-attaques .attaque-pokemon {
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	border-radius: 16px;
	padding: 14px 16px;
	margin: 0;
	box-shadow: 0 6px 16px rgba(15,23,42,.045);
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas:
		"cost  name   damage"
		"text  text   text";
	column-gap: 14px;
	row-gap: 6px;
	align-items: center;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pkb-shortcode-box .liste-attaques .attaque-pokemon:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(15,23,42,.09);
	border-color: color-mix(in srgb, var(--pkb-a) 30%, var(--pkb-border));
}
.pkb-shortcode-box .liste-attaques .attaque-nom {
	grid-area: name;
	margin: 0;
	font-size: 16px;
	font-weight: 1000;
	color: var(--pkb-ink);
	line-height: 1.2;
}
.pkb-shortcode-box .liste-attaques .attaque-nom strong { font-weight: 1000; }
.pkb-shortcode-box .liste-attaques .attaque-ligne {
	display: contents;
}
.pkb-shortcode-box .liste-attaques .attaque-cout {
	grid-area: cost;
	display: inline-flex;
	gap: 4px;
	flex-wrap: wrap;
}
.pkb-shortcode-box .liste-attaques .attaque-cout img {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--idd-color-bg);
	box-shadow: 0 3px 8px rgba(15,23,42,.16), inset 0 0 0 1.5px rgba(255,255,255,.6);
	padding: 3px;
	object-fit: contain;
}
.pkb-shortcode-box .liste-attaques .attaque-degats {
	grid-area: damage;
	margin: 0;
	padding: 4px 12px;
	min-width: 44px;
	text-align: center;
	font-size: 16px;
	font-weight: 1000;
	color: var(--idd-color-text-inverse);
	background: linear-gradient(135deg, var(--pkb-primary-hover), #dc2626);
	border-radius: var(--pkb-radius-pill, 999px);
	box-shadow: 0 4px 10px rgba(239,68,68,.32);
	letter-spacing: -.01em;
}
.pkb-shortcode-box .liste-attaques .attaque-texte {
	grid-area: text;
	margin: 0;
	padding-top: 4px;
	border-top: 1px dashed var(--pkb-border);
	font-size: 13px;
	font-style: italic;
	color: var(--pkb-muted);
	line-height: 1.5;
}

/* Règles spéciales — placeholder vide */
.pkb-shortcode-box .carte-pokemon-rules.rules-empty {
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(248,250,252,.6);
	border: 1px dashed rgba(148,163,184,.35);
	color: var(--pkb-muted);
	font-style: italic;
	font-size: 13px;
}

/* Mobile : attaques en stack vertical */
@media (max-width: 600px) {
	.pkb-shortcode-box .liste-attaques .attaque-pokemon {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"cost   damage"
			"name   name"
			"text   text";
		row-gap: 8px;
	}
	.pkb-shortcode-box .liste-attaques .attaque-degats { justify-self: end; }
	.pkb-shortcode-box .liste-attaques .attaque-cout img { width: 24px; height: 24px; }
}

/* 21. INFO GRID -------------------------------------------------- */
.pkb-info { display: grid; gap: 6px; }

.pkb-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(15,23,42,.07);
}

.pkb-row:last-child { border-bottom: 0; }
.pkb-row span  { color: var(--pkb-muted); font-size: 13px; font-weight: 850; }
.pkb-row strong { color: var(--pkb-ink); font-size: 13px; font-weight: 1000; text-align: right; }

/* 22. À PROPOS DE LA SÉRIE -------------------------------------- */
.pkb-set {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px;
	border-radius: var(--pkb-radius-lg);
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
}

.pkb-set img   { width: 110px; max-height: 70px; object-fit: contain; flex: 0 0 auto; }
.pkb-set h3    { margin: 0 0 7px; font-size: 22px; font-weight: 1000; letter-spacing: -.04em; }

/* 23. POKÉDEX LIÉ ----------------------------------------------- */
.pkb-pokedex-card {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 20px;
	align-items: stretch;
}

.pkb-pokedex-imgbox {
	height: 100%;
	min-height: 100%;
	border-radius: 26px;
	background:
		radial-gradient(circle at center, var(--idd-surface-glass-strong, rgba(255,255,255,.9)), transparent 60%),
		linear-gradient(135deg,
			color-mix(in srgb, var(--pkb-a) 16%, #fff),
			color-mix(in srgb, var(--pkb-b) 16%, #fff));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	box-sizing: border-box;
	overflow: hidden;
}

.pkb-pokedex-imgbox img {
	width: 100%;
	max-width: 220px;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 16px 20px rgba(15,23,42,.18));
}

.pkb-pokedex-content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pkb-pokedex-placeholder {
	width: 100px;
	height: 100px;
	border-radius: var(--pkb-radius-pill);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--idd-color-bg);
	font-size: 48px;
	font-weight: 1000;
	color: var(--pkb-muted);
}

.pkb-pokedex-kicker {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.pkb-pokedex-content h3 {
	margin: 10px 0;
	font-size: clamp(26px, 4vw, 46px);
	line-height: 1;
	letter-spacing: -.055em;
	font-weight: 1000;
	color: var(--pkb-ink);
}

.pkb-pokedex-metas {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 14px;
}

.pkb-pokedex-metas div {
	padding: 12px;
	border-radius: 16px;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
}

.pkb-pokedex-metas strong {
	display: block;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pkb-muted);
	margin-bottom: 4px;
}

.pkb-pokedex-metas span {
	font-size: 14px;
	font-weight: 1000;
	color: var(--pkb-ink);
}

.pkb-pokedex-abilities {
	margin: 12px 0 0;
	color: var(--pkb-muted);
	font-weight: 800;
	line-height: 1.6;
	font-size: 13px;
}

.pkb-pokedex-stats {
	display: grid;
	gap: 8px;
	margin-top: 14px;
}

.pkb-stat-bar {
	display: grid;
	grid-template-columns: 80px 1fr 40px;
	gap: 10px;
	align-items: center;
}

.pkb-stat-bar-label {
	font-size: 12px;
	font-weight: 900;
	color: var(--pkb-muted);
}

.pkb-stat-bar-track {
	height: 8px;
	border-radius: var(--pkb-radius-pill);
	background: var(--idd-color-border, #f1f5f9);
	overflow: hidden;
}

.pkb-stat-bar-fill {
	height: 100%;
	border-radius: var(--pkb-radius-pill);
	background: linear-gradient(90deg, var(--pkb-a), var(--pkb-b));
	width: 0%;
	transition: width .9s cubic-bezier(.34,1.56,.64,1);
}

.pkb-stat-bar-fill.is-animated {
	width: var(--stat-pct, 0%);
}

.pkb-stat-bar-value {
	font-size: 12px;
	font-weight: 1000;
	color: var(--pkb-ink);
	text-align: right;
}

.pkb-pokedex-content .pkb-btn {
	width: fit-content;
	margin-top: 16px;
}

@media (max-width: 1024px) {
	.pkb-pokedex-card {
		grid-template-columns: 1fr;
	}

	.pkb-pokedex-imgbox {
		height: auto;
		min-height: 280px;
	}

	.pkb-pokedex-imgbox img {
		max-height: 260px;
	}
}

@media (max-width: 760px) {
	.pkb-pokedex-imgbox {
		min-height: 240px;
	}

	.pkb-pokedex-metas {
		grid-template-columns: 1fr;
	}

	.pkb-stat-bar {
		grid-template-columns: 64px 1fr 34px;
	}
}


/* 24. BOUTONS GÉNÉRIQUES ---------------------------------------- */
.pkb-page .pkb-btn, .pkb-link-button {
	min-height: 46px;
	border-radius: var(--pkb-radius-pill);
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	font-weight: 1000;
	cursor: pointer;
}

.pkb-page .pkb-btn-primary, .pkb-link-button {
	background: linear-gradient(135deg, var(--pkb-a), var(--pkb-b));
	color: var(--idd-color-text-inverse);
	padding: 0 20px;
	box-shadow: 0 14px 32px color-mix(in srgb, var(--pkb-a) 24%, transparent);
}

/* 25. CARROUSELS ------------------------------------------------- */
.pkb-carousel-section {
	overflow: hidden;
	min-width: 0;
	max-width: 100%;
}

.pkb-carousel-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 0 auto;
}

.pkb-carousel-btn {
	width: 46px;
	height: 46px;
	min-width: 46px;
	border-radius: var(--pkb-radius-pill);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 1;
	font-size: 22px;
	font-weight: 1000;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	color: var(--pkb-ink);
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(15,23,42,.09);
	transition: opacity var(--pkb-transition);
}

.pkb-carousel {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(210px, 240px);
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scroll-padding-left: 2px;
	padding: 4px 2px 16px;
	scrollbar-width: thin;
	cursor: grab;
}

.pkb-carousel:active { cursor: grabbing; }

.pkb-carousel-item {
	scroll-snap-align: start;
	min-width: 0;
}

.pkb-carousel.is-dragging a,
.pkb-carousel.is-dragging button {
	pointer-events: none;
}

/* 26. LIGHTBOX --------------------------------------------------- */
.pkb-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(15,23,42,.88);
	backdrop-filter: blur(12px);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
	cursor: zoom-out;
}

.pkb-lightbox.is-open { opacity: 1; pointer-events: all; }

.pkb-lightbox img {
	max-width: min(520px, 92vw);
	max-height: 90vh;
	object-fit: contain;
	border-radius: var(--pkb-radius-lg);
	box-shadow: 0 40px 100px rgba(0,0,0,.5);
	filter: drop-shadow(0 0 60px color-mix(in srgb, var(--pkb-a) 40%, transparent));
	transform: scale(.92);
	transition: transform .3s cubic-bezier(.34,1.56,.64,1);
}

.pkb-lightbox.is-open img { transform: scale(1); }

/* 27. ACTIONS MOBILES FLOTTANTES -------------------------------- */
.pkb-floating-actions-mobile { display: none; }

/* ── RESPONSIVE ─────────────────────────────────────────────────── */

@media (max-width: 1024px) {

	.pkb-hero {
		grid-template-columns: 1fr;
	}

	.pkb-visual {
		position: relative;
		top: auto;
		align-self: auto;
	}

	.pkb-card-stage {
		min-height: auto;
	}

	.pkb-main-img {
		max-height: 480px;
	}


	.pkb-market-layout, .pkb-pokedex-card { grid-template-columns: 1fr; }
	.pkb-official-grid { grid-template-columns: 1fr; }
	.pkb-pokedex-metas { grid-template-columns: repeat(2, minmax(0,1fr)); }

.pkb-stats {
	grid-template-columns: repeat(3, minmax(0,1fr));
}

.pkb-stat-price {
	grid-column: 1 / -1;
}
}

@media (max-width: 760px) {
	.pkb-page { padding: 16px 0 100px; }
	.pkb-wrap { width: calc(100% - 20px); max-width: calc(100% - 20px); }

	.pkb-glass, .pkb-section, .pkb-head, .pkb-visual { border-radius: 22px; }
	.pkb-head, .pkb-section, .pkb-visual { padding: 16px; }

	.pkb-title { font-size: clamp(32px, 11vw, 52px); }

	.pkb-platform-grid,
.pkb-grid-2,
.pkb-pokedex-metas {
	grid-template-columns: 1fr;
}

.pkb-stats {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.pkb-stat {
	min-height: 88px;
	padding: 12px;
}

.pkb-stat span {
	font-size: 10px;
}

.pkb-stat strong {
	font-size: 15px;
}

.pkb-stat-price {
	grid-column: 1 / -1;
	min-height: 150px;
	gap: 9px;
}

.pkb-price-main-row strong {
	font-size: 38px;
}

.pkb-price-pills {
	justify-content: flex-start;
}

.pkb-price-updated-inline {
	text-align: left;
}
	.pkb-market-cards { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.pkb-chart-labels { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.pkb-buy-zone { grid-template-columns: 1fr; }

	.pkb-evolution-clean { grid-template-columns: 1fr; }
	.pkb-arrow { transform: rotate(90deg); text-align: center; }

	.pkb-set { flex-direction: column; text-align: center; }

	.pkb-section-title { grid-template-columns: 1fr; }
	.pkb-carousel-controls { display: none; }

	.pkb-carousel { grid-auto-columns: minmax(185px, 72vw); gap: 12px; }

	.pkb-pdx-evo-img { width: 48px; height: 48px; }
	.pkb-pdx-evo-node { min-width: 72px; padding: 8px 6px; }
	.pkb-pdx-evo-arrow { font-size: 16px; }

	.pkb-market-layout { grid-template-columns: minmax(0,1fr); width: 100%; }
	.pkb-chart { padding: 14px; }
	.pkb-price-table table { min-width: 500px; }

	.pkb-stat-price { grid-column: 1 / -1; }

	.pkb-actions { display: none; }

	.pkb-floating-actions-mobile {
		position: fixed;
		right: 12px;
		bottom: max(14px, env(safe-area-inset-bottom));
		z-index: 9980;
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 7px;
		border-radius: var(--pkb-radius-pill);
		background: linear-gradient(180deg, var(--idd-surface-glass-strong, rgba(255,255,255,.96)), var(--idd-surface-glass-strong, rgba(255,255,255,.88)));
		border: 1px solid rgba(15,23,42,.10);
		box-shadow: 0 20px 56px rgba(15,23,42,.26), inset 0 1px 0 var(--idd-surface-glass-strong, rgba(255,255,255,.9));
		backdrop-filter: blur(16px);
	}

	.pkb-floating-actions-mobile > * {
		width: 44px;
		height: 44px;
		min-width: 44px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		font-size: 0;
		margin: 0;
		background: var(--idd-color-bg);
		color: var(--pkb-a);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 10px 24px rgba(15,23,42,.14), inset 0 1px 0 var(--idd-surface-glass-strong, rgba(255,255,255,.9));
		text-decoration: none;
		cursor: pointer;
	}

	.pkb-floating-actions-mobile > * svg {
		width: 18px;
		height: 18px;
	}

	.pkb-floating-actions-mobile > *:first-child { color: var(--idd-color-primary-hover, #d40000); }
	.pkb-floating-actions-mobile .pkb-fab-cart-mobile {
		color: #be185d;
		background: linear-gradient(135deg, rgba(217,70,239,.08), rgba(236,72,153,.05));
		border-color: rgba(217,70,239,.22);
	}
	.pkb-floating-actions-mobile .pkb-fab-cart-mobile:active {
		transform: scale(.95);
	}

	.pkb-official-icons img, .pkb-official-icons svg {
		width: 64px;
		height: 64px;
	}

	.pkb-sticky-bar { padding: 0 14px; }
	.pkb-sticky-inner { gap: 10px; }
	.pkb-sticky-price { font-size: 15px; }

	.pkb-platform-content a { width: 100%; }
}

@media (max-width: 480px) {
	.pkb-wrap { width: calc(100% - 16px); max-width: calc(100% - 16px); }
	.pkb-section, .pkb-head, .pkb-visual { padding: 14px; }
	.pkb-card-stage { padding: 12px; }
	.pkb-main-img { width: 100%; }
	.pkb-carousel { grid-auto-columns: minmax(170px, 78vw); }
	.pkb-market-cards { grid-template-columns: 1fr; }
	.pkb-price-table table { min-width: 480px; }
	.pkb-chart-labels span { padding: 8px 5px; font-size: 11px; }
	.pkb-stat-bar { grid-template-columns: 60px 1fr 34px; }
}






.pkb-carousel {
	position: relative;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(210px, 240px);
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scroll-padding-left: 2px;
	padding: 4px 2px 16px;
	scrollbar-width: thin;
	cursor: default;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
}

.pkb-carousel.is-dragging {
	cursor: grabbing;
	scroll-snap-type: none;
}

.pkb-carousel-item {
	position: relative;
	scroll-snap-align: start;
	min-width: 0;
}

.pkb-carousel-item a,
.pkb-carousel-item button {
	position: relative;
	z-index: 2;
	cursor: pointer;
}

.pkb-carousel.is-dragging a,
.pkb-carousel.is-dragging button {
	pointer-events: none;
}

.pkb-card,
.pkb-card * {
	cursor: pointer;
}

.pkb-card-actions,
.pkb-card-actions *,
.pkb-card-actions a,
.pkb-card-actions button {
	cursor: pointer;
}



/* Override final — flèche tendance prix
   ⚠️ Visibilité : UNIQUEMENT sur mobile (≤ 760px) ET pour les admins/Pokéchampion
   (le PHP single-carte_pokemon.php gère le HTML, le CSS gère le viewport). */
.pkb-stat-price .pkb-trend,
.pkb-price-main-row .pkb-trend,
.pkb-stat-price strong .pkb-trend {
	display: none !important; /* caché par défaut (desktop) */
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	margin: 0 8px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 72px !important;
	font-weight: 1000 !important;
	line-height: .75 !important;
	font-family: Arial, Helvetica, sans-serif !important;
}

/* Affichée uniquement sur mobile */
@media (max-width: 760px) {
	.pkb-stat-price .pkb-trend,
	.pkb-price-main-row .pkb-trend,
	.pkb-stat-price strong .pkb-trend {
		display: inline-flex !important;
	}
}

.pkb-stat-price .pkb-trend.up,
.pkb-price-main-row .pkb-trend.up,
.pkb-stat-price strong .pkb-trend.up {
	color: var(--idd-color-success, #15803d) !important;
	transform: rotate(-35deg) translateY(2px) !important;
}

.pkb-stat-price .pkb-trend.down,
.pkb-price-main-row .pkb-trend.down,
.pkb-stat-price strong .pkb-trend.down {
	color: var(--idd-color-primary-hover, #d40000) !important;
	transform: rotate(35deg) translateY(2px) !important;
}






/*GRAPHIQUE Historique prix CARTE*/
.pkb-price-history-section {
	overflow: hidden;
}

.pkb-history-title-row {
	align-items: center;
}

.pkb-price-history-kpi {
	min-width: 150px;
	padding: 12px 16px;
	border-radius: 18px;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.76));
	border: 1px solid var(--pkb-border);
	box-shadow: 0 10px 24px rgba(15,23,42,.055);
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	text-align: right;
}

.pkb-history-kpi-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	font-size: 34px;
	font-weight: 1000;
	line-height: 1;
	font-family: Arial, Helvetica, sans-serif;
	flex: 0 0 auto;
}

.pkb-price-history-kpi.up .pkb-history-kpi-arrow,
.pkb-price-history-kpi.up strong {
	color: var(--idd-color-success, #15803d);
}

.pkb-price-history-kpi.down .pkb-history-kpi-arrow,
.pkb-price-history-kpi.down strong {
	color: var(--idd-color-primary-hover, #d40000);
}

.pkb-price-history-kpi span:not(.pkb-history-kpi-arrow) {
	display: block;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pkb-muted);
	margin-bottom: 4px;
}

.pkb-price-history-kpi strong {
	display: block;
	font-size: 20px;
	font-weight: 1000;
	line-height: 1;
}

.pkb-history-toolbar {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 6px;
	margin: 0 0 14px;
	border-radius: 999px;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.72));
	border: 1px solid var(--pkb-border);
	box-shadow: inset 0 1px 0 var(--idd-surface-glass-strong, rgba(255,255,255,.9));
}

.pkb-history-toolbar button {
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pkb-muted);
	font-size: 12px;
	font-weight: 1000;
	text-transform: uppercase;
	letter-spacing: .045em;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.pkb-history-toolbar button:hover {
	color: var(--pkb-ink);
}

.pkb-history-toolbar button.is-active {
	background: linear-gradient(135deg, var(--pkb-a), var(--pkb-b));
	color: var(--idd-color-text-inverse);
	box-shadow: 0 10px 24px color-mix(in srgb, var(--pkb-a) 22%, transparent);
}

/* Onglet verrouillé (Mois / Année pour Pokéball / Hyperball selon plan) */
.pkb-history-toolbar button.is-locked {
	position: relative;
	color: rgba(100, 116, 139, .85);
	background: rgba(248, 250, 252, .6);
	border: 1px dashed rgba(168, 85, 247, .35);
	cursor: pointer;
	padding-right: 32px;
}
.pkb-history-toolbar button.is-locked:hover {
	color: var(--pkb-ink);
	background: linear-gradient(135deg, rgba(254,2,1,.06), rgba(168,85,247,.08));
	border-color: rgba(254,2,1,.45);
}
.pkb-history-period-lock {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	display: grid;
	place-items: center;
	font-size: 9px;
	border-radius: 50%;
	background: linear-gradient(135deg, #a855f7, #ec4899);
	color: var(--idd-color-text-inverse);
	box-shadow: 0 3px 8px -2px rgba(168, 85, 247, .55);
	pointer-events: none;
}

.pkb-price-history-chart {
	border-radius: var(--pkb-radius-lg);
	background:
		radial-gradient(circle at top left, color-mix(in srgb, var(--pkb-a) 10%, transparent), transparent 34%),
		#fff;
	border: 1px solid var(--pkb-border);
	padding: 18px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(15,23,42,.05);
}

.pkb-history-chart-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.pkb-history-eyebrow {
	display: block;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--pkb-muted);
	margin-bottom: 5px;
}

.pkb-history-chart-head strong {
	display: block;
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 1000;
	letter-spacing: -.045em;
	line-height: .95;
	color: var(--pkb-ink);
}

.pkb-history-meta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: 999px;
	background: var(--idd-color-bg-alt, #f8fafc);
	border: 1px solid rgba(15,23,42,.07);
	color: var(--pkb-muted);
	font-size: 11px;
	font-weight: 950;
	white-space: nowrap;
}

.pkb-history-svg-wrap {
	position: relative;
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: 12px;
	min-height: 280px;
}

.pkb-history-plot {
	position: relative;
	min-width: 0;
}

.pkb-history-ylabels {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 3px 0 7px;
	color: var(--pkb-muted);
	font-size: 11px;
	font-weight: 850;
	text-align: right;
}

.pkb-price-history-chart svg {
	width: 100%;
	height: 280px;
	display: block;
	overflow: visible;
}

.pkb-history-grid {
	stroke: rgba(15,23,42,.075);
	stroke-width: .7;
	vector-effect: non-scaling-stroke;
}

.pkb-history-line {
	fill: none;
	stroke: var(--pkb-a);
	stroke-width: 2.15;
	stroke-linecap: round;
	stroke-linejoin: round;
	vector-effect: non-scaling-stroke;
	filter: drop-shadow(0 5px 8px color-mix(in srgb, var(--pkb-a) 18%, transparent));
	transition: points .25s ease;
}

.pkb-history-area {
	fill: color-mix(in srgb, var(--pkb-a) 10%, transparent);
	stroke: none;
	transition: points .25s ease;
}

.pkb-history-dots {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 3;
}

.pkb-history-dot {
	position: absolute;
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: var(--idd-color-bg);
	border: 2px solid var(--pkb-a);
	box-shadow: 0 5px 12px rgba(15,23,42,.16);
	transform: translate(-50%, -50%);
	pointer-events: auto;
	cursor: pointer;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.pkb-history-dot:hover,
.pkb-history-dot.is-active {
	transform: translate(-50%, -50%) scale(1.45);
	box-shadow: 0 10px 24px rgba(15,23,42,.24);
	border-color: var(--pkb-b);
}

.pkb-history-tooltip {
	position: absolute;
	z-index: 5;
	min-width: 138px;
	padding: 9px 11px;
	border-radius: 14px;
	background: rgba(15,23,42,.94);
	color: var(--idd-color-text-inverse);
	box-shadow: 0 18px 40px rgba(15,23,42,.24);
	pointer-events: none;
	opacity: 0;
	transform: translate(-50%, calc(-100% - 14px)) scale(.96);
	transition: opacity .14s ease, transform .14s ease;
	text-align: center;
}

.pkb-history-tooltip.is-visible {
	opacity: 1;
	transform: translate(-50%, calc(-100% - 18px)) scale(1);
}

.pkb-history-tooltip span {
	display: block;
	font-size: 11px;
	font-weight: 850;
	color: var(--idd-surface-glass-strong, rgba(255,255,255,.72));
	margin-bottom: 4px;
}

.pkb-history-tooltip strong {
	display: block;
	font-size: 14px;
	font-weight: 1000;
	color: var(--idd-color-text-inverse);
}

.pkb-price-history-points {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin-top: 14px;
	padding: 0 0 8px;
	scrollbar-width: thin;
	scroll-behavior: smooth;
}

.pkb-history-point {
	min-width: 132px;
	padding: 10px 11px;
	border-radius: var(--pkb-radius-sm);
	background: var(--idd-color-bg-alt, #f8fafc);
	border: 1px solid rgba(15,23,42,.06);
	cursor: pointer;
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pkb-history-point:hover,
.pkb-history-point.is-active {
	background: var(--idd-color-bg);
	border-color: color-mix(in srgb, var(--pkb-a) 32%, rgba(15,23,42,.08));
	box-shadow: 0 10px 24px rgba(15,23,42,.08);
	transform: translateY(-1px);
}

.pkb-history-point span {
	display: block;
	font-size: 11px;
	font-weight: 850;
	color: var(--pkb-muted);
	margin-bottom: 4px;
}

.pkb-history-point strong {
	display: block;
	font-size: 14px;
	font-weight: 1000;
	color: var(--pkb-ink);
}

.pkb-price-history-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.pkb-price-history-summary div {
	padding: 14px;
	border-radius: 18px;
	background: var(--idd-color-bg);
	border: 1px solid var(--pkb-border);
	box-shadow: 0 8px 20px rgba(15,23,42,.045);
}

.pkb-price-history-summary span {
	display: block;
	font-size: 10px;
	font-weight: 950;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pkb-muted);
	margin-bottom: 6px;
}

.pkb-price-history-summary strong {
	display: block;
	font-size: 16px;
	font-weight: 1000;
	color: var(--pkb-ink);
}

@media (max-width: 760px) {
	.pkb-history-title-row {
		align-items: start;
	}

	.pkb-price-history-kpi {
		text-align: left;
		width: fit-content;
		justify-content: flex-start;
	}

	.pkb-history-toolbar {
		width: 100%;
		border-radius: 18px;
	}

	.pkb-history-toolbar button {
		flex: 1;
		padding: 0 10px;
	}

	.pkb-history-chart-head {
		flex-direction: column;
	}

	.pkb-history-svg-wrap {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.pkb-history-ylabels {
		display: none;
	}

	.pkb-price-history-chart svg {
		height: 220px;
	}

	.pkb-price-history-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.pkb-price-history-summary {
		grid-template-columns: 1fr;
	}

	.pkb-price-history-chart {
		padding: 14px;
	}

	.pkb-history-point {
		min-width: 118px;
	}

	.pkb-history-tooltip {
		min-width: 120px;
	}
}

/* Correctif final — points du graphique en vrais petits ronds */
.pkb-history-dots .pkb-history-dot,
.pkb-history-dots button.pkb-history-dot {
	position: absolute !important;
	display: block !important;
	box-sizing: border-box !important;

	width: 11px !important;
	height: 11px !important;
	min-width: 11px !important;
	max-width: 11px !important;
	min-height: 11px !important;
	max-height: 11px !important;

	padding: 0 !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1 !important;

	border-radius: 50% !important;
	background: var(--idd-color-bg) !important;
	border: 2px solid #ff3d16 !important;
	box-shadow: 0 4px 10px rgba(15,23,42,.14) !important;

	line-height: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	appearance: none !important;
	-webkit-appearance: none !important;

	transform: translate(-50%, -50%) !important;
}

.pkb-history-dots .pkb-history-dot:hover,
.pkb-history-dots .pkb-history-dot.is-active {
	width: 13px !important;
	height: 13px !important;
	min-width: 13px !important;
	max-width: 13px !important;
	min-height: 13px !important;
	max-height: 13px !important;
	border-color: var(--pkb-b) !important;
	transform: translate(-50%, -50%) !important;
}



/* Correctif — boutons achat sur une seule ligne desktop */
@media (min-width: 1025px) {
	.pkb-buy-zone {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
	}

	.pkb-buy-zone .pokemon-buy-button,
	.pkb-buy-zone .ebay-button {
		width: 100%;
		min-width: 0;
		white-space: nowrap;
	}
}

@media (max-width: 760px) {
	.pkb-buy-zone {
		grid-template-columns: 1fr;
	}
}




/*carousel utilisateur possède carte*/
/* =========================================================
   PokéBoard — Nearby trainers premium
========================================================= */

.pkb-nearby-trainers {
	position: relative;
	overflow: hidden;
}

.pkb-nearby-trainers::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 12% 0%, rgba(254,2,1,.12), transparent 32%),
		radial-gradient(circle at 90% 20%, rgba(255,203,5,.14), transparent 30%);
	opacity: .9;
}

.pkb-nearby-trainers > * {
	position: relative;
	z-index: 1;
}

.pkb-nearby-title h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	line-height: 1.05;
}

.pkb-nearby-title p {
	max-width: 720px;
	color: var(--pkb-muted, var(--idd-color-text-muted, #64748b));
	font-weight: 850;
	line-height: 1.55;
}

.pkb-nearby-title p strong {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(254,2,1,.10);
	color: var(--pkb-primary, var(--idd-color-primary, #fe0201));
	font-weight: 1000;
}

/* Slider premium */
.pkb-nearby-radius {
	width: 100%;
	margin: 22px 0 24px;
	padding: 18px;
	border: 1px solid rgba(254,2,1,.16);
	border-radius: 24px;
	background:
		linear-gradient(135deg, var(--idd-surface-glass-strong, rgba(255,255,255,.96)), rgba(255,247,247,.90));
	box-shadow:
		0 18px 45px rgba(15,23,42,.08),
		inset 0 1px 0 var(--idd-surface-glass-strong, rgba(255,255,255,.75));
}

.pkb-nearby-radius label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 14px;
	color: var(--pkb-ink, var(--idd-color-bg-dark, #0f172a));
	font-size: 14px;
	font-weight: 1000;
}

.pkb-nearby-radius label > span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pkb-nearby-radius label > span::before {
	content: "◎";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: rgba(254,2,1,.10);
	color: var(--pkb-primary, var(--idd-color-primary, #fe0201));
	font-size: 15px;
}

.pkb-nearby-radius label strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 82px;
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--pkb-primary, var(--idd-color-primary, #fe0201)), var(--pkb-primary-hover, var(--idd-color-primary-hover, #d40000)));
	color: var(--idd-color-text-inverse);
	box-shadow: 0 14px 30px rgba(254,2,1,.15);
	font-size: 14px;
	font-weight: 1000;
}

/* Full width range */
.pkb-nearby-radius input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	height: 38px;
	margin: 0;
	background: transparent;
	cursor: pointer;
}

.pkb-nearby-radius input[type="range"]::-webkit-slider-runnable-track {
	height: 12px;
	border-radius: 999px;
	background:
		linear-gradient(90deg, var(--idd-color-primary, #fe0201) 0%, #f97316 48%, #ffcb05 100%);
	box-shadow:
		inset 0 0 0 1px rgba(15,23,42,.07),
		0 8px 18px rgba(254,2,1,.12);
}

.pkb-nearby-radius input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 30px;
	height: 30px;
	margin-top: -9px;
	border: 6px solid var(--idd-color-bg);
	border-radius: 999px;
	background: var(--pkb-primary, var(--idd-color-primary, #fe0201));
	box-shadow:
		0 12px 26px rgba(254,2,1,.18),
		0 0 0 1px rgba(15,23,42,.12);
}

.pkb-nearby-radius input[type="range"]::-moz-range-track {
	height: 12px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--idd-color-primary, #fe0201) 0%, #f97316 48%, #ffcb05 100%);
}

.pkb-nearby-radius input[type="range"]::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 6px solid var(--idd-color-bg);
	border-radius: 999px;
	background: var(--pkb-primary, var(--idd-color-primary, #fe0201));
	box-shadow:
		0 12px 26px rgba(254,2,1,.18),
		0 0 0 1px rgba(15,23,42,.12);
}

.pkb-nearby-radius-steps {
	display: flex;
	justify-content: space-between;
	margin-top: 2px;
	color: var(--pkb-muted, var(--idd-color-text-muted, #64748b));
	font-size: 12px;
	font-weight: 900;
}

/* Carousel */
.pkb-nearby-results {
	margin-top: 4px;
	transition: opacity .2s ease, transform .2s ease;
}

.pkb-nearby-results.is-loading {
	opacity: .45;
	transform: translateY(3px);
	pointer-events: none;
}

.pkb-nearby-carousel {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 290px);
	gap: 16px;
	overflow-x: auto;
	padding: 6px 4px 18px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.pkb-nearby-card {
	scroll-snap-align: start;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: center;
	padding: 16px;
	border: 1px solid rgba(15,23,42,.08);
	border-radius: 24px;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.94));
	box-shadow:
		0 18px 42px rgba(15,23,42,.10),
		inset 0 1px 0 var(--idd-surface-glass-strong, rgba(255,255,255,.75));
}

.pkb-nearby-avatar img {
	width: 62px;
	height: 62px;
	border-radius: 999px;
	object-fit: cover;
	border: 4px solid var(--idd-color-bg);
	box-shadow: 0 12px 26px rgba(15,23,42,.14);
}

.pkb-nearby-info strong {
	display: block;
	color: var(--pkb-ink, var(--idd-color-bg-dark, #0f172a));
	font-size: 17px;
	font-weight: 1000;
	line-height: 1.1;
}

.pkb-nearby-info span {
	display: block;
	margin-top: 6px;
	color: var(--pkb-muted, var(--idd-color-text-muted, #64748b));
	font-size: 13px;
	font-weight: 900;
}

.pkb-nearby-actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 6px;
}

.pkb-nearby-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 15px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 1000;
	text-decoration: none !important;
	white-space: nowrap;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.pkb-nearby-actions a:hover {
	transform: translateY(-1px);
}

.pkb-nearby-profile {
	border: 1px solid rgba(15,23,42,.10);
	background: var(--idd-color-bg);
	color: var(--pkb-ink, var(--idd-color-bg-dark, #0f172a));
}

.pkb-nearby-exchange {
	background: linear-gradient(135deg, var(--pkb-primary, var(--idd-color-primary, #fe0201)), var(--pkb-primary-hover, var(--idd-color-primary-hover, #d40000)));
	color: var(--idd-color-text-inverse);
	box-shadow: 0 14px 28px rgba(254,2,1,.15);
}

/* Bouton voir tous */
.pkb-nearby-footer {
	display: flex;
	justify-content: center;
	margin-top: 4px;
}

.pkb-nearby-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 18px;
	border: 1px solid rgba(254,2,1,.15);
	border-radius: 999px;
	background: var(--idd-surface-glass-strong, rgba(255,255,255,.82));
	color: var(--pkb-primary, var(--idd-color-primary, #fe0201));
	font-size: 13px;
	font-weight: 1000;
	text-decoration: none !important;
	box-shadow: 0 12px 26px rgba(15,23,42,.07);
}

.pkb-nearby-all::after {
	content: "→";
	font-size: 15px;
	transition: transform .18s ease;
}

.pkb-nearby-all:hover::after {
	transform: translateX(3px);
}

/* Empty */
.pkb-nearby-empty {
	display: grid;
	gap: 6px;
	padding: 18px;
	border: 1px dashed rgba(254,2,1,.15);
	border-radius: 22px;
	background: rgba(255,247,247,.76);
	color: var(--pkb-muted, var(--idd-color-text-muted, #64748b));
	font-weight: 850;
}

.pkb-nearby-empty strong {
	color: var(--pkb-ink, var(--idd-color-bg-dark, #0f172a));
	font-weight: 1000;
}

/* Mobile */
@media (max-width: 640px) {
	.pkb-nearby-radius {
		padding: 15px;
		border-radius: 22px;
	}

	.pkb-nearby-radius label {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.pkb-nearby-carousel {
		grid-auto-columns: minmax(235px, 82vw);
		gap: 14px;
	}

	.pkb-nearby-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.pkb-nearby-actions a {
		width: 100%;
	}

	.pkb-nearby-all {
		width: 100%;
	}
}

/* =================================================================
   CARDMARKET PREMIUM — Bloc prix lisible & premium
================================================================= */

.pkb-cardmarket-premium {
	position: relative;
	margin-top: 22px;
	padding: clamp(20px, 2.4vw, 30px);
	border-radius: 28px;
	background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
	border: 1px solid rgba(15,23,42,.08);
	box-shadow:
		0 18px 50px rgba(15,23,42,.08),
		0 4px 14px rgba(15,23,42,.04),
		inset 0 1px 0 rgba(255,255,255,.9);
	overflow: hidden;
}

.pkb-cardmarket-premium::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 12% 0%, rgba(217,70,239,.04), transparent 28%),
		radial-gradient(circle at 95% 100%, rgba(37,99,235,.04), transparent 30%);
}

.pkb-cardmarket-premium > * {
	position: relative;
	z-index: 1;
}

/* Header ----------------------------------------------------------- */
.pkb-cm-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.pkb-cm-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.pkb-cm-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(217,70,239,.30);
	flex: 0 0 auto;
}

.pkb-cm-logo svg { display: block; }

.pkb-cm-brand-text strong {
	display: block;
	font-size: 17px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.02em;
	line-height: 1.1;
}

.pkb-cm-brand-text small {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 700;
	color: var(--pkb-muted);
}

.pkb-cm-trend-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--pkb-radius-pill);
	font-size: 13px;
	font-weight: 1000;
	letter-spacing: -.01em;
	border: 1px solid transparent;
}

.pkb-cm-trend-pill.up {
	background: linear-gradient(135deg, rgba(34,197,94,.12), rgba(34,197,94,.06));
	color: var(--pkb-success-hover);
	border-color: rgba(34,197,94,.22);
}

.pkb-cm-trend-pill.down {
	background: linear-gradient(135deg, rgba(239,68,68,.12), rgba(239,68,68,.06));
	color: var(--pkb-primary-hover);
	border-color: rgba(239,68,68,.22);
}

.pkb-cm-trend-pill small {
	font-size: 11px;
	font-weight: 800;
	opacity: .75;
	margin-left: 2px;
}

/* Main price ------------------------------------------------------- */
.pkb-cm-main {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 20px 24px;
	border-radius: 20px;
	background:
		linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.96));
	color: var(--idd-color-text-inverse);
	box-shadow: 0 16px 38px rgba(15,23,42,.22), inset 0 1px 0 rgba(255,255,255,.14);
	margin-bottom: 18px;
	overflow: hidden;
}

.pkb-cm-main::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120% 90% at 0% 0%, rgba(217,70,239,.20), transparent 50%),
		radial-gradient(110% 90% at 100% 100%, rgba(56,189,248,.16), transparent 55%);
	pointer-events: none;
}

.pkb-cm-main > * { position: relative; z-index: 1; }

.pkb-cm-main-label {
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: rgba(255,255,255,.72);
	white-space: nowrap;
}

.pkb-cm-main-value {
	font-size: clamp(36px, 5.4vw, 52px);
	font-weight: 1000;
	letter-spacing: -.04em;
	line-height: 1;
	color: var(--idd-color-text-inverse);
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.pkb-cm-updated {
	font-size: 11px;
	font-weight: 700;
	color: rgba(255,255,255,.65);
	letter-spacing: .02em;
	white-space: nowrap;
	text-align: right;
}

@media (max-width: 640px) {
	.pkb-cm-main {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 8px;
		padding: 18px;
	}
	.pkb-cm-main-label,
	.pkb-cm-updated { text-align: center; }
}

/* Grid tuiles ------------------------------------------------------ */
.pkb-cm-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.pkb-cm-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px 12px;
	border-radius: 16px;
	background: rgba(255,255,255,.85);
	border: 1px solid rgba(15,23,42,.06);
	box-shadow: 0 6px 16px rgba(15,23,42,.04);
	text-align: center;
	transition: transform .25s ease, box-shadow .25s ease;
}

.pkb-cm-tile:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(15,23,42,.10);
}

.pkb-cm-tile span {
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--pkb-muted);
}

.pkb-cm-tile strong {
	font-size: 18px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.02em;
}

.pkb-cm-tile.low strong   { color: var(--pkb-success-hover); }
.pkb-cm-tile.avg strong   { color: #1d4ed8; }
.pkb-cm-tile.trend strong { color: #be185d; }
.pkb-cm-tile.high strong  { color: var(--pkb-warning-hover); }

.pkb-cm-tile.small {
	background: rgba(255,255,255,.55);
	grid-column: span 2;
}

.pkb-cm-tile.small strong {
	font-size: 16px;
	color: var(--pkb-ink);
}

/* Extras (Reverse, suggested) -------------------------------------- */
.pkb-cm-extras {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.pkb-cm-extra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-radius: 14px;
	background: rgba(248,250,252,.7);
	border: 1px solid rgba(15,23,42,.06);
}

.pkb-cm-extra span {
	font-size: 12px;
	font-weight: 900;
	color: var(--pkb-muted);
	text-transform: uppercase;
	letter-spacing: .06em;
}

.pkb-cm-extra strong {
	font-size: 16px;
	font-weight: 1000;
	color: var(--pkb-ink);
	letter-spacing: -.01em;
}

/* Footer ----------------------------------------------------------- */
.pkb-cm-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 6px;
	padding-top: 16px;
	border-top: 1px dashed rgba(15,23,42,.08);
}

.pkb-cm-note {
	font-size: 11px;
	font-weight: 700;
	color: var(--pkb-muted);
	letter-spacing: .02em;
}

.pkb-cm-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: var(--pkb-radius-pill);
	background: var(--pkb-ink);
	color: var(--idd-color-text-inverse);
	text-decoration: none;
	font-size: 13px;
	font-weight: 1000;
	letter-spacing: -.01em;
	box-shadow: 0 8px 20px rgba(15,23,42,.18);
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.pkb-cm-cta:hover {
	transform: translateY(-2px);
	background: #1e293b;
	box-shadow: 0 14px 30px rgba(15,23,42,.26);
}

.pkb-cm-cta span { transition: transform .25s ease; }
.pkb-cm-cta:hover span { transform: translateX(3px); }

.pkb-cm-empty {
	padding: 30px;
	text-align: center;
	color: var(--pkb-muted);
	font-weight: 700;
	background: rgba(255,255,255,.6);
	border-radius: 16px;
	margin-bottom: 14px;
}

/* Responsive cardmarket -------------------------------------------- */
@media (max-width: 760px) {
	.pkb-cm-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pkb-cm-tile.small {
		grid-column: span 1;
	}
	.pkb-cm-extras {
		grid-template-columns: 1fr;
	}
	.pkb-cm-footer {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
	.pkb-cm-cta {
		justify-content: center;
	}
}


/* =================================================================
   ACTIONS FLOTTANTES DESKTOP — sidebar latérale droite
================================================================= */

.pkb-floating-actions-desktop {
	display: none;
}

@media (min-width: 1025px) {
	.pkb-floating-actions-desktop {
		display: block;
		position: fixed;
		right: 18px;
		top: 50%;
		transform: translateY(-50%);
		z-index: 9970;
	}

	.pkb-fab-stack {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 10px;
		border-radius: var(--pkb-radius-pill);
		background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.86));
		border: 1px solid rgba(15,23,42,.08);
		box-shadow:
			0 20px 56px rgba(15,23,42,.18),
			0 4px 12px rgba(15,23,42,.10),
			inset 0 1px 0 rgba(255,255,255,.95);
		backdrop-filter: blur(16px);
	}

	.pkb-fab-item {
		position: relative;
		width: 52px;
		height: 52px;
		min-width: 52px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
		font-size: 0;
		background: var(--idd-color-bg);
		color: var(--pkb-a);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 8px 20px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.95);
		text-decoration: none;
		cursor: pointer;
		transition: transform .25s ease, box-shadow .25s ease, color .2s ease;
	}

	.pkb-fab-item > * {
		width: 100%;
		height: 100%;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.pkb-fab-item:hover {
		transform: translateY(-2px) scale(1.04);
		box-shadow: 0 14px 30px rgba(15,23,42,.18);
	}

	.pkb-fab-fav      { color: var(--pkb-primary-hover); }
	.pkb-fab-collec   { color: #2563eb; }
	.pkb-fab-share    { color: #be185d; }

	.pkb-fab-share svg {
		width: 22px;
		height: 22px;
	}

	/* Tooltip ------------------------------------------------------- */
	.pkb-fab-item[data-tip]::after {
		content: attr(data-tip);
		position: absolute;
		right: calc(100% + 12px);
		top: 50%;
		transform: translateY(-50%) translateX(6px);
		padding: 7px 12px;
		border-radius: 10px;
		background: rgba(15,23,42,.92);
		color: var(--idd-color-text-inverse);
		font-size: 12px;
		font-weight: 800;
		white-space: nowrap;
		letter-spacing: -.01em;
		opacity: 0;
		pointer-events: none;
		transition: opacity .2s ease, transform .2s ease;
		box-shadow: 0 8px 20px rgba(15,23,42,.20);
	}

	.pkb-fab-item[data-tip]::before {
		content: "";
		position: absolute;
		right: calc(100% + 6px);
		top: 50%;
		transform: translateY(-50%) translateX(6px);
		border: 6px solid transparent;
		border-left-color: rgba(15,23,42,.92);
		opacity: 0;
		pointer-events: none;
		transition: opacity .2s ease, transform .2s ease;
	}

	.pkb-fab-item:hover::after,
	.pkb-fab-item:hover::before {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}

	/* Popover share — position calculée dynamiquement en JS (ancré au bouton
	   "Partager" qui a déclenché l'ouverture). Sur desktop : juste sous le bouton
	   (entre Partager et Acheter). Sur mobile : juste au-dessus du bouton mobile
	   (puisque le FAB mobile est en bas de l'écran).
	   Les boutons restent sur UNE SEULE LIGNE qui se déploie de droite à
	   gauche depuis le bouton qui a déclenché l'ouverture. -------------- */
	.pkb-fab-share-popover {
		position: fixed;
		top: 0;
		left: 0;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		gap: 6px;
		padding: 8px 10px;
		border-radius: 999px;
		background: rgba(255,255,255,.98);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 18px 44px rgba(15,23,42,.22);
		backdrop-filter: blur(16px);
		opacity: 0;
		pointer-events: none;
		transform: translateX(10px) scale(.96);
		transform-origin: top right;
		transition: opacity .25s ease, transform .25s cubic-bezier(.2,.7,.2,1);
		z-index: 9975;
		max-width: calc(100vw - 24px);
		white-space: nowrap;
	}

	.pkb-fab-share-popover.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(0) scale(1);
	}

	/* Variante mobile : le popover s'ouvre AU-DESSUS du bouton FAB mobile,
	   donc l'origine de la transformation pivote en bas */
	.pkb-fab-share-popover.is-above {
		transform-origin: bottom right;
	}

	/* Cart button (Cardmarket) ------------------------------------- */
	.pkb-fab-cart {
		color: #be185d !important;
		background: linear-gradient(135deg, rgba(217,70,239,.06), rgba(236,72,153,.04)) !important;
		border-color: rgba(217,70,239,.20) !important;
	}
	.pkb-fab-cart:hover {
		background: linear-gradient(135deg, rgba(217,70,239,.14), rgba(236,72,153,.10)) !important;
		color: #9d174d !important;
	}
	.pkb-fab-cart svg { width: 22px; height: 22px; }

	.pkb-fab-share-link {
		width: 42px;
		height: 42px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: var(--idd-color-bg);
		border: 1px solid rgba(15,23,42,.06);
		color: var(--pkb-ink);
		text-decoration: none;
		cursor: pointer;
		transition: transform .2s ease, color .2s ease, background .2s ease;
		padding: 0;
	}

	.pkb-fab-share-link svg {
		width: 17px;
		height: 17px;
		fill: currentColor;
	}

	.pkb-fab-share-link:hover { transform: scale(1.08); }

	.pkb-fab-share-link.fb:hover   { color: #1877F2; background: rgba(24,119,242,.08); }
	.pkb-fab-share-link.x:hover    { color: var(--pkb-ink); background: rgba(15,23,42,.06); }
	.pkb-fab-share-link.pin:hover  { color: #E60023; background: rgba(230,0,35,.08); }
	.pkb-fab-share-link.wa:hover   { color: #25D366; background: rgba(37,211,102,.08); }
	.pkb-fab-share-link.mail:hover { color: #2563eb; background: rgba(37,99,235,.08); }
	.pkb-fab-share-link.copy:hover { color: #be185d; background: rgba(190,24,93,.08); }
	.pkb-fab-share-link.copy.is-copied {
		color: var(--pkb-success-hover);
		background: rgba(34,197,94,.12);
	}
	.pkb-fab-share-link.copy.is-copied::after {
		content: "✓";
		position: absolute;
		font-size: 12px;
		font-weight: 1000;
	}

	/* Le panneau d'actions classique (aside .pkb-actions + share-zone)
	   reste affiché en haut de la fiche, mais on prévoit un masquage
	   doux si l'utilisateur veut une exclusivité sidebar : .hide-aside */
}

/* Sur mobile : le bouton share dans le panneau mobile garde le popover sous lui */
@media (max-width: 1024px) {
	.pkb-floating-actions-mobile .pkb-fab-share {
		width: 44px;
		height: 44px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		margin: 0;
		background: var(--idd-color-bg);
		color: var(--pkb-a);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 10px 24px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.9);
		cursor: pointer;
	}
	.pkb-floating-actions-mobile .pkb-fab-share svg {
		width: 18px;
		height: 18px;
	}
}


/* =================================================================
   N/A — placeholder stylé pour shortcodes vides
================================================================= */

.pic-empty-na {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 36px;
	padding: 0 14px;
	border-radius: var(--pkb-radius-pill);
	background: linear-gradient(135deg, rgba(148,163,184,.18), rgba(148,163,184,.08));
	border: 1px dashed rgba(148,163,184,.45);
	color: var(--pkb-text-soft);
	font-size: 13px;
	font-weight: 1000;
	letter-spacing: .08em;
}

.pic-empty-hint {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	font-weight: 700;
	color: var(--pkb-muted);
	letter-spacing: .01em;
}

.resistance-container.is-empty .resistance-box,
.liste-weaknesses.is-empty .pokemon-weaknesses,
.retreat-container.is-empty .retreat-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 14px;
	border-radius: 14px;
	background: rgba(248,250,252,.6);
	border: 1px dashed rgba(148,163,184,.30);
}


/* =================================================================
   POPOVER SHARE — Mobile (réutilise même ID que desktop)
================================================================= */

@media (max-width: 1024px) {
	/* Cacher actions sous l'image carte — remplacées par le panel flottant */
	.pkb-actions { display: none !important; }

	/* Panel mobile flottant visible sur toute taille < 1025 (mobile + tablette) */
	.pkb-floating-actions-mobile {
		position: fixed;
		right: 12px;
		bottom: max(14px, env(safe-area-inset-bottom));
		z-index: 9980;
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 7px;
		border-radius: var(--pkb-radius-pill);
		background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
		border: 1px solid rgba(15,23,42,.10);
		box-shadow: 0 20px 56px rgba(15,23,42,.26), inset 0 1px 0 rgba(255,255,255,.9);
		backdrop-filter: blur(16px);
	}

	.pkb-floating-actions-mobile > * {
		width: 44px;
		height: 44px;
		min-width: 44px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		font-size: 0;
		margin: 0;
		background: var(--idd-color-bg);
		color: var(--pkb-a);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 10px 24px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.9);
		text-decoration: none;
		cursor: pointer;
		transition: transform .2s ease;
	}

	.pkb-floating-actions-mobile > * svg {
		width: 18px;
		height: 18px;
	}

	.pkb-floating-actions-mobile > *:first-child { color: var(--idd-color-primary-hover, #d40000); }
	.pkb-floating-actions-mobile .pkb-fab-cart-mobile {
		color: #be185d;
		background: linear-gradient(135deg, rgba(217,70,239,.08), rgba(236,72,153,.05));
		border-color: rgba(217,70,239,.22);
	}
	.pkb-floating-actions-mobile > *:active { transform: scale(.95); }

	/* Force la taille 44×44 pour les boutons issus du plugin pokemon-import-cpt
	   (le plugin imprime son CSS en footer et peut redimensionner .pic-library-style-icon) */
	.pkb-floating-actions-mobile .pic-library-btn,
	.pkb-floating-actions-mobile .pic-library-style-icon {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		padding: 0 !important;
		border-radius: var(--pkb-radius-pill) !important;
	}

	.pkb-floating-actions-mobile .pic-library-icon {
		width: 18px !important;
		height: 18px !important;
		font-size: 16px !important;
	}

	.pkb-floating-actions-mobile .pic-library-icon svg {
		width: 100% !important;
		height: 100% !important;
	}

	.pkb-fab-share-popover {
		position: fixed;
		right: 12px;
		bottom: calc(max(14px, env(safe-area-inset-bottom)) + 220px);
		display: grid;
		grid-auto-flow: column;
		gap: 8px;
		padding: 10px;
		border-radius: var(--pkb-radius-pill);
		background: rgba(255,255,255,.98);
		border: 1px solid rgba(15,23,42,.08);
		box-shadow: 0 24px 56px rgba(15,23,42,.24);
		backdrop-filter: blur(16px);
		opacity: 0;
		pointer-events: none;
		transform: translateY(8px) scale(.96);
		transition: opacity .25s ease, transform .25s ease;
		z-index: 9981;
	}

	.pkb-fab-share-popover.is-open {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
	}

	.pkb-fab-share-link {
		width: 44px;
		height: 44px;
		border-radius: var(--pkb-radius-pill);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: var(--idd-color-bg);
		border: 1px solid rgba(15,23,42,.06);
		color: var(--pkb-ink);
		text-decoration: none;
		cursor: pointer;
		padding: 0;
		transition: transform .2s ease, color .2s ease, background .2s ease;
	}

	.pkb-fab-share-link svg {
		width: 18px;
		height: 18px;
		fill: currentColor;
	}

	.pkb-fab-share-link.fb:hover   { color: #1877F2; background: rgba(24,119,242,.08); }
	.pkb-fab-share-link.x:hover    { color: var(--pkb-ink); background: rgba(15,23,42,.06); }
	.pkb-fab-share-link.pin:hover  { color: #E60023; background: rgba(230,0,35,.08); }
	.pkb-fab-share-link.wa:hover   { color: #25D366; background: rgba(37,211,102,.08); }
	.pkb-fab-share-link.mail:hover { color: #2563eb; background: rgba(37,99,235,.08); }
	.pkb-fab-share-link.copy:hover { color: #be185d; background: rgba(190,24,93,.08); }
	.pkb-fab-share-link.copy.is-copied {
		color: var(--pkb-success-hover);
		background: rgba(34,197,94,.12);
	}

	/* Cacher les tooltips data-tip sur mobile (pas de hover) */
	.pkb-fab-item[data-tip]::after,
	.pkb-fab-item[data-tip]::before {
		display: none;
	}
}

@media (max-width: 480px) {
	.pkb-fab-share-popover {
		right: 14px;
		left: 14px;
		bottom: calc(max(16px, env(safe-area-inset-bottom)) + 268px);
		justify-content: center;
	}
}

/* =================================================================
   Paywall : détail Cardmarket réservé + historique réservé
   ================================================================= */

/* Bloc inline « détail Cardmarket réservé » (remplace les 6 tuiles) ----- */
.pkb-cm-locked {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	margin: 16px 0 6px;
	background: linear-gradient(135deg, rgba(254,2,1,.05), rgba(168,85,247,.06));
	border: 1px dashed rgba(254,2,1,.25);
	border-radius: 14px;
}
.pkb-cm-locked__ico {
	font-size: 26px;
	flex: 0 0 auto;
}
.pkb-cm-locked__text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pkb-cm-locked__text strong {
	font-size: 14px;
	font-weight: 800;
	color: var(--pkb-ink);
	letter-spacing: -.01em;
}
.pkb-cm-locked__text small {
	font-size: 12.5px;
	color: var(--pkb-muted, #64748b);
	line-height: 1.45;
}
.pkb-cm-locked__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	background: var(--pkb-primary);
	color: var(--idd-color-text-inverse);
	border: 0;
	border-radius: 999px;
	font-size: 12.5px;
	font-weight: 800;
	cursor: pointer;
	text-decoration: none;
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 8px 20px -6px rgba(254,2,1,.45);
}
.pkb-cm-locked__cta:hover {
	background: var(--pkb-primary-hover);
	transform: translateY(-1px);
	box-shadow: 0 12px 26px -6px rgba(254,2,1,.55);
}

/* Footer Cardmarket : deux CTAs (Cardmarket + eBay si débloqué) -------- */
.pkb-cm-footer-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
	align-items: center;
}
.pkb-cm-cta--alt {
	background: var(--idd-color-bg);
	color: var(--pkb-ink);
	border: 1px solid rgba(15,23,42,.12);
	box-shadow: 0 6px 14px rgba(15,23,42,.08);
}
.pkb-cm-cta--alt:hover {
	background: var(--idd-color-bg-alt);
	color: var(--pkb-ink);
}

/* Bloc « historique des prix réservé » ----------------------------------- */
.pkb-history-locked {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 22px 22px;
	margin-top: 8px;
	background: linear-gradient(135deg, rgba(254,2,1,.05), rgba(168,85,247,.06));
	border: 1px dashed rgba(254,2,1,.25);
	border-radius: 16px;
}
.pkb-history-locked__ico {
	font-size: 32px;
	flex: 0 0 auto;
}
.pkb-history-locked__text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.pkb-history-locked__text strong {
	font-size: 15px;
	font-weight: 800;
	color: var(--pkb-ink);
	letter-spacing: -.01em;
}
.pkb-history-locked__text small {
	font-size: 13px;
	color: var(--pkb-muted, #64748b);
	line-height: 1.5;
}
.pkb-history-locked__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 11px 20px;
	background: var(--pkb-primary);
	color: var(--idd-color-text-inverse);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
	box-shadow: 0 8px 20px -6px rgba(254,2,1,.45);
}
.pkb-history-locked__cta:hover {
	background: var(--pkb-primary-hover);
	transform: translateY(-1px);
	box-shadow: 0 12px 26px -6px rgba(254,2,1,.55);
}

@media (max-width: 600px) {
	.pkb-cm-locked,
	.pkb-history-locked {
		flex-direction: column;
		text-align: center;
		align-items: stretch;
	}
	.pkb-cm-locked__cta,
	.pkb-history-locked__cta {
		justify-content: center;
	}
	.pkb-cm-footer-actions {
		width: 100%;
		justify-content: stretch;
	}
	.pkb-cm-footer-actions .pkb-cm-cta {
		flex: 1 1 0;
		justify-content: center;
	}
}
