/* =========================================================================
   Reviz - feuille de styles du theme enfant
   Direction de design active : "Reviz, bleu d'ecole et violet de progression"
   Ordre : 1 jetons - 2 base - 3 en-tete - 4 boutons - 5 heros - 6 niveaux
           7 matieres - 8 methode - 9 defi - 10 bloc CTA - 11 pied de page
           12 formulaires - 13 page Defi - 14 responsive
   ========================================================================= */

/* --- 1. Jetons ---------------------------------------------------------- */
:root{
	--rvz-bg:#F8FAFC;
	--rvz-surface:#FFFFFF;
	--rvz-ink:#0F172A;
	--rvz-muted:#475569;
	--rvz-soft:#64748B;
	--rvz-line:#E2E8F0;
	--rvz-line-soft:#EEF2F7;

	--rvz-blue:#2563EB;
	--rvz-blue-dark:#1D4ED8;
	--rvz-blue-soft:#EFF4FF;
	--rvz-violet:#7C3AED;
	--rvz-violet-dark:#6D28D9;

	--rvz-success:#16A34A;
	--rvz-warning:#F59E0B;
	--rvz-error:#DC2626;

	--rvz-maths:#2563EB;
	--rvz-francais:#7C3AED;
	--rvz-anglais:#E11D48;
	--rvz-sciences:#16A34A;
	--rvz-histoire:#EA580C;

	--rvz-grad:linear-gradient(118deg,#2563EB 0%,#5B4BE8 48%,#7C3AED 100%);

	--rvz-r-sm:10px;
	--rvz-r-md:18px;
	--rvz-r-lg:28px;
	--rvz-r-pill:999px;

	--rvz-shadow:0 1px 2px rgba(15,23,42,.05), 0 10px 28px -22px rgba(37,99,235,.42);
	--rvz-shadow-h:0 2px 4px rgba(15,23,42,.05), 0 22px 44px -26px rgba(37,99,235,.55);

	--rvz-wrap:1180px;
	--rvz-gut:24px;

	--rvz-sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--rvz-display:"Bricolage Grotesque","Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}

/* --- 2. Base ------------------------------------------------------------ */
body{
	font-family:var(--rvz-sans);
	font-size:17px;
	line-height:1.65;
	color:var(--rvz-ink);
	background:var(--rvz-bg);
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,.rvz-display{
	font-family:var(--rvz-display);
	font-weight:700;
	color:var(--rvz-ink);
	letter-spacing:-.02em;
	text-wrap:balance;
}
h1{font-size:clamp(2.05rem,1.05rem + 3.5vw,3.4rem);line-height:1.04;font-weight:800}
h2{font-size:clamp(1.62rem,1.05rem + 2.1vw,2.5rem);line-height:1.08;font-weight:800}
h3{font-size:clamp(1.12rem,1rem + .5vw,1.35rem);line-height:1.18}
h4{font-size:1.02rem;line-height:1.25}
p{margin:0 0 1.1em}
a{color:var(--rvz-blue);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover,a:focus{color:var(--rvz-blue-dark)}
:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px;border-radius:6px}
strong{font-weight:700}

/* Les pages construites au bloc n'ont ni marge ni encadre GeneratePress. */
.rvz-flush .site-content{padding:0}
.rvz-flush .content-area{margin:0;padding:0}
.rvz-flush .site-main{margin:0}
.rvz-flush .entry-content{margin:0}
.rvz-flush .entry-content>*{margin-block:0}
.rvz-flush .inside-article{padding:0}
.rvz-flush .site-content .entry-header{display:none}

/* Conteneur et rythme de section */
.rvz-wrap{
	width:100%;
	max-width:var(--rvz-wrap);
	margin-inline:auto;
	padding-inline:var(--rvz-gut);
	box-sizing:border-box;
}
.rvz-section{padding-block:clamp(56px,6.5vw,104px);position:relative}
.rvz-section--tight{padding-block:clamp(34px,3.4vw,52px)}
.rvz-section>.rvz-wrap>*{margin-block:0}

/* Elements de texte partages */
.rvz-eyebrow{
	display:inline-block;
	font-family:var(--rvz-sans);
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-blue);
	margin:0 0 .9rem;
}
.rvz-lead{
	font-size:clamp(1.03rem,.98rem + .35vw,1.18rem);
	color:var(--rvz-muted);
	max-width:36em;
	margin:0 0 1.6rem;
}
.rvz-head{max-width:44rem;margin:0 0 clamp(30px,3.4vw,52px)}
.rvz-head>*{margin-block:0}
.rvz-head p{color:var(--rvz-muted);max-width:36em;margin:1rem 0 0}

/* Formes decoratives */
.rvz-shape{position:absolute;pointer-events:none;z-index:0}
.rvz-blob{border-radius:50%;filter:blur(56px);opacity:.5}
.rvz-dots{
	background-image:radial-gradient(rgba(37,99,235,.32) 1.6px,transparent 1.6px);
	background-size:16px 16px;
	opacity:.55;
}

/* --- 3. En-tete --------------------------------------------------------- */
.site-header{
	position:sticky;
	top:0;
	z-index:80;
	background:rgba(255,255,255,.9);
	backdrop-filter:saturate(1.5) blur(12px);
	-webkit-backdrop-filter:saturate(1.5) blur(12px);
	border-bottom:1px solid var(--rvz-line);
	padding:0;
}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
.site-header .inside-header{
	max-width:var(--rvz-wrap);
	padding:14px var(--rvz-gut);
	display:flex;
	align-items:center;
	gap:20px;
}
.site-branding{padding:0!important;display:flex;align-items:center}
/* Logo televerse (Personnaliser > En-tete du site).
   La largeur est fixee ici et nulle part ailleurs : le reglage "Largeur du
   logo" de GeneratePress n'emet pas de regle CSS sur cette installation, le
   fichier de 2045 px s'affichait donc en taille reelle. Pour changer la taille
   du logo, modifiez --rvz-logo-w ci-dessous. */
:root{--rvz-logo-w:128px}
.site-logo{display:flex;align-items:center;margin:0;padding:0}
.site-logo img.header-image{display:block;width:var(--rvz-logo-w);height:auto;max-width:100%}
.rvz-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none}
.rvz-logo:hover{text-decoration:none}
.rvz-logo__word{
	font-family:var(--rvz-display);
	font-weight:800;
	font-size:1.5rem;
	letter-spacing:-.035em;
	color:var(--rvz-ink);
	line-height:1;
}
.main-title{margin:0;font-size:inherit;line-height:1}
.site-description{display:none}

.main-navigation{background:transparent;margin-left:auto}
.main-navigation .inside-navigation{padding:0;display:flex;align-items:center;gap:8px}
.main-navigation .main-nav>ul{display:flex;align-items:center;gap:2px}
.main-navigation .main-nav ul li a{
	font-size:.96rem;
	font-weight:600;
	color:var(--rvz-ink);
	padding:10px 14px;
	line-height:1.2;
	border-radius:var(--rvz-r-pill);
	transition:background-color .18s ease,color .18s ease;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item>a{
	background:var(--rvz-blue-soft);
	color:var(--rvz-blue-dark);
}
.main-navigation .menu-bar-items{margin-left:10px}

.rvz-nav-cta{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	background:var(--rvz-blue);
	color:#fff!important;
	border-radius:var(--rvz-r-pill);
	padding:.66rem 1.15rem;
	font-size:.94rem;
	font-weight:700;
	line-height:1;
	text-decoration:none;
	white-space:nowrap;
	box-shadow:0 8px 20px -14px rgba(37,99,235,.9);
	transition:background-color .18s ease,transform .18s ease;
}
.rvz-nav-cta:hover,.rvz-nav-cta:focus{background:var(--rvz-blue-dark);color:#fff!important;transform:translateY(-1px)}
.rvz-nav-cta__dot{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.85;flex:none}

.main-navigation .menu-toggle{
	font-family:var(--rvz-sans);
	font-weight:700;
	color:var(--rvz-ink);
	padding:12px 14px;
}
@media(max-width:768px){
	.site-header .inside-header{padding:12px 18px;gap:12px}
	.main-navigation .menu-bar-items{margin-left:0}
	.rvz-nav-cta{padding:.58rem .95rem;font-size:.88rem}
	.rvz-logo__word{font-size:1.32rem}
	:root{--rvz-logo-w:106px}
	/* GeneratePress donne au bouton de menu une hauteur de ligne de 60px :
	   l'en-tete mobile faisait 118px de haut pour rien. */
	.main-navigation .menu-toggle{line-height:1;height:auto;padding:10px 12px;font-size:1.1rem}
	.main-navigation .menu-toggle .gp-icon svg{width:1.35em;height:1.35em}
}

/* --- 4. Boutons --------------------------------------------------------- */
.wp-block-buttons.rvz-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.wp-block-button.rvz-btn>.wp-block-button__link{
	font-family:var(--rvz-sans);
	font-weight:700;
	font-size:1rem;
	line-height:1.15;
	padding:.92rem 1.6rem;
	border-radius:var(--rvz-r-pill);
	border:1px solid transparent;
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.wp-block-button.rvz-btn--primary>.wp-block-button__link{
	background:var(--rvz-blue);
	color:#fff;
	box-shadow:0 14px 30px -18px rgba(37,99,235,.95);
}
.wp-block-button.rvz-btn--primary>.wp-block-button__link:hover,
.wp-block-button.rvz-btn--primary>.wp-block-button__link:focus{
	background:var(--rvz-blue-dark);
	color:#fff;
	transform:translateY(-2px);
}
.wp-block-button.rvz-btn--ghost>.wp-block-button__link{
	background:var(--rvz-surface);
	color:var(--rvz-ink);
	border-color:var(--rvz-line);
}
.wp-block-button.rvz-btn--ghost>.wp-block-button__link:hover,
.wp-block-button.rvz-btn--ghost>.wp-block-button__link:focus{
	background:#fff;
	color:var(--rvz-blue-dark);
	border-color:var(--rvz-blue);
	transform:translateY(-2px);
}
.wp-block-button.rvz-btn--onblue>.wp-block-button__link{
	background:#fff;
	color:var(--rvz-blue-dark);
}
.wp-block-button.rvz-btn--onblue>.wp-block-button__link:hover,
.wp-block-button.rvz-btn--onblue>.wp-block-button__link:focus{
	background:#F1F5FF;
	color:var(--rvz-blue-dark);
	transform:translateY(-2px);
}

/* --- 5. Heros ----------------------------------------------------------- */
.rvz-hero{
	position:relative;
	overflow:hidden;
	padding-block:clamp(48px,6vw,96px) clamp(40px,5vw,80px);
	background:
		radial-gradient(760px 460px at 92% -12%,rgba(124,58,237,.16),transparent 62%),
		radial-gradient(680px 440px at 2% 4%,rgba(37,99,235,.13),transparent 60%),
		var(--rvz-bg);
}
.rvz-hero__grid{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,7fr) minmax(0,5.4fr);
	gap:clamp(30px,4vw,66px);
	align-items:center;
}
.rvz-hero__col>*{margin-block:0}
.rvz-hero h1{margin:0 0 1.1rem}
.rvz-hero .rvz-lead{max-width:34em}
.rvz-hero__media{position:relative;margin:0}
.rvz-hero__media .wp-block-image{margin:0}
.rvz-hero__media img{
	display:block;
	width:100%;
	height:auto;
	border-radius:var(--rvz-r-lg);
	box-shadow:var(--rvz-shadow);
}
.rvz-hero__media::after{
	content:"";
	position:absolute;
	right:-20px;
	bottom:-24px;
	width:120px;
	height:120px;
	border-radius:28px;
	background:var(--rvz-grad);
	opacity:.18;
	transform:rotate(14deg);
	z-index:-1;
}

/* --- 6. Bande niveaux --------------------------------------------------- */
.rvz-levels{border-block:1px solid var(--rvz-line);background:var(--rvz-surface)}
.rvz-levels .rvz-wrap>*{margin-block:0}
.rvz-levels__row{
	display:flex;
	align-items:center;
	gap:clamp(12px,2vw,26px);
	flex-wrap:wrap;
	padding-block:22px;
}
.rvz-levels__label{
	font-size:.74rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-soft);
	margin:0;
	flex:none;
}
.rvz-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.rvz-chips li{
	font-size:.92rem;
	font-weight:700;
	color:var(--rvz-ink);
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	padding:.42rem .95rem;
	line-height:1.2;
}
.rvz-chips--lycee li{background:#F6F3FF;border-color:#E4DBFB;color:var(--rvz-violet-dark)}
.rvz-levels__sep{width:1px;height:26px;background:var(--rvz-line);flex:none}
.rvz-levels__note{margin:0 0 0 auto;font-size:.9rem;color:var(--rvz-soft)}
@media(max-width:980px){
	.rvz-levels__sep{display:none}
	.rvz-levels__note{margin-left:0;width:100%}
}

/* --- 7. Matieres (bento) ------------------------------------------------ */
.rvz-matieres{background:var(--rvz-bg)}
.rvz-bento{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:18px;
}
.rvz-card{
	--c:var(--rvz-blue);
	--c-soft:rgba(37,99,235,.10);
	position:relative;
	overflow:hidden;
	grid-column:span 3;
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	padding:26px 26px 24px;
	box-shadow:var(--rvz-shadow);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rvz-card>*{margin-block:0}
.rvz-card::before{
	content:"";
	position:absolute;
	inset:0 0 auto 0;
	height:4px;
	background:var(--c);
}
.rvz-card::after{
	content:"";
	position:absolute;
	top:-58px;
	right:-58px;
	width:158px;
	height:158px;
	border-radius:50%;
	background:var(--c-soft);
	pointer-events:none;
}
.rvz-card:hover{transform:translateY(-3px);box-shadow:var(--rvz-shadow-h);border-color:var(--c)}
.rvz-card h3{position:relative;z-index:1;margin:6px 0 .55rem;display:flex;align-items:center;gap:.6rem}
.rvz-card h3::before{
	content:"";
	width:11px;
	height:11px;
	border-radius:50%;
	background:var(--c);
	flex:none;
}
.rvz-card p{position:relative;z-index:1;color:var(--rvz-muted);font-size:.98rem;margin:0 0 1rem}
.rvz-card--tall{grid-row:span 2}
.rvz-card--tall h3{font-size:clamp(1.3rem,1.05rem + .9vw,1.7rem)}
.rvz-card--tall p{font-size:1.04rem}

.rvz-card--maths{--c:var(--rvz-maths);--c-soft:rgba(37,99,235,.10)}
.rvz-card--francais{--c:var(--rvz-francais);--c-soft:rgba(124,58,237,.10)}
.rvz-card--anglais{--c:var(--rvz-anglais);--c-soft:rgba(225,29,72,.09)}
.rvz-card--sciences{--c:var(--rvz-sciences);--c-soft:rgba(22,163,74,.10)}
.rvz-card--histoire{--c:var(--rvz-histoire);--c-soft:rgba(234,88,12,.10)}

ul.rvz-tags{
	position:relative;
	z-index:1;
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	gap:7px;
	margin:0;
	padding:0;
}
ul.rvz-tags li{
	font-size:.82rem;
	font-weight:600;
	line-height:1.2;
	color:var(--rvz-muted);
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	padding:.32rem .7rem;
	margin:0;
}
.rvz-card--tall ul.rvz-tags li{font-size:.86rem}

/* --- 8. Methode (frise) ------------------------------------------------- */
.rvz-methode{background:var(--rvz-surface);border-block:1px solid var(--rvz-line)}
.rvz-methode__grid{
	display:grid;
	grid-template-columns:minmax(0,4.2fr) minmax(0,7fr);
	gap:clamp(28px,4vw,64px);
	align-items:start;
}
.rvz-methode__aside>*{margin-block:0}
.rvz-methode__aside p{color:var(--rvz-muted);margin:1rem 0 0}
.rvz-steps{position:relative;counter-reset:rvzstep;padding:0}
.rvz-steps>*{margin-block:0}
.rvz-steps::before{
	content:"";
	position:absolute;
	left:19px;
	top:14px;
	bottom:26px;
	width:2px;
	background:linear-gradient(180deg,var(--rvz-blue),var(--rvz-violet));
	border-radius:2px;
}
.rvz-step{position:relative;padding:0 0 30px 62px}
.rvz-step:last-child{padding-bottom:0}
.rvz-step>*{margin-block:0}
.rvz-step::before{
	counter-increment:rvzstep;
	content:counter(rvzstep);
	position:absolute;
	left:0;
	top:-2px;
	width:40px;
	height:40px;
	border-radius:50%;
	background:var(--rvz-surface);
	border:2px solid var(--rvz-blue);
	color:var(--rvz-blue);
	font-family:var(--rvz-display);
	font-weight:800;
	font-size:1.05rem;
	display:flex;
	align-items:center;
	justify-content:center;
	line-height:1;
}
.rvz-step:nth-child(2)::before{border-color:#5B4BE8;color:#5B4BE8}
.rvz-step:nth-child(3)::before{border-color:var(--rvz-violet);color:var(--rvz-violet)}
.rvz-step h3{margin:0 0 .35rem}
.rvz-step p{color:var(--rvz-muted);margin:0}

/* --- 9. Defi Reviz (bande degradee) ------------------------------------- */
.rvz-defi{
	position:relative;
	overflow:hidden;
	background:var(--rvz-grad);
	color:#fff;
}
.rvz-defi::before{
	content:"";
	position:absolute;
	top:-140px;
	right:-120px;
	width:420px;
	height:420px;
	border-radius:50%;
	background:rgba(255,255,255,.10);
	pointer-events:none;
}
.rvz-defi::after{
	content:"";
	position:absolute;
	left:-90px;
	bottom:-150px;
	width:320px;
	height:320px;
	border-radius:70px;
	background:rgba(255,255,255,.07);
	transform:rotate(22deg);
	pointer-events:none;
}
.rvz-defi__grid{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,6.4fr) minmax(0,5fr);
	gap:clamp(30px,4vw,60px);
	align-items:center;
}
.rvz-defi__col>*{margin-block:0}
.rvz-defi h2,.rvz-defi h3{color:#fff}
.rvz-defi .rvz-eyebrow{color:rgba(255,255,255,.85)}
.rvz-defi p{color:rgba(255,255,255,.9)}
.rvz-defi .rvz-lead{color:rgba(255,255,255,.92);max-width:34em}
ul.rvz-legend{
	list-style:none;
	margin:0 0 1.7rem;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
ul.rvz-legend li{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
	font-size:.9rem;
	font-weight:600;
	color:#fff;
	background:rgba(255,255,255,.14);
	border:1px solid rgba(255,255,255,.22);
	border-radius:var(--rvz-r-pill);
	padding:.4rem .9rem;
	margin:0;
}
ul.rvz-legend li::before{
	content:"";
	width:9px;
	height:9px;
	border-radius:50%;
	flex:none;
	background:#fff;
}
ul.rvz-legend li:nth-child(1)::before,ul.rvz-legend li.is-ok::before{background:#4ADE80}
ul.rvz-legend li:nth-child(2)::before,ul.rvz-legend li.is-warn::before{background:#FBBF24}
ul.rvz-legend li:nth-child(3)::before,ul.rvz-legend li.is-err::before{background:#FCA5A5}

.rvz-defi__card{
	background:#fff;
	border-radius:var(--rvz-r-lg);
	padding:clamp(24px,2.6vw,34px);
	box-shadow:0 30px 60px -30px rgba(15,23,42,.5);
}
.rvz-defi__card>*{margin-block:0}
.rvz-defi__card h3{color:var(--rvz-ink);margin:0 0 .6rem}
.rvz-defi__card p{color:var(--rvz-muted);font-size:.98rem;margin:0 0 1.2rem}
.rvz-badge{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.05em;
	text-transform:uppercase;
	border-radius:var(--rvz-r-pill);
	padding:.34rem .8rem;
	margin:0 0 1rem;
}
.rvz-badge--soon{background:rgba(245,158,11,.14);color:#B45309}
.rvz-badge--soon::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rvz-warning)}

/* --- 10. Bloc CTA accompagnement ---------------------------------------- */
.rvz-ctabox{
	position:relative;
	background:var(--rvz-surface);
	border-radius:var(--rvz-r-lg);
	padding:clamp(28px,3.4vw,48px);
	box-shadow:var(--rvz-shadow);
	display:grid;
	grid-template-columns:minmax(0,7fr) minmax(0,4fr);
	gap:clamp(20px,3vw,44px);
	align-items:center;
	overflow:hidden;
}
.rvz-ctabox>*{margin-block:0}
.rvz-ctabox::before{
	content:"";
	position:absolute;
	inset:0;
	border-radius:inherit;
	padding:2px;
	background:var(--rvz-grad);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	mask-composite:exclude;
	pointer-events:none;
}
.rvz-ctabox__text>*{margin-block:0}
.rvz-ctabox h2{font-size:clamp(1.4rem,1.05rem + 1.3vw,2rem);margin:0 0 .6rem}
.rvz-ctabox p{color:var(--rvz-muted);margin:0;max-width:44ch}
.rvz-ctabox .wp-block-buttons{justify-content:flex-end}
@media(max-width:860px){
	.rvz-ctabox{grid-template-columns:1fr}
	.rvz-ctabox .wp-block-buttons{justify-content:flex-start}
}

/* --- 11. Pied de page --------------------------------------------------- */
.rvz-footer{
	position:relative;
	overflow:hidden;
	background:var(--rvz-ink);
	color:#CBD5E1;
	padding-block:clamp(48px,5vw,80px) 34px;
}
.rvz-footer::before{
	content:"";
	position:absolute;
	top:-180px;
	left:50%;
	width:760px;
	height:360px;
	transform:translateX(-50%);
	background:radial-gradient(closest-side,rgba(37,99,235,.30),transparent 70%);
	pointer-events:none;
}
.rvz-footer a{color:#E2E8F0;text-decoration:none}
.rvz-footer a:hover,.rvz-footer a:focus{color:#fff;text-decoration:underline}
.rvz-footer h2,.rvz-footer h3,.rvz-footer h4{color:#fff}
.rvz-footer__inner{position:relative;z-index:1}
.rvz-footer__top{
	display:grid;
	grid-template-columns:minmax(0,5fr) minmax(0,7fr);
	gap:20px;
	margin-bottom:clamp(40px,4vw,64px);
}
.rvz-panel{
	background:#16213A;
	border:1px solid rgba(148,163,184,.18);
	border-radius:var(--rvz-r-lg);
	padding:clamp(24px,2.6vw,34px);
}
.rvz-panel h3{font-size:1.25rem;margin:0 0 .5rem}
.rvz-panel>p{color:#94A3B8;font-size:.95rem;margin:0 0 1.3rem;max-width:44ch}
.rvz-panel--news{
	background:linear-gradient(160deg,#16213A 0%,#1B2547 100%);
	display:flex;
	flex-direction:column;
}
.rvz-panel--news .rvz-fineprint{margin-top:auto}

.rvz-footer__nav{
	display:grid;
	grid-template-columns:minmax(0,3.4fr) repeat(3,minmax(0,2fr));
	gap:clamp(22px,3vw,40px);
	padding-top:clamp(30px,3vw,44px);
	border-top:1px solid rgba(148,163,184,.18);
}
.rvz-footer__brand .rvz-logo__word{color:#fff}
.rvz-footer__brand p{color:#94A3B8;font-size:.94rem;margin:1rem 0 0;max-width:34ch}
.rvz-footer__col h4{
	font-family:var(--rvz-sans);
	font-size:.74rem;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:#94A3B8;
	margin:0 0 .9rem;
	font-weight:700;
}
.rvz-footer__col ul{list-style:none;margin:0;padding:0}
.rvz-footer__col li{margin:0 0 .55rem;font-size:.95rem}
.rvz-footer__col li::marker{content:""}

/* Barre de copyright GeneratePress */
.site-info{
	background:var(--rvz-ink);
	color:#94A3B8;
	font-size:.88rem;
	padding:0 0 26px;
	border-top:0;
}
.site-info .inside-site-info{
	max-width:var(--rvz-wrap);
	margin-inline:auto;
	padding:20px var(--rvz-gut) 0;
	border-top:1px solid rgba(148,163,184,.18);
}
.site-info .copyright-bar{
	display:flex;
	flex-wrap:wrap;
	gap:8px 18px;
	align-items:center;
	justify-content:space-between;
	width:100%;
}
.site-info a{color:#CBD5E1;text-decoration:none}
.site-info a:hover{color:#fff;text-decoration:underline}
.rvz-legal{display:flex;flex-wrap:wrap;gap:8px 18px}

/* --- 12. Formulaires ---------------------------------------------------- */
.rvz-form{margin:0}
.rvz-form__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.rvz-field{display:block;margin-bottom:12px}
.rvz-field:last-of-type{margin-bottom:0}
.rvz-label{
	display:block;
	font-size:.8rem;
	font-weight:700;
	color:#CBD5E1;
	margin-bottom:.35rem;
	letter-spacing:.01em;
}
/* Selecteurs volontairement specifiques : GeneratePress cible les champs par
   input[type="email"] (specificite 0-1-1), ce qui battait une simple classe et
   rendait le texte saisi presque noir sur fond sombre. */
.rvz-form input.rvz-input,
.rvz-form select.rvz-select,
.rvz-form textarea.rvz-textarea{
	width:100%;
	box-sizing:border-box;
	font-family:var(--rvz-sans);
	font-size:.97rem;
	color:#F1F5F9;
	background:#0E1729;
	border:1px solid rgba(148,163,184,.28);
	border-radius:var(--rvz-r-sm);
	padding:.72rem .9rem;
	line-height:1.4;
	transition:border-color .16s ease,box-shadow .16s ease;
}
.rvz-form textarea.rvz-textarea{min-height:104px;resize:vertical}
.rvz-form .rvz-input::placeholder,.rvz-form .rvz-textarea::placeholder{color:#8FA0B8;opacity:1}
.rvz-form input.rvz-input:focus,
.rvz-form select.rvz-select:focus,
.rvz-form textarea.rvz-textarea:focus{
	outline:none;
	border-color:var(--rvz-blue);
	box-shadow:0 0 0 3px rgba(37,99,235,.35);
}
.rvz-form select.rvz-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#94A3B8 50%),linear-gradient(135deg,#94A3B8 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.rvz-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.rvz-inline{display:flex;gap:10px;align-items:stretch}
.rvz-inline .rvz-input{flex:1 1 auto}
.rvz-submit{
	font-family:var(--rvz-sans);
	font-weight:700;
	font-size:.97rem;
	line-height:1.15;
	color:#fff;
	background:var(--rvz-blue);
	border:0;
	border-radius:var(--rvz-r-pill);
	padding:.78rem 1.5rem;
	cursor:pointer;
	white-space:nowrap;
	transition:background-color .18s ease,transform .18s ease;
}
.rvz-submit:hover,.rvz-submit:focus{background:var(--rvz-blue-dark);transform:translateY(-1px)}
.rvz-submit:active{transform:translateY(0)}
.rvz-form__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}

.rvz-check{
	display:flex;
	gap:.6rem;
	align-items:flex-start;
	font-size:.85rem;
	color:#94A3B8;
	line-height:1.5;
	margin-top:12px;
}
.rvz-check input{margin-top:.25rem;accent-color:var(--rvz-blue);width:16px;height:16px;flex:none}
.rvz-fineprint{font-size:.82rem;color:#8FA0B8;margin:14px 0 0;line-height:1.55}
.rvz-notice{
	border-radius:var(--rvz-r-sm);
	padding:.7rem .95rem;
	font-size:.9rem;
	font-weight:600;
	margin:0 0 14px;
	display:flex;
	gap:.55rem;
	align-items:flex-start;
}
.rvz-notice::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;margin-top:.42rem}
.rvz-notice--ok{background:rgba(22,163,74,.16);color:#86EFAC;border:1px solid rgba(22,163,74,.4)}
.rvz-notice--ok::before{background:#4ADE80}
.rvz-notice--err{background:rgba(220,38,38,.14);color:#FCA5A5;border:1px solid rgba(220,38,38,.4)}
.rvz-notice--err::before{background:#F87171}
@media(max-width:620px){
	.rvz-form__row{grid-template-columns:1fr}
	.rvz-inline{flex-direction:column}
	.rvz-submit{width:100%}
}

/* --- 13. Page Defi Reviz ------------------------------------------------ */
.rvz-dhero{
	position:relative;
	overflow:hidden;
	background:var(--rvz-grad);
	color:#fff;
	padding-block:clamp(54px,6vw,92px);
	text-align:left;
}
.rvz-dhero::before{
	content:"";
	position:absolute;
	right:-120px;
	top:-120px;
	width:380px;
	height:380px;
	border-radius:90px;
	transform:rotate(24deg);
	background:rgba(255,255,255,.09);
}
.rvz-dhero .rvz-wrap{position:relative;z-index:1}
.rvz-dhero .rvz-wrap>*{margin-block:0}
.rvz-dhero h1{color:#fff;max-width:17ch;margin:0 0 1rem}
.rvz-dhero .rvz-lead{color:rgba(255,255,255,.92);max-width:52ch}
.rvz-dhero .rvz-eyebrow{color:rgba(255,255,255,.85)}

.rvz-split{
	display:grid;
	grid-template-columns:minmax(0,6fr) minmax(0,5fr);
	gap:clamp(28px,4vw,60px);
	align-items:start;
}
.rvz-split>*{margin-block:0}
.rvz-split__col>*{margin-block:0}
.rvz-note{
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-left:4px solid var(--rvz-blue);
	border-radius:var(--rvz-r-md);
	padding:22px 24px;
	box-shadow:var(--rvz-shadow);
}
.rvz-note>*{margin-block:0}
.rvz-note h3{margin:0 0 .5rem}
.rvz-note p{color:var(--rvz-muted);margin:0}
.rvz-note--ok{border-left-color:var(--rvz-success)}
.rvz-note--warn{border-left-color:var(--rvz-warning)}
.rvz-note--err{border-left-color:var(--rvz-error)}
.rvz-stack{display:grid;gap:14px}
.rvz-stack>*{margin-block:0}

ul.rvz-matlist{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
ul.rvz-matlist li{
	display:inline-flex;
	align-items:center;
	gap:.55rem;
	font-size:.95rem;
	font-weight:700;
	color:var(--rvz-ink);
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	padding:.5rem 1.05rem;
	margin:0;
}
ul.rvz-matlist li::before{content:"";width:10px;height:10px;border-radius:50%;flex:none;background:var(--rvz-blue)}
ul.rvz-matlist li:nth-child(2)::before{background:var(--rvz-francais)}
ul.rvz-matlist li:nth-child(3)::before{background:var(--rvz-anglais)}
ul.rvz-matlist li:nth-child(4)::before{background:var(--rvz-sciences)}
ul.rvz-matlist li:nth-child(5)::before{background:var(--rvz-histoire)}

/* --- 13bis. Questions frequentes (depliants) ---------------------------- */
.rvz-faq{background:var(--rvz-bg)}
.rvz-faq__list{display:grid;gap:12px;max-width:880px}
.rvz-faq__list>*{margin-block:0}

details.rvz-qa{
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	overflow:hidden;
	transition:border-color .18s ease,box-shadow .18s ease;
}
details.rvz-qa:hover{border-color:#CBD5E1}
details.rvz-qa[open]{border-color:var(--rvz-blue);box-shadow:var(--rvz-shadow)}

details.rvz-qa>summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.2rem;
	padding:18px 22px;
	cursor:pointer;
	list-style:none;
	font-family:var(--rvz-display);
	font-weight:700;
	font-size:1.05rem;
	line-height:1.3;
	color:var(--rvz-ink);
	transition:color .18s ease;
}
details.rvz-qa>summary::-webkit-details-marker{display:none}
details.rvz-qa>summary::marker{content:""}
details.rvz-qa>summary:hover{color:var(--rvz-blue-dark)}
details.rvz-qa>summary:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:-3px}

/* Chevron dessine au trait : aucune icone a charger. */
details.rvz-qa>summary::after{
	content:"";
	flex:none;
	width:9px;
	height:9px;
	margin:0 4px 4px 0;
	border-right:2.5px solid var(--rvz-blue);
	border-bottom:2.5px solid var(--rvz-blue);
	transform:rotate(45deg);
	transition:transform .2s ease;
}
details.rvz-qa[open]>summary::after{transform:rotate(225deg);margin:4px 4px 0 0}

details.rvz-qa>*:not(summary){margin:0;padding:0 22px}
details.rvz-qa>*:not(summary):last-child{padding-bottom:20px}
details.rvz-qa p{color:var(--rvz-muted);font-size:.98rem;margin:0 0 .8rem;max-width:66ch}
details.rvz-qa p:last-child{margin-bottom:0}
details.rvz-qa p a{font-weight:600}

@media(prefers-reduced-motion:reduce){
	details.rvz-qa>summary::after{transition:none}
}

/* --- 14. Responsive ----------------------------------------------------- */
@media(max-width:980px){
	.rvz-hero__grid{grid-template-columns:1fr;gap:34px}
	.rvz-hero h1{max-width:20ch}
	.rvz-hero__media{order:-1}
	.rvz-defi__grid{grid-template-columns:1fr}
	.rvz-split{grid-template-columns:1fr}
}
@media(max-width:860px){
	.rvz-bento{grid-template-columns:1fr;gap:14px}
	.rvz-card,.rvz-card--tall{grid-column:auto;grid-row:auto}
	.rvz-methode__grid{grid-template-columns:1fr;gap:28px}
	.rvz-footer__top{grid-template-columns:1fr}
	.rvz-footer__nav{grid-template-columns:1fr 1fr;gap:26px}
}
@media(max-width:560px){
	body{font-size:16px}
	:root{--rvz-gut:20px}
	.rvz-footer__nav{grid-template-columns:1fr}
	.site-info .copyright-bar{flex-direction:column;align-items:flex-start}
	.wp-block-buttons.rvz-actions .wp-block-button{width:100%}
	.wp-block-buttons.rvz-actions .wp-block-button__link{display:block;text-align:center}
}
@media(prefers-reduced-motion:reduce){
	*{transition-duration:.01ms!important;animation-duration:.01ms!important}
	.rvz-card:hover,.wp-block-button.rvz-btn>.wp-block-button__link:hover,.rvz-nav-cta:hover,.rvz-submit:hover{transform:none}
}

/* --- 15. Blog, archives et pages vides ---------------------------------- */
.rvz-liste .site-content{padding:0}
.rvz-liste .content-area{margin:0;padding:0}
.rvz-liste .site-main{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	width:100%;
	max-width:var(--rvz-wrap);
	margin-inline:auto;
	padding:clamp(38px,5vw,68px) var(--rvz-gut) clamp(56px,6vw,96px);
	box-sizing:border-box;
}
/* Titre de liste, pagination, page vide : toute la largeur de la grille. */
.rvz-liste .site-main>*:not(article){grid-column:1/-1}

.rvz-liste .page-header{margin:0 0 clamp(6px,1.4vw,16px)}
.rvz-liste .page-title{font-size:clamp(1.9rem,1.2rem + 2.4vw,2.8rem);line-height:1.06;margin:0 0 .6rem}
.rvz-liste .page-header p,
.rvz-liste .taxonomy-description{color:var(--rvz-muted);max-width:44em;margin:0}

.rvz-liste article.post{
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	overflow:hidden;
	box-shadow:var(--rvz-shadow);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rvz-liste article.post:hover{transform:translateY(-3px);box-shadow:var(--rvz-shadow-h);border-color:var(--rvz-blue)}
.rvz-liste article.post .inside-article{display:flex;flex-direction:column;height:100%;padding:0;border:0}

/* Ordre de lecture de la carte : image, rubrique, titre, date, extrait.
   Uniquement en CSS : le balisage et les donnees structurees restent ceux
   de GeneratePress. */
.rvz-liste .post-image{order:1;margin:0;overflow:hidden;line-height:0}
.rvz-liste .post-image img{display:block;width:100%;height:196px;object-fit:cover;transition:transform .35s ease}
.rvz-liste article.post:hover .post-image img{transform:scale(1.04)}

.rvz-liste footer.entry-meta{
	order:2;
	margin:0;
	padding:20px 22px 0;
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--rvz-soft);
}
.rvz-liste footer.entry-meta a{color:var(--rvz-blue);text-decoration:none}
.rvz-liste footer.entry-meta a:hover{color:var(--rvz-blue-dark);text-decoration:underline}

.rvz-liste .entry-header{order:3;margin:0;padding:8px 22px 0}
.rvz-liste .entry-title{font-size:1.16rem;line-height:1.26;margin:0}
.rvz-liste .entry-title a{color:var(--rvz-ink);text-decoration:none}
.rvz-liste .entry-title a:hover{color:var(--rvz-blue-dark)}
.rvz-liste .entry-header .entry-meta{margin:.5rem 0 0;font-size:.83rem;color:var(--rvz-soft);text-transform:none;letter-spacing:0;font-weight:400}
.rvz-liste .entry-header .entry-meta a{color:var(--rvz-soft);text-decoration:none}

.rvz-liste .entry-summary{order:4;margin:0;padding:12px 22px 22px;color:var(--rvz-muted);font-size:.96rem}
.rvz-liste .entry-summary p{margin:0 0 .55em}
.rvz-liste .rvz-more{margin:.35rem 0 0}
.rvz-liste .rvz-more a{font-weight:700;font-size:.92rem;text-decoration:none}
.rvz-liste .rvz-more a::after{content:" \2192"}

/* GeneratePress rend deux <time> a la suite, modification puis publication. */
.rvz-liste time.updated:not(.published){display:none}

/* Pagination : les liens texte font doublon avec les numeros. */
.rvz-liste .nav-previous,
.rvz-liste .nav-next{display:none}
.rvz-liste .paging-navigation{margin:clamp(14px,2vw,26px) 0 0}
.rvz-liste .paging-navigation .nav-links{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	align-items:center;
	justify-content:center;
}
.rvz-liste .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:44px;
	height:44px;
	padding:0 .85rem;
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	background:var(--rvz-surface);
	color:var(--rvz-ink);
	font-weight:700;
	font-size:.95rem;
	line-height:1;
	text-decoration:none;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.rvz-liste a.page-numbers:hover{border-color:var(--rvz-blue);color:var(--rvz-blue-dark);transform:translateY(-1px)}
.rvz-liste .page-numbers.current{background:var(--rvz-blue);border-color:var(--rvz-blue);color:#fff}
.rvz-liste .page-numbers.dots{border-color:transparent;background:transparent;color:var(--rvz-soft);min-width:24px;padding:0}
.rvz-liste .page-numbers.prev,
.rvz-liste .page-numbers.next{font-weight:600}

/* Page de liste vide */
.rvz-vide{
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-lg);
	padding:clamp(30px,4vw,54px);
	box-shadow:var(--rvz-shadow);
}
.rvz-vide .page-header{margin:0 0 1rem}
.rvz-vide .rvz-lead{max-width:52ch}
.rvz-vide__label{
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-soft);
	margin:1.8rem 0 .7rem;
}
.rvz-vide .rvz-chips li a{color:inherit;text-decoration:none}
.rvz-vide__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.9rem}
.rvz-btn-solo{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-weight:700;
	font-size:1rem;
	line-height:1.15;
	padding:.85rem 1.5rem;
	border-radius:var(--rvz-r-pill);
	border:1px solid transparent;
	text-decoration:none;
	transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.rvz-btn-solo--primary{background:var(--rvz-blue);color:#fff}
.rvz-btn-solo--primary:hover{background:var(--rvz-blue-dark);color:#fff;transform:translateY(-2px)}
.rvz-btn-solo--ghost{background:var(--rvz-surface);color:var(--rvz-ink);border-color:var(--rvz-line)}
.rvz-btn-solo--ghost:hover{border-color:var(--rvz-blue);color:var(--rvz-blue-dark);transform:translateY(-2px)}

@media(max-width:900px){
	.rvz-liste .site-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:600px){
	.rvz-liste .site-main{grid-template-columns:1fr}
	.rvz-liste .post-image img{height:176px}
}

/* --- 16. Article seul --------------------------------------------------- */
/* Mise en page reprise de Garage des Dunes : bandeau de couverture pleine
   largeur avec le titre en surimpression, corps sur une mesure de lecture
   etroite, encadre auteur et partage, puis « Dans la meme rubrique ». Le
   rendu, lui, est celui de la charte Reviz. */
.single-post .site-content{padding:0}
.single-post .content-area{margin:0;padding:0}
.single-post .site-main{margin:0}
.rvz-single{background:var(--rvz-bg)}

.rvz-masthead{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:clamp(50px,6.5vw,100px) 0 clamp(32px,4vw,54px);
	background:var(--rvz-ink);
	color:#fff;
}
.rvz-masthead--degrade{background:var(--rvz-grad)}
.rvz-masthead__media{position:absolute;inset:0;z-index:-2}
.rvz-masthead__media img{display:block;width:100%;height:100%;object-fit:cover}
/* Voile de lisibilite : le titre doit tenir sur n'importe quelle photo. */
.rvz-masthead--photo::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:-1;
	background:linear-gradient(180deg,rgba(15,23,42,.42) 0%,rgba(15,23,42,.88) 100%);
}
.rvz-masthead__inner{position:relative;z-index:1}
.rvz-masthead__inner>*{margin-block:0}
.rvz-masthead h1{
	color:#fff;
	font-size:clamp(1.95rem,1.1rem + 3.2vw,3.3rem);
	line-height:1.04;
	max-width:20ch;
	margin:0 0 1rem;
}

.rvz-crumbs{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.45rem;
	font-size:.78rem;
	font-weight:600;
	color:rgba(255,255,255,.82);
	margin:0 0 1.2rem;
}
.rvz-crumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.rvz-crumbs a:hover{color:#fff;text-decoration:underline}
.rvz-crumbs span[aria-hidden]{color:rgba(255,255,255,.45)}

.rvz-masthead .rvz-lede{
	font-size:clamp(1.04rem,1rem + .4vw,1.22rem);
	line-height:1.6;
	color:rgba(255,255,255,.9);
	max-width:52ch;
	margin:0 0 1.6rem;
}

.rvz-artmeta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:9px 16px;
	font-size:.82rem;
	font-weight:600;
	color:rgba(255,255,255,.82);
}
.rvz-artmeta a{
	color:#fff;
	text-decoration:none;
	background:rgba(255,255,255,.16);
	border:1px solid rgba(255,255,255,.26);
	border-radius:var(--rvz-r-pill);
	padding:.3rem .8rem;
}
.rvz-artmeta a:hover{background:rgba(255,255,255,.28);color:#fff}

/* Corps de l'article */
.rvz-section--article{padding-block:clamp(42px,5vw,74px) clamp(46px,6vw,86px)}
.rvz-entry{
	max-width:620px;
	margin-inline:auto;
	font-size:1.09rem;
	line-height:1.72;
}
.rvz-entry>*{margin-block:0 1.15em}
.rvz-entry>*:last-child{margin-bottom:0}
.rvz-entry h2{margin:2.3rem 0 .7rem;font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);line-height:1.16}
.rvz-entry h3{margin:1.9rem 0 .55rem;font-size:1.2rem}
.rvz-entry a{font-weight:600}
.rvz-entry ul,.rvz-entry ol{padding-left:1.3em}
.rvz-entry li{margin:0 0 .45em}
.rvz-entry figure{margin:1.9rem 0}
.rvz-entry img{max-width:100%;height:auto;border-radius:var(--rvz-r-md)}
.rvz-entry figcaption{margin-top:.6rem;font-size:.88rem;color:var(--rvz-soft);text-align:left}
.rvz-entry blockquote{
	margin:1.9rem 0;
	padding:1.1rem 1.4rem;
	border-left:4px solid var(--rvz-blue);
	background:var(--rvz-surface);
	border-radius:0 var(--rvz-r-md) var(--rvz-r-md) 0;
	color:var(--rvz-muted);
}
.rvz-entry table{width:100%;border-collapse:collapse;font-size:.96rem}
.rvz-entry th,.rvz-entry td{border:1px solid var(--rvz-line);padding:.6rem .8rem;text-align:left}
.rvz-entry th{background:var(--rvz-surface);font-weight:700}

.rvz-tagsline{max-width:620px;margin:2rem auto 0;font-size:.9rem;color:var(--rvz-soft)}
.rvz-tagsline>span{font-weight:700;margin-right:.5rem;color:var(--rvz-muted)}
.rvz-tagsline a{
	display:inline-block;
	margin:0 .3rem .3rem 0;
	padding:.25rem .7rem;
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	background:var(--rvz-surface);
	text-decoration:none;
	font-weight:600;
}

/* Encadre auteur et partage */
.rvz-authorbox{
	max-width:620px;
	margin:clamp(36px,4vw,60px) auto 0;
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-lg);
	padding:clamp(22px,2.4vw,30px);
	box-shadow:var(--rvz-shadow);
}
.rvz-authorbox__who{display:flex;gap:18px;align-items:flex-start}
.rvz-authorbox__avatar{
	flex:none;
	width:84px;
	height:105px;
	display:block;
	object-fit:cover;
	border-radius:var(--rvz-r-md);
}
.rvz-authorbox__avatar--initiale{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:var(--rvz-grad);
	color:#fff;
	font-family:var(--rvz-display);
	font-weight:800;
	font-size:2.3rem;
	line-height:1;
}
.rvz-authorbox__label{
	display:block;
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-soft);
}
.rvz-authorbox__name{font-family:var(--rvz-display);font-weight:800;font-size:1.15rem;margin:.28rem 0 .5rem;line-height:1.2}
.rvz-authorbox__bio{color:var(--rvz-muted);font-size:.95rem;margin:0;line-height:1.6}
.rvz-authorbox__share{margin-top:1.5rem;padding-top:1.3rem;border-top:1px solid var(--rvz-line)}
.rvz-authorbox__share .rvz-authorbox__label{margin-bottom:.75rem}
ul.rvz-share{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
ul.rvz-share li{margin:0}
ul.rvz-share a{
	display:inline-flex;
	align-items:center;
	font-size:.85rem;
	font-weight:700;
	color:var(--rvz-ink);
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-pill);
	padding:.5rem .95rem;
	text-decoration:none;
	transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
ul.rvz-share a:hover{background:var(--rvz-blue-soft);border-color:var(--rvz-blue);color:var(--rvz-blue-dark)}

/* Dans la meme rubrique */
.rvz-related{background:var(--rvz-surface);border-top:1px solid var(--rvz-line)}
.rvz-sechead{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	justify-content:space-between;
	gap:16px;
	margin:0 0 clamp(22px,2.6vw,34px);
}
.rvz-sechead h2{margin:0;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem)}
.rvz-sechead__link{font-weight:700;font-size:.95rem;text-decoration:none;white-space:nowrap}
.rvz-sechead__link::after{content:" \2192"}

ul.rvz-cards{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	list-style:none;
	margin:0;
	padding:0;
}
ul.rvz-cards li{margin:0}
.rvz-card{
	display:flex;
	flex-direction:column;
	height:100%;
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	overflow:hidden;
	text-decoration:none;
	box-shadow:var(--rvz-shadow);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rvz-card:hover{transform:translateY(-3px);box-shadow:var(--rvz-shadow-h);border-color:var(--rvz-blue)}
.rvz-card__thumb{display:block;line-height:0;overflow:hidden}
.rvz-card__thumb img{display:block;width:100%;height:186px;object-fit:cover;transition:transform .35s ease}
.rvz-card:hover .rvz-card__thumb img{transform:scale(1.04)}
.rvz-card__thumb--vide{height:8px;background:var(--rvz-grad)}
.rvz-card__body{display:flex;flex-direction:column;gap:.4rem;padding:18px 20px 20px;flex:1}
.rvz-card__meta{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rvz-soft)}
.rvz-card__title{font-family:var(--rvz-display);font-weight:700;font-size:1.08rem;line-height:1.25;color:var(--rvz-ink)}
.rvz-card__excerpt{font-size:.93rem;color:var(--rvz-muted);line-height:1.55}
.rvz-card__more{margin-top:auto;padding-top:.55rem;font-size:.9rem;font-weight:700;color:var(--rvz-blue)}
.rvz-card__more::after{content:" \2192"}
.rvz-card:hover .rvz-card__more{color:var(--rvz-blue-dark)}

@media(max-width:900px){
	ul.rvz-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	ul.rvz-cards{grid-template-columns:1fr}
	.rvz-authorbox__who{flex-direction:column}
	.rvz-authorbox__avatar{width:72px;height:90px}
}

/* --- 17. Defi Reviz : le quiz ------------------------------------------- */
.rvz-quiz{
	position:relative;
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-lg);
	padding:clamp(24px,3.4vw,44px);
	box-shadow:var(--rvz-shadow);
}
.rvz-quiz>*{margin-block:0}
.rvz-quiz__kicker{
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-blue);
	margin:0 0 .7rem;
}
.rvz-quiz h3{margin:0 0 .5rem;font-size:clamp(1.3rem,1.05rem + 1vw,1.75rem)}
.rvz-quiz__sub{color:var(--rvz-muted);margin:0 0 1.6rem;max-width:56ch}
.rvz-quiz__label{
	font-size:.72rem;
	font-weight:700;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:var(--rvz-soft);
	margin:1.8rem 0 .8rem;
}
.rvz-quiz__chargement{color:var(--rvz-soft)}
.rvz-quiz__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem}

/* Choix de la matiere */
.rvz-quiz__matieres{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(178px,1fr));
	gap:14px;
}
.rvz-mat{
	--c:var(--rvz-blue);
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:.25rem;
	text-align:left;
	font-family:var(--rvz-sans);
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-left:4px solid var(--c);
	border-radius:var(--rvz-r-md);
	padding:18px 20px;
	cursor:pointer;
	transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.rvz-mat:hover{transform:translateY(-2px);background:var(--rvz-surface);box-shadow:var(--rvz-shadow-h);border-color:var(--c);border-left-color:var(--c)}
.rvz-mat__nom{font-family:var(--rvz-display);font-weight:700;font-size:1.08rem;color:var(--rvz-ink);line-height:1.2}
.rvz-mat__meta{font-size:.85rem;color:var(--rvz-soft)}
.rvz-mat__score{
	font-size:.76rem;
	font-weight:700;
	color:var(--c);
	background:color-mix(in srgb, var(--c) 12%, transparent);
	border-radius:var(--rvz-r-pill);
	padding:.2rem .6rem;
	margin-top:.3rem;
}
.rvz-mat--maths{--c:var(--rvz-maths)}
.rvz-mat--francais{--c:var(--rvz-francais)}
.rvz-mat--anglais{--c:var(--rvz-anglais)}
.rvz-mat--sciences{--c:var(--rvz-sciences)}
.rvz-mat--histoire{--c:var(--rvz-histoire)}

/* Question en cours */
.rvz-q__head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.rvz-q__compte{margin:0;font-size:.85rem;font-weight:700;color:var(--rvz-soft)}
.rvz-q__badges{display:flex;flex-wrap:wrap;gap:8px}
.rvz-q__notion,
.rvz-q__diff{
	font-size:.75rem;
	font-weight:700;
	border-radius:var(--rvz-r-pill);
	padding:.28rem .7rem;
	line-height:1.3;
}
.rvz-q__notion{background:var(--rvz-blue-soft);color:var(--rvz-blue-dark)}
.rvz-q__diff{background:rgba(245,158,11,.14);color:#B45309}

.rvz-q__jauge{height:6px;border-radius:999px;background:var(--rvz-line);overflow:hidden;margin-bottom:1.5rem}
.rvz-q__jauge-in{display:block;height:100%;border-radius:999px;background:var(--rvz-grad);transition:width .3s ease}

.rvz-q__texte{
	font-size:clamp(1.2rem,1.05rem + .8vw,1.6rem);
	line-height:1.25;
	margin:0 0 1.4rem;
	max-width:44ch;
}

.rvz-q__choix{display:grid;gap:10px}
.rvz-choix{
	display:flex;
	align-items:center;
	gap:.9rem;
	width:100%;
	text-align:left;
	font-family:var(--rvz-sans);
	font-size:1rem;
	color:var(--rvz-ink);
	background:var(--rvz-surface);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	padding:14px 18px;
	cursor:pointer;
	transition:border-color .16s ease,background-color .16s ease,transform .16s ease;
}
.rvz-choix:hover:not(:disabled){border-color:var(--rvz-blue);background:var(--rvz-blue-soft);transform:translateX(2px)}
.rvz-choix:disabled{cursor:default;opacity:1}
.rvz-choix__lettre{
	flex:none;
	width:30px;
	height:30px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	font-family:var(--rvz-display);
	font-weight:700;
	font-size:.9rem;
	color:var(--rvz-muted);
}
.rvz-choix__texte{flex:1}
.rvz-choix.is-juste{border-color:var(--rvz-success);background:#F0FDF4}
.rvz-choix.is-juste .rvz-choix__lettre{background:var(--rvz-success);border-color:var(--rvz-success);color:#fff}
.rvz-choix.is-faux{border-color:var(--rvz-error);background:#FEF2F2}
.rvz-choix.is-faux .rvz-choix__lettre{background:var(--rvz-error);border-color:var(--rvz-error);color:#fff}

/* Correction */
.rvz-q__retour:not(:empty){margin-top:1.5rem}
.rvz-verdict{
	font-family:var(--rvz-display);
	font-weight:700;
	font-size:1.1rem;
	margin:0 0 .5rem;
	display:flex;
	align-items:center;
	gap:.5rem;
}
.rvz-verdict::before{content:"";width:11px;height:11px;border-radius:50%;flex:none}
.rvz-verdict.is-juste{color:#15803D}
.rvz-verdict.is-juste::before{background:var(--rvz-success)}
.rvz-verdict.is-faux{color:#B91C1C}
.rvz-verdict.is-faux::before{background:var(--rvz-error)}
.rvz-q__expl{color:var(--rvz-muted);margin:0 0 .6rem;max-width:60ch}
.rvz-q__indice{
	color:#B45309;
	background:#FFFBEB;
	border:1px solid rgba(245,158,11,.35);
	border-radius:var(--rvz-r-sm);
	padding:.65rem .9rem;
	margin:0 0 .6rem;
	max-width:60ch;
	font-size:.95rem;
}
.rvz-q__retour .rvz-btn-solo{margin-top:.7rem}

/* Resultat */
.rvz-score{display:flex;align-items:baseline;gap:.3rem;margin:0 0 .8rem;font-family:var(--rvz-display);font-weight:800}
.rvz-score__chiffre{font-size:clamp(3rem,2rem + 4vw,4.6rem);line-height:1}
.rvz-score__sur{font-size:clamp(1.3rem,1rem + 1vw,1.8rem);color:var(--rvz-soft)}
.rvz-score.is-juste .rvz-score__chiffre{color:var(--rvz-success)}
.rvz-score.is-moyen .rvz-score__chiffre{color:#B45309}
.rvz-score.is-faux .rvz-score__chiffre{color:var(--rvz-error)}
ul.rvz-matlist--revoir li::before,
ul.rvz-matlist--revoir li:nth-child(n)::before{background:var(--rvz-warning)}

.rvz-quiz--vide{text-align:left}
.rvz-quiz--vide p{margin:0 0 .6rem}

@media(max-width:600px){
	.rvz-q__head{flex-direction:column;align-items:flex-start}
	.rvz-choix{padding:13px 15px;gap:.7rem}
	.rvz-quiz__actions .rvz-btn-solo{width:100%}
}

/* --- 18. Derniers articles sur l'accueil, defi ouvert -------------------- */
.rvz-badge--live{background:rgba(22,163,74,.14);color:#15803D}
.rvz-badge--live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rvz-success)}

.rvz-section--quiz{background:var(--rvz-bg)}
.rvz-quiz__note{
	margin:1.3rem auto 0;
	max-width:72ch;
	font-size:.9rem;
	color:var(--rvz-soft);
	text-align:center;
}

.rvz-derniers{background:var(--rvz-surface);border-top:1px solid var(--rvz-line)}
.rvz-sechead__link-wrap{margin:0}

.rvz-queryloop .wp-block-post-template{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	list-style:none;
	margin:0;
	padding:0;
}
.rvz-queryloop .wp-block-post{
	display:flex;
	flex-direction:column;
	background:var(--rvz-bg);
	border:1px solid var(--rvz-line);
	border-radius:var(--rvz-r-md);
	overflow:hidden;
	box-shadow:var(--rvz-shadow);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.rvz-queryloop .wp-block-post:hover{transform:translateY(-3px);box-shadow:var(--rvz-shadow-h);border-color:var(--rvz-blue)}
.rvz-queryloop .wp-block-post-featured-image{margin:0;line-height:0;overflow:hidden}
.rvz-queryloop .wp-block-post-featured-image img{
	display:block;
	width:100%;
	height:186px;
	object-fit:cover;
	border-radius:0;
	transition:transform .35s ease;
}
.rvz-queryloop .wp-block-post:hover .wp-block-post-featured-image img{transform:scale(1.04)}
.rvz-queryloop .wp-block-post-date{
	margin:0;
	padding:18px 20px 0;
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:var(--rvz-soft);
}
.rvz-queryloop .wp-block-post-title{
	margin:0;
	padding:6px 20px 0;
	font-size:1.08rem;
	line-height:1.25;
}
.rvz-queryloop .wp-block-post-title a{color:var(--rvz-ink);text-decoration:none}
.rvz-queryloop .wp-block-post-title a:hover{color:var(--rvz-blue-dark)}
.rvz-queryloop .wp-block-post-excerpt{
	margin:0;
	padding:8px 20px 20px;
	font-size:.93rem;
	color:var(--rvz-muted);
	line-height:1.55;
	display:flex;
	flex-direction:column;
	flex:1;
}
.rvz-queryloop .wp-block-post-excerpt__excerpt{margin:0}
.rvz-queryloop .wp-block-post-excerpt__more-text{margin:auto 0 0;padding-top:.6rem}
.rvz-queryloop .wp-block-post-excerpt__more-text a{font-weight:700;font-size:.9rem;text-decoration:none}
.rvz-queryloop .wp-block-post-excerpt__more-text a::after{content:" \2192"}

/* Aucun article publie pour l'instant */
.rvz-vide-inline{
	background:var(--rvz-bg);
	border:1px dashed var(--rvz-line);
	border-radius:var(--rvz-r-lg);
	padding:clamp(26px,3vw,40px);
	text-align:center;
}
.rvz-vide-inline>*{margin-block:0}
.rvz-vide-inline h3{margin:0 0 .6rem}
.rvz-vide-inline p{color:var(--rvz-muted);max-width:60ch;margin:0 auto 1.4rem}
.rvz-vide-inline .wp-block-buttons{justify-content:center}

@media(max-width:900px){
	.rvz-queryloop .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
	.rvz-queryloop .wp-block-post-template{grid-template-columns:1fr}
	.rvz-quiz__note{text-align:left}
}

/* La carte du defi impose sa couleur de texte a tous ses paragraphes
   (.rvz-defi__card p). On requalifie donc les pastilles avec le meme poids
   de selecteur, pour qu'elles gardent leur couleur semantique. */
p.rvz-badge--soon{color:#B45309}
p.rvz-badge--live{color:#15803D}
