/* =========================================================
   MemoCard.io : page Blog, catégories et articles
   (templates/home.html, archive.html, single.html)
   Chargé seulement sur ces pages (functions.php).
   ========================================================= */

.mc-blog { --mc-gap: clamp(48px, 7vw, 88px); }
.mc-blog :where(h1, h2, h3, p) { margin-top: 0; }
.mc-blog .alignfull { margin-top: 0 !important; margin-bottom: 0 !important; }

/* Tons par catégorie (classe category-* ajoutée par WordPress sur chaque article) */
.mc-blog .wp-block-post { --tone: #f2c94c; --tone-ink: #8a6a00; --tone-soft: #fff7d6; }
.mc-blog .category-methodes-de-revision { --tone: var(--mc-violet); --tone-ink: var(--mc-violet-deep); --tone-soft: var(--mc-violet-soft); }
.mc-blog .category-guides-memocard      { --tone: #81c784;          --tone-ink: var(--mc-green-text); --tone-soft: #edf7ee; }
.mc-blog .category-comparatifs          { --tone: var(--mc-coral);  --tone-ink: var(--mc-red-text);  --tone-soft: #fdecec; }

/* ---------- En-tête ---------- */
.mc-blog-head {
	padding: clamp(48px, 7vw, 96px) 16px clamp(36px, 5vw, 56px) !important;
	background-image:
		radial-gradient(ellipse at 50% 30%, rgba(248, 248, 248, .1), var(--mc-paper) 72%),
		linear-gradient(var(--mc-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--mc-line) 1px, transparent 1px);
	background-size: auto, 28px 28px, 28px 28px;
}
.mc-blog-head__grid { gap: clamp(24px, 5vw, 72px) !important; margin: 0 auto !important; }
.mc-blog-head h1 {
	font-size: clamp(34px, 4.8vw, 58px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.04em;
	margin-bottom: 18px !important;
	max-width: 12em;
}
.mc-blog-head .mc-lead { color: var(--mc-ink-soft); max-width: 34em; margin-bottom: 28px !important; font-size: clamp(17px, 1.4vw, 19px); }
.mc-blog-crumb { margin-bottom: 14px !important; font-weight: 600; }
.mc-blog-crumb a { text-decoration: none; }
.mc-blog-crumb a:hover { text-decoration: underline; }

/* Filtres : « Tout » + liste des catégories en pastilles */
.mc-chips { gap: 10px !important; align-items: center; }
.mc-chips > * { margin: 0 !important; }
.mc-chips { flex-wrap: wrap !important; }
.mc-chip-cats { width: auto !important; flex: 0 1 auto; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none; }
.mc-chip-cats li { margin: 0 !important; }
.mc-chip, .mc-chip-cats li a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 1.5px solid var(--mc-border);
	border-radius: 999px;
	background: var(--mc-white);
	color: var(--mc-ink) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	box-shadow: none;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.mc-chip-cats li { display: inline-flex; align-items: center; color: var(--mc-muted); font-size: 14px; font-weight: 500; }
.mc-chip-cats li a::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--mc-ink); }
.mc-chip-cats .cat-item-6 a::before { background: var(--mc-violet); }
.mc-chip-cats .cat-item-7 a::before { background: #81c784; }
.mc-chip-cats .cat-item-8 a::before { background: var(--mc-coral); }
.mc-chip-cats li a { margin-right: -2px; }
.mc-chip:hover, .mc-chip-cats li a:hover { border-color: var(--mc-violet); color: var(--mc-violet-deep) !important; }
.mc-chip-all.is-current .mc-chip,
.mc-chip-cats li.current-cat a { background: var(--mc-violet); border-color: var(--mc-violet); color: #fff !important; }
.mc-chip-all.is-current .mc-chip::before,
.mc-chip-cats li.current-cat a::before { background: #fff; }
.mc-chip-cats li { gap: 6px; }

/* Petit paquet de fiches à droite */
.mc-blog-deck { position: relative; height: 300px; max-width: 360px; margin-left: auto; width: 100%; }
.mc-blog-deck .mc-blog-deck__card {
	position: absolute;
	margin: 0 !important;
	width: 230px; height: 112px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 22px 0 40px;
	background:
		linear-gradient(90deg, transparent 26px, var(--mc-margin) 26px, var(--mc-margin) 28px, transparent 28px),
		repeating-linear-gradient(transparent 0 27px, var(--mc-line) 27px 28px),
		var(--mc-white);
	border-radius: 10px;
	box-shadow: var(--mc-shadow);
	font-family: var(--mc-hand);
	font-size: 27px;
	font-weight: 700;
	line-height: 1.05;
	text-align: center;
	color: var(--mc-ink);
}
.mc-blog-deck .mc-blog-deck__card:nth-child(1) { top: 0;     right: 0;    transform: rotate(5deg); }
.mc-blog-deck .mc-blog-deck__card:nth-child(2) { top: 92px;  left: 0;     transform: rotate(-4deg); color: var(--mc-violet-deep); }
.mc-blog-deck .mc-blog-deck__card:nth-child(3) { top: 184px; right: 18px; transform: rotate(2deg); }

/* ---------- À la une ---------- */
.mc-blog-featured { padding: 0 16px var(--mc-gap) !important; }
.mc-blog-featured .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.mc-feature {
	gap: clamp(28px, 5vw, 64px) !important;
	margin: 0 !important;
	padding: clamp(24px, 4vw, 44px);
	background: var(--mc-white);
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--mc-radius);
	box-shadow: var(--mc-shadow-lift);
}
.mc-feature__flash {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	aspect-ratio: 5 / 3.4;
	padding: 24px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--mc-purple) 0%, var(--mc-violet) 50%, var(--mc-blue) 100%);
	color: #fff;
	transform: rotate(-2deg);
	box-shadow: var(--mc-shadow-lift);
	transition: transform .25s ease;
	overflow: hidden;
}
.mc-feature:hover .mc-feature__flash { transform: rotate(0deg) translateY(-3px); }
.mc-feature__flash > * { margin: 0 !important; }
.mc-feature__img { position: absolute !important; inset: 0; z-index: 2; height: 100%; }
.mc-feature__img a, .mc-feature__img img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.mc-feature__word {
	font-family: var(--mc-hand);
	font-size: clamp(40px, 5.5vw, 68px);
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #fff;
}
.mc-feature__hint { margin-top: 14px !important; font-size: 14px; opacity: .8; color: #fff; }
.mc-feature__label {
	display: inline-block;
	margin-bottom: 14px !important;
	padding: 3px 10px;
	background: var(--mc-yellow);
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	transform: rotate(-1.5deg);
}
.mc-feature__title { font-size: clamp(26px, 3vw, 38px) !important; line-height: 1.12 !important; letter-spacing: -.03em; margin-bottom: 14px !important; }
.mc-feature__title a { color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-feature__title a:hover { color: var(--mc-violet-deep) !important; }
.mc-feature__excerpt p { font-size: 17px; color: var(--mc-ink-soft); margin: 0 0 12px; max-width: 34em; }
.mc-feature__excerpt .wp-block-post-excerpt__more-text { display: none; }
.mc-feature__meta { gap: 6px 14px !important; font-size: 14px; color: var(--mc-muted); margin-bottom: 22px !important; }
.mc-feature__meta > * { margin: 0 !important; }
.mc-feature__meta a { color: var(--mc-muted); text-decoration: none; }
.mc-feature .mc-btn {
	display: inline-block;
	padding: 12px 24px;
	border-radius: var(--mc-radius-btn);
	background: var(--mc-violet);
	color: #fff !important;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: none;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.mc-feature .mc-btn:hover { background: var(--mc-violet-hover); transform: translateY(-1px); box-shadow: 0 6px 16px -6px rgba(114, 117, 212, .6); }

/* ---------- Grille d'articles ---------- */
.mc-blog-list { padding: 0 16px var(--mc-gap) !important; }
.mc-blog-head--archive + .mc-blog-list { padding-top: 8px !important; }
.mc-blog-list__title { font-size: clamp(24px, 2.6vw, 32px) !important; letter-spacing: -.03em; margin-bottom: 28px !important; }
.mc-blog .mc-postgrid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-flow: dense;
	gap: 28px !important;
	margin: 0; padding: 0; list-style: none;
}
.mc-postgrid > .wp-block-post { display: flex; margin: 0 !important; }
.mc-postgrid > .wp-block-post:nth-child(1),
.mc-postgrid > .wp-block-post:nth-child(6) { grid-column: span 2; }
.mc-postcard {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 26px 24px 22px;
	background: var(--mc-white);
	border-radius: var(--mc-radius);
	border-top: 6px solid var(--tone);
	box-shadow: var(--mc-shadow);
	transform: rotate(var(--tilt, 0deg));
	transition: transform .2s ease, box-shadow .2s ease;
}
.mc-postcard > * { margin: 0 !important; }
.mc-postcard:hover { transform: translateY(-4px) rotate(0deg); box-shadow: var(--mc-shadow-lift); }
.mc-postcard__thumb { margin: -26px -24px 20px !important; border-radius: 10px 10px 0 0; overflow: hidden; }
.mc-postcard__thumb img { display: block; width: 100%; }
.mc-postcard__cat { align-self: flex-start; margin-bottom: 12px !important; font-size: 13px; font-weight: 700; }
.mc-postcard__cat a {
	display: inline-block;
	padding: 3px 10px;
	background: var(--tone-soft);
	color: var(--tone-ink) !important;
	border-radius: 999px;
	text-decoration: none !important;
	position: relative; z-index: 2;
}
.mc-postcard__title { font-size: 19px !important; line-height: 1.25 !important; letter-spacing: -.02em; margin-bottom: 10px !important; }
.mc-postcard__title a { color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-postcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--mc-radius); }
.mc-postcard:has(:focus-visible) { outline: 3px solid var(--mc-violet); outline-offset: 3px; }
.mc-postcard__title a:focus-visible { outline: none; }
.mc-postcard__excerpt { margin-bottom: 18px !important; }
.mc-postcard__excerpt p {
	font-size: 15.5px;
	color: var(--mc-ink-soft);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mc-postcard__excerpt .wp-block-post-excerpt__more-text { display: none; }
.mc-postcard__meta { margin-top: auto !important; font-size: 14px; font-weight: 600; color: var(--mc-muted); }
.mc-postcard__meta::before { content: "Lecture : "; font-weight: 500; }
.mc-postcard__meta::after { content: " →"; display: inline-block; color: var(--tone-ink); transition: transform .2s ease; }
.mc-postcard:hover .mc-postcard__meta::after { transform: translateX(4px); }

/* Cartes larges : fond teinté */
.mc-postgrid > .wp-block-post:nth-child(1) .mc-postcard,
.mc-postgrid > .wp-block-post:nth-child(6) .mc-postcard { background: var(--tone-soft); padding: 32px 34px 28px; }
.mc-postgrid > .wp-block-post:nth-child(1) .mc-postcard__title,
.mc-postgrid > .wp-block-post:nth-child(6) .mc-postcard__title { font-size: clamp(22px, 2.2vw, 27px) !important; max-width: 22em; }
.mc-postgrid > .wp-block-post:nth-child(1) .mc-postcard__cat a,
.mc-postgrid > .wp-block-post:nth-child(6) .mc-postcard__cat a { background: var(--mc-white); }
.mc-postgrid > .wp-block-post:nth-child(1) .mc-postcard__excerpt p,
.mc-postgrid > .wp-block-post:nth-child(6) .mc-postcard__excerpt p { font-size: 16.5px; max-width: 38em; }
.mc-postgrid > .wp-block-post:nth-child(1) .mc-postcard__thumb,
.mc-postgrid > .wp-block-post:nth-child(6) .mc-postcard__thumb { margin: -32px -34px 22px !important; }

/* Pagination */
.mc-blog .mc-pagination { margin-top: 48px !important; gap: 8px; }
.mc-blog .mc-pagination :is(.page-numbers, a) {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 14px;
	border: 1.5px solid var(--mc-border); border-radius: 12px;
	background: var(--mc-white); color: var(--mc-ink) !important;
	font-weight: 600; text-decoration: none !important;
}
.mc-blog .mc-pagination .page-numbers.current { background: var(--mc-violet); border-color: var(--mc-violet); color: #fff !important; }
.mc-blog .mc-pagination .page-numbers.dots { border: 0; background: none; }

/* ---------- Articles : post-it « En bref », astuces, appels ---------- */
.single-post .entry-content > .wp-block-group:is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) {
	max-width: 620px;
	margin: 56px auto 56px 8px !important;
	padding: 34px 34px 28px !important;
}
.single-post .entry-content > .wp-block-group:is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) + * { margin-top: 0 !important; }
.single-post .entry-content > :is(h2, h3) + .wp-block-group:is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) { margin-top: 36px !important; }
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) > * + * { margin-top: 14px !important; }
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) ul { margin: 14px 0 0 !important; padding-left: 1.2em; }
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) li { font-size: 16px; line-height: 1.55; margin-bottom: 8px; }
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) li:last-child { margin-bottom: 0; }
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) p:not(:first-child),
.single-post .entry-content :is(.is-style-mc-sticky-pink, .is-style-mc-sticky) p {
	font-family: var(--mc-font);
	font-size: 16.5px;
	font-weight: 400;
	line-height: 1.55;
}
.single-post .entry-content :is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) p strong:only-child { font-family: var(--mc-hand); font-size: 30px; font-weight: 700; line-height: 1; }

/* ---------- Responsive ---------- */
@media (max-width: 921px) {
	.mc-blog-deck-col { display: none; }
	.mc-blog .mc-postgrid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 22px !important; }
}
@media (max-width: 781px) {
	.mc-feature__flash { max-width: 440px; width: 100%; }
}
@media (max-width: 600px) {
	.mc-blog .mc-postgrid { grid-template-columns: 1fr !important; }
	.mc-postgrid > .wp-block-post:nth-child(1),
	.mc-postgrid > .wp-block-post:nth-child(6) { grid-column: auto; }
	.mc-postgrid > .wp-block-post:nth-child(n) .mc-postcard { --tilt: 0deg; padding: 26px 24px 22px; }
	.mc-feature { padding: 20px; }
	.mc-chip, .mc-chip-cats li a { padding: 8px 13px; font-size: 14px; }
	.single-post .entry-content > .wp-block-group:is(.is-style-mc-sticky, .is-style-mc-sticky-mint, .is-style-mc-sticky-pink) {
		margin: 44px 4px !important;
		padding: 28px 22px 22px !important;
		transform: rotate(-1deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.mc-postcard, .mc-feature__flash, .mc-blog-deck__card { transform: none !important; }
}

/* ---------- Page 404 ---------- */
.mc-404 .mc-404-hero { padding-bottom: clamp(56px, 8vw, 104px) !important; }
.mc-404 .mc-404-oups { font-size: clamp(34px, 4vw, 46px) !important; color: var(--mc-coral); margin-bottom: 4px !important; transform: rotate(-3deg); display: inline-block; }
.mc-404 h1 { font-size: clamp(34px, 4.8vw, 56px); line-height: 1.08; letter-spacing: -.04em; max-width: 12em; margin-bottom: 18px !important; }
.mc-404 .mc-lead { color: var(--mc-ink-soft); max-width: 32em; margin-bottom: 26px !important; }
.mc-404-search { max-width: 520px; margin-bottom: 22px !important; }
.mc-404-search .wp-block-search__inside-wrapper { gap: 8px; border: 0 !important; padding: 0 !important; }
.mc-404-search .wp-block-search__input {
	padding: 13px 18px; border: 1.5px solid var(--mc-border); border-radius: 12px;
	background: var(--mc-white); font-family: var(--mc-font); font-size: 16px; color: var(--mc-ink);
	box-shadow: none;
}
.mc-404-search .wp-block-search__input:focus { outline: none; border-color: var(--mc-violet); box-shadow: 0 0 0 4px var(--mc-violet-soft); }
.mc-404-search .wp-block-search__button { border-radius: var(--mc-radius-btn); padding: 12px 22px; margin: 0; background: var(--mc-violet); color: #fff; font-weight: 600; border: 0; }
.mc-404-buttons { gap: 12px !important; }
.mc-404-visual { position: relative; display: flex; flex-direction: column; align-items: center; }
.mc-404-visual .mc-deck, .mc-404-visual .is-style-mc-flashcards { transform: rotate(3deg) scale(1.15); margin: 20px auto !important; }
.mc-404-hint { font-size: 24px !important; color: var(--mc-ink-soft); text-align: center; margin-top: 28px !important; transform: rotate(-2deg); }
.mc-404-h2 { font-size: clamp(24px, 2.6vw, 32px); letter-spacing: -.03em; margin-bottom: 28px !important; }
.mc-404-link h3 a { color: var(--mc-ink) !important; text-decoration: none !important; }
.mc-404-link h3 a::after { content: ""; position: absolute; inset: 0; }
.mc-404-link { position: relative; }
.mc-404-link h3 a:hover { color: var(--mc-violet-deep) !important; }
.mc-404-latest .mc-postgrid--plain > .wp-block-post:nth-child(n) { grid-column: auto; }
.mc-404-latest .mc-postgrid--plain > .wp-block-post:nth-child(n) .mc-postcard { background: var(--mc-white); padding: 26px 24px 22px; }
.mc-404-latest .mc-postgrid--plain > .wp-block-post:nth-child(n) .mc-postcard__title { font-size: 19px !important; }
@media (max-width: 781px) {
	.mc-404-visual { margin-top: 24px; }
	.mc-404-visual .mc-deck, .mc-404-visual .is-style-mc-flashcards { transform: rotate(2deg); }
}