/* ==========================================
   BLOC SÉRIE — LUCKY MAGAZINE
   ========================================== */

.wp-block-lucky-magazine-series.lucky-series-banner,
.lucky-series-banner {
	position: relative;
	width: 100%;
	margin: 32px 0;
	padding: 22px 24px 20px 28px;
	border-left: 6px solid var(
		--wp--preset--color--secondary,
		#0ec40b
	);
	background: #f2f3f4;
	box-sizing: border-box;
	color: #111;
}


/* Titre de la série */

.lucky-series-label {
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #111;
}


/* Numéro de l’article */

.lucky-series-count {
	margin: 5px 0 18px;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: #686868;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}


/* Navigation précédent / suivant */

.lucky-series-navigation {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	width: 100%;
}


/* Lorsqu’il n’existe pas d’article précédent */

.lucky-series-navigation-no-previous {
	grid-template-columns: 1fr;
}

.lucky-series-navigation-no-previous .lucky-series-next {
	justify-self: end;
}


/* Lorsqu’il n’existe pas d’article suivant */

.lucky-series-navigation-no-next {
	grid-template-columns: 1fr;
}

.lucky-series-navigation-no-next .lucky-series-previous {
	justify-self: start;
}


/* Liens */

.lucky-series-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	max-width: 100%;
	color: #111 !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;
	transition:
		color 0.2s ease,
		transform 0.2s ease;
}

.lucky-series-previous {
	justify-self: start;
	text-align: left;
}

.lucky-series-next {
	justify-self: end;
	text-align: right;
}


/* Survol */

.lucky-series-link:hover,
.lucky-series-link:focus {
	color: var(
		--wp--preset--color--secondary,
		#0ec40b
	) !important;
}

.lucky-series-previous:hover,
.lucky-series-previous:focus {
	transform: translateX(-3px);
}

.lucky-series-next:hover,
.lucky-series-next:focus {
	transform: translateX(3px);
}


/* Flèches */

.lucky-series-arrow {
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
}


/* Message d’avertissement réservé aux éditeurs */

.lucky-series-warning {
	margin: 25px 0;
	padding: 14px 18px;
	border-left: 5px solid #d63638;
	background: #fff3f3;
	color: #7a1717;
	font-size: 14px;
}


/* Aperçu dans Gutenberg */

.lucky-series-editor-preview {
	pointer-events: none;
}

.lucky-series-navigation-preview {
	opacity: 0.7;
}


/* ==========================================
   VERSION MOBILE
   ========================================== */

@media screen and (max-width: 600px) {

	.wp-block-lucky-magazine-series.lucky-series-banner,
	.lucky-series-banner {
		margin: 25px 0;
		padding: 19px 18px 18px 21px;
		border-left-width: 5px;
	}

	.lucky-series-label {
		font-size: 17px;
	}

	.lucky-series-count {
		margin-bottom: 15px;
		font-size: 11px;
	}

	.lucky-series-navigation {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.lucky-series-previous,
	.lucky-series-next {
		justify-self: start;
		text-align: left;
	}

	.lucky-series-next {
		justify-content: flex-start;
	}

	.lucky-series-link {
		font-size: 13px;
	}
}

/* ==========================================
   BIBLIOTHÈQUE DE RÉFÉRENCES
   ========================================== */
.lmtk-reference-library,
.lmtk-related-references__grid {
    display: grid;
    gap: 22px;
    align-items: stretch;
}

.lmtk-reference-library--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lmtk-reference-library--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lmtk-reference-library--columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.lmtk-reference-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 18px;
    box-sizing: border-box;
    color: #202020 !important;
    background: #f5f5f5;
    border: 1px solid #e2e2e2;
    border-radius: 0;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

a.lmtk-reference-card:hover,
a.lmtk-reference-card:focus-visible {
    color: #202020 !important;
    border-color: #cfcfcf;
    box-shadow: 0 8px 22px rgba(0,0,0,.07);
    transform: translateY(-2px);
    outline: none;
}

.lmtk-reference-card__top {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.lmtk-reference-card__media {
    width: 112px;
    height: 156px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    border-radius: 4px;
}

.lmtk-reference-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lmtk-reference-card__placeholder {
    font-size: 42px;
    line-height: 1;
    opacity: .25;
}

.lmtk-reference-card__identity { min-width: 0; }

.lmtk-reference-card__title {
    margin: 0 0 8px !important;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
    overflow-wrap: anywhere;

    /* Conserve une hauteur régulière, même pour les titres longs. */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    max-height: calc(1.35em * 3);
}

.lmtk-reference-card__author,
.lmtk-reference-card__year {
    margin: 0 0 4px !important;
    font-size: 15px;
    line-height: 1.45;
}

.lmtk-reference-card__author { font-style: italic; }

.lmtk-reference-card__summary {
    margin: 18px 0 0 !important;
    font-size: 15px;
    line-height: 1.55;

    /* Limite les résumés afin d’aligner les cartes d’une même rangée. */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    max-height: calc(1.55em * 4);
}

.lmtk-reference-card__category {
    margin: auto 0 0 !important;
    padding-top: 18px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: var(--wp--preset--color--secondary, #0ec40b);
}

.lmtk-related-references {
    margin-top: 56px;
    padding-top: 28px;
    border-top: 1px solid #dedede;
}

.lmtk-related-references__heading {
    margin: 0 0 22px !important;
    font-size: 25px;
    line-height: 1.25;
}

.lmtk-related-references__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.lmtk-reference-card--compact .lmtk-reference-card__top { grid-template-columns: 94px minmax(0, 1fr); }
.lmtk-reference-card--compact .lmtk-reference-card__media { width: 94px; height: 130px; }

.lmtk-reference-empty {
    padding: 18px;
    background: #f5f5f5;
    border-radius: 0;
}

@media (max-width: 1050px) {
    .lmtk-reference-library--columns-3,
    .lmtk-reference-library--columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .lmtk-reference-library,
    .lmtk-related-references__grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 2px 18px 14px 0;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .lmtk-reference-library::-webkit-scrollbar,
    .lmtk-related-references__grid::-webkit-scrollbar { display: none; }

    .lmtk-reference-library > .lmtk-reference-card,
    .lmtk-related-references__grid > .lmtk-reference-card {
        flex: 0 0 min(86vw, 330px);
        width: min(86vw, 330px);
        scroll-snap-align: start;
    }

    .lmtk-reference-card__top {
        grid-template-columns: 100px minmax(0, 1fr);
        gap: 14px;
    }

    .lmtk-reference-card__media { width: 100px; height: 140px; }
    .lmtk-reference-card--compact .lmtk-reference-card__top { grid-template-columns: 88px minmax(0, 1fr); }
    .lmtk-reference-card--compact .lmtk-reference-card__media { width: 88px; height: 122px; }
}

/* ==========================================
   ANALYSES DATA / GRAPHIQUES
   ========================================== */
.lmtk-data-chart{margin:32px 0;padding:24px;background:var(--lmtk-chart-bg,#fff);color:var(--lmtk-chart-text,#111);border:1px solid #e6e6e6;box-sizing:border-box}
.lmtk-data-chart__title{margin:0 0 6px!important;font-size:22px;line-height:1.3}.lmtk-data-chart__subtitle{margin:0 0 22px!important;color:var(--lmtk-chart-muted,#686868);font-size:15px;line-height:1.5}
.lmtk-data-chart__visual{width:100%;overflow:hidden}.lmtk-chart-svg{display:block;width:100%;height:auto}.lmtk-data-chart__visual .lmtk-chart-svg{min-height:0}.lmtk-chart-label{fill:var(--lmtk-chart-text,#111);font-size:13px}.lmtk-chart-value{fill:var(--lmtk-chart-text,#111);font-size:12px;font-weight:700}
.lmtk-data-chart__note{margin-top:16px;color:var(--lmtk-chart-muted,#686868);font-size:13px;line-height:1.45}.lmtk-data-chart__sources{margin:14px 0 0!important;color:var(--lmtk-chart-muted,#686868);font-size:12px;line-height:1.5}
.lmtk-data-chart__sources a,.lmtk-data-chart__sources span,.lmtk-data-chart__table a,.lmtk-data-chart__table span{color:inherit!important;font-weight:inherit!important;text-decoration:none!important}.lmtk-data-chart__sources a:hover,.lmtk-data-chart__sources a:focus,.lmtk-data-chart__table a:hover,.lmtk-data-chart__table a:focus{color:inherit!important;text-decoration:none!important}
.lmtk-data-chart__legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:12px}.lmtk-data-chart__legend span{display:inline-flex;align-items:center;gap:7px}.lmtk-data-chart__legend i{width:10px;height:10px;display:inline-block}
.lmtk-data-chart__toggle{margin-top:18px;padding:0;border:0;background:none;color:var(--lmtk-chart-text,#111);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.lmtk-data-chart__toggle span{display:inline-block;margin-left:4px}.lmtk-data-chart__tablewrap{margin-top:12px;overflow-x:auto}.lmtk-data-chart__table{width:100%;border-collapse:collapse;font-size:13px}.lmtk-data-chart__table th,.lmtk-data-chart__table td{padding:9px 10px;border-top:1px solid #e5e5e5;text-align:left;white-space:nowrap}.lmtk-data-chart__table th{font-weight:700}
.lmtk-data-chart--editor{pointer-events:none}.lmtk-data-editor-hint{margin:16px 0 0!important;color:#757575;font-size:12px}.lmtk-data-editor-bars--horizontal{display:grid;gap:10px}.lmtk-data-editor-row{display:grid;grid-template-columns:130px minmax(80px,1fr) 110px;gap:10px;align-items:center;font-size:12px}.lmtk-data-editor-row__track{height:16px;background:#eee}.lmtk-data-editor-row__track i{display:block;height:100%;background:#0ec40b}.lmtk-data-editor-bars--vertical{height:250px;display:flex;gap:14px;align-items:flex-end;padding:20px 10px 0;border-bottom:1px solid #ddd}.lmtk-data-editor-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;text-align:center}.lmtk-data-editor-column i{display:block;width:65%;max-width:70px;background:#0ec40b}.lmtk-data-editor-column strong,.lmtk-data-editor-column small{font-size:11px}.lmtk-data-editor-line{height:240px;display:flex;align-items:flex-end;gap:18px;padding:20px 20px 0;border-bottom:1px solid #ddd}.lmtk-data-editor-line>span{position:relative;flex:1;border-top:3px solid #0ec40b}.lmtk-data-editor-line i{position:absolute;width:8px;height:8px;border-radius:50%;background:#0ec40b;top:-5px;left:50%}.lmtk-data-editor-line small{position:absolute;top:100%;left:0;right:0;margin-top:8px;text-align:center}.lmtk-data-editor-pie{display:flex;align-items:center;gap:28px;padding:20px}.lmtk-data-editor-pie__fake{font-size:180px;line-height:1;color:#0ec40b}.lmtk-data-editor-legend{display:grid;gap:7px;font-size:12px}
@media(max-width:600px){.lmtk-data-chart{padding:18px 14px}.lmtk-data-chart__title{font-size:19px}.lmtk-chart-svg{min-height:0}.lmtk-data-editor-row{grid-template-columns:90px minmax(60px,1fr) 80px}}
