/*
Theme Name: Révélons
Theme URI: https://www.revelons.fr
Author: Révélons
Description: Thème à blocs du site de Séverine Simonnet (orientation et intégration professionnelle des jeunes).
Version: 3.0.1
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: revelons
*/

/* Les couleurs, polices et tailles viennent de theme.json.
   Ce fichier ne contient que ce que theme.json ne sait pas exprimer. */

html { scroll-behavior: smooth; }
img { height: auto; }

/* ---------- Sections ---------- */
.revelons-section {
	padding-block: clamp(3.5rem, 9vw, 5.6rem);
	padding-inline: 1.5rem;
}
/* --cream : fond de page (blanc) ; --white : bandeau vert d'eau (noms gardés pour les contenus existants). */
.revelons-section--white { background: var(--wp--preset--color--mint); }
.revelons-section--cream { background: var(--wp--preset--color--white); }
/* Deux sections blanches qui se suivent : un seul espacement entre elles. */
.revelons-section--cream + .revelons-section--cream { padding-top: 0; }
.revelons-section--teal { background: var(--wp--preset--color--teal); color: var(--wp--preset--color--white); }
.revelons-section--teal :where(h1, h2, h3, p, a, cite) { color: inherit; }
.revelons-section--gold { background: var(--wp--preset--color--gold); color: #1d1d1d; text-align: center; }

.revelons-eyebrow {
	margin-block: 0 0.75rem;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
}
.revelons-eyebrow--light { color: #cfe5e5; }
.revelons-accent { color: var(--wp--preset--color--teal); }
.revelons-lead { font-size: 1.25rem; max-width: 40rem; }

/* ---------- En-tête ---------- */
.revelons-header { padding-block: 0.9rem; padding-inline: 1.5rem; }
.revelons-header .wp-block-navigation { gap: 0.25rem 1.75rem; }
.revelons-header .wp-block-navigation-item__content { font-size: 0.9375rem; text-decoration: none; padding-block: 0.6rem; }
.revelons-header .wp-block-navigation-item:not(.is-cta) > a { border-bottom: 2px solid transparent; }
.revelons-header .wp-block-navigation-item.current-menu-item:not(.is-cta) > a { color: var(--wp--preset--color--teal); border-bottom-color: var(--wp--preset--color--teal); }
.revelons-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--teal); }
.revelons-header .wp-block-navigation .is-cta > a,
.revelons-header .wp-block-navigation .is-cta.current-menu-item > a {
	background: var(--wp--preset--color--teal);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
}
.revelons-header .wp-block-navigation .is-cta > a:hover { color: var(--wp--preset--color--white); background: #265e60; }

/* ---------- Bandeau d'accueil ---------- */
.revelons-hero__title { font-size: clamp(2.4rem, 5.6vw, 4rem); line-height: 1.08; margin-block: 0 1.25rem; }
.revelons-hero__visual { position: relative; max-width: 30rem; margin-inline: auto; }
.revelons-hero__visual::before {
	content: "";
	position: absolute;
	top: -1.25rem;
	right: -1rem;
	width: 64%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--wp--preset--color--gold);
	opacity: 0.9;
}
.revelons-hero__visual .wp-block-image { position: relative; margin: 0; }
.revelons-hero__visual .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 43% 50%;
	border-radius: 999px 999px 28px 28px;
	display: block;
}

/* ---------- Boutons ---------- */
.wp-block-button__link { text-decoration: none; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--teal);
	border: 2px solid var(--wp--preset--color--teal);
}
.revelons-section--gold .wp-block-button__link { background: #1d1d1d; color: #fff; }
.revelons-section--gold .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: #1d1d1d; border-color: #1d1d1d;
}

/* ---------- Cartes ---------- */
.revelons-cards { gap: 1.25rem; }
.revelons-card {
	background: var(--wp--preset--color--mint);
	border-radius: 20px;
	padding: 1.75rem;
}
.revelons-section--white .revelons-card { background: var(--wp--preset--color--white); }
.revelons-approche .revelons-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); }
.revelons-card__note { margin-top: 1.25rem; font-size: 1rem; color: var(--wp--preset--color--ink-soft); }
.revelons-card .wp-block-image.revelons-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--white);
	border-radius: 16px;
}
.revelons-card .wp-block-image.revelons-card__logo img { width: 55%; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
.revelons-card h3 { margin-block: 0.25rem 0.5rem; color: var(--wp--preset--color--teal); }
.revelons-card .wp-block-image { margin: 0 0 1.25rem; }
.revelons-card .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.revelons-label {
	margin-block: 1rem 0.25rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.revelons-ico {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--teal-logo);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.1rem;
}
.revelons-ico .wp-block-image { margin: 0; }
.revelons-ico .wp-block-image img { width: 34px; height: 34px; aspect-ratio: auto; border-radius: 0; }

/* ---------- Panneau ECL'OR et vidéo ---------- */
.revelons-panel {
	background: var(--wp--preset--color--mint);
	border-radius: 28px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}
.revelons-video {
	position: relative;
	aspect-ratio: 16 / 9;
	/* Miniature enregistrée dans le thème : aucune requête vers YouTube avant le clic (voir assets/js/video.js). */
	background: #1c3a3b url("assets/images/video-eclor.jpg") center / cover no-repeat;
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.revelons-video::before { content: ""; position: absolute; inset: 0; background: rgba(15, 35, 36, 0.35); transition: background 0.2s; }
.revelons-video:hover::before { background: rgba(15, 35, 36, 0.2); }
.revelons-video p { position: relative; margin: 0; }
.revelons-video a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.revelons-video a::before {
	content: "\25B6\FE0E";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	box-sizing: border-box;
	padding-left: 0.2em;
	border-radius: 50%;
	background: rgba(47, 118, 120, 0.9);
	font-size: 1.4rem;
	text-shadow: none;
}
/* Toute la vignette est cliquable. */
.revelons-video a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

.revelons-video__player { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; }
.revelons-video.is-playing::before,
.revelons-video.is-playing > p { display: none; }

.revelons-video--large { border-radius: 24px; max-width: 980px; margin-inline: auto !important; }
.revelons-video--large a { font-size: 1rem; }
.revelons-video--large a::before { width: 80px; height: 80px; font-size: 1.8rem; }

/* ---------- Page ECL'OR : étapes, chiffres, partenaires, revue de presse ---------- */
.revelons-step > * { margin-block: 0; }
.revelons-step__num {
	margin-bottom: 0.5rem !important;
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: 3rem;
	line-height: 1;
	color: var(--wp--preset--color--teal-logo);
}
.revelons-list li { margin-bottom: 0.75rem; }
.revelons-stat {
	background: var(--wp--preset--color--mint);
	border-radius: 20px;
	padding: 1.5rem 1.75rem;
	margin-bottom: 1rem;
}
.revelons-stat > * { margin-block: 0; font-size: 0.9375rem; color: var(--wp--preset--color--ink-soft); }
.revelons-stat > .revelons-stat__num {
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: 2.5rem;
	line-height: 1.1;
	color: var(--wp--preset--color--teal);
	margin-bottom: 0.25rem;
}
.revelons-outline-card {
	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: 20px;
	padding: 1.5rem 1.6rem;
}
.revelons-outline-card > * { margin-block: 0 0.4rem; }
.revelons-outline-card h3 { font-size: 1.25rem; }
.revelons-outline-card p { font-size: 0.9375rem; }
.revelons-link-card { position: relative; transition: box-shadow 0.2s; }
.revelons-link-card:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); }
.revelons-link-card > * { margin-block: 0 0.6rem; }
.revelons-link-card h3 { color: inherit; font-size: 1.375rem; }
.revelons-link-card__source { font-size: 0.9375rem; font-weight: 700; color: var(--wp--preset--color--ink-soft); }
.revelons-link-card > p:not(.revelons-chip, .revelons-link-card__source) { font-size: 1rem; }
.revelons-link-card__cta { margin: 1rem 0 0 !important; }
.revelons-link-card__cta a { font-weight: 700; text-decoration: none; }
.revelons-link-card__cta a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.revelons-list--small { font-size: 1rem; }
.revelons-list--small li { margin-bottom: 0.4rem; }

/* ---------- Page Références : un bloc par client ---------- */
.revelons-ref {
	margin-top: 3rem !important;
	padding-bottom: 4rem;
	border-bottom: 2px solid var(--wp--preset--color--line);
}
.revelons-ref--last { border-bottom: 0; padding-bottom: 0; }
.revelons-ref__title { margin-block: 0 1rem; font-size: clamp(1.4rem, 2.6vw, 1.75rem); color: var(--wp--preset--color--teal); }
.revelons-ref__quotes { display: flex; flex-direction: column; gap: 1.5rem; }
.revelons-ref__quotes > * { margin: 0 !important; }
.revelons-box {
	background: var(--wp--preset--color--mint);
	border-radius: 20px;
	padding: 1.5rem 1.6rem;
}
.revelons-box > * { margin-block: 0 0.6rem; }
.revelons-box > :last-child { margin-bottom: 0; }
.revelons-box > p:not(.revelons-label) { font-size: 1rem; }
.revelons-box .revelons-label { margin-top: 0; }
.revelons-box .revelons-quote { margin-top: 1rem; }

.revelons-plain-list { list-style: none; padding: 0; font-size: 1rem; }
.revelons-plain-list li { margin-bottom: 0.4rem; }

/* Texte à compléter (repéré en jaune tant qu'il reste des crochets). */
mark.revelons-todo { background: #fff1cc; color: #1d1d1d; padding: 0 0.25em; border-radius: 4px; }

/* ---------- Témoignages ---------- */
.wp-block-quote.revelons-quote {
	border: 0;
	padding: 0;
	margin: 0;
}
.revelons-quote p {
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	line-height: 1.35;
	margin-bottom: 1rem;
}
.revelons-quote cite { font-style: normal; font-weight: 700; font-size: 1rem; }
.revelons-quote--side { border-left: 4px solid var(--wp--preset--color--gold) !important; padding-left: 1.4rem !important; }
.revelons-quote--side p { font-size: clamp(1.25rem, 2.2vw, 1.5rem); line-height: 1.4; margin-bottom: 0.75rem; }
.revelons-quote--side cite { font-size: 0.9375rem; }
.revelons-quote--rule { border-left: 4px solid var(--wp--preset--color--gold) !important; padding-left: 1.4rem !important; }
.revelons-quote--rule p { font-family: inherit; font-style: normal; font-size: 1.0625rem; line-height: 1.6; }
.revelons-quote--rule cite { color: var(--wp--preset--color--teal); font-size: 0.9375rem; }

/* ---------- Articles ---------- */
.revelons-post-card {
	background: var(--wp--preset--color--mint);
	border-radius: 20px;
	overflow: hidden;
	height: 100%;
}
.revelons-post-card:not(:has(.wp-block-post-featured-image img))::before {
	content: "";
	display: block;
	height: 150px;
	background: var(--wp--preset--color--teal-soft);
}
.category-conseils .revelons-post-card:not(:has(.wp-block-post-featured-image img))::before { background: var(--wp--preset--color--sand); }
.revelons-post-card .wp-block-post-featured-image { margin: 0; }
.revelons-post-card__body { padding: 1.5rem; }
.revelons-post-card__body > * { margin-block: 0 0.5rem; }
.revelons-chip, .revelons-chip a {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--teal);
}
.revelons-post-card .wp-block-post-title { font-size: 1.375rem; }
.revelons-post-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.revelons-post-card .wp-block-post-excerpt { font-size: 0.9375rem; color: var(--wp--preset--color--ink-soft); }

/* Accueil : la section se masque tant qu'aucun article n'est publié. */
.revelons-home-news:not(:has(.wp-block-post)) { display: none; }

/* Filtres du blog */
.revelons-pills { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-block: 1.5rem 2.5rem; }
.revelons-pills ul { display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; padding: 0; margin: 0; }
.revelons-pills a {
	display: inline-block;
	padding: 0.7rem 1.4rem;
	border: 2px solid var(--wp--preset--color--teal);
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
	color: var(--wp--preset--color--teal);
	background: var(--wp--preset--color--white);
}
.revelons-pills a:hover { background: var(--wp--preset--color--teal); color: #fff; }
.revelons-pills .current-cat a { background: var(--wp--preset--color--teal); color: #fff; }

/* ---------- Pied de page ---------- */
.revelons-footer { padding: 4rem 1.5rem 1.75rem; }
.revelons-footer__cta { gap: 1.75rem 3rem; }
.revelons-footer__pitch { flex: 1 1 20rem; }
.revelons-footer__pitch > * { margin-block: 0; }
.revelons-footer__pitch h2 { margin-bottom: 0.5rem; font-size: clamp(1.75rem, 3.4vw, 2.5rem); line-height: 1.2; }
.revelons-footer__bar {
	margin-top: 3.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--line);
	gap: 0.75rem 2rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--ink-soft);
}
.revelons-footer__bar > * { margin: 0; }
.revelons-footer__bar a { color: inherit; }
/* Pages Contact et légales : pas d'appel à contacter (voir functions.php). */
.revelons-sans-appel .revelons-footer { padding-top: 1.5rem; }
.revelons-sans-appel .revelons-footer__cta { display: none; }
.revelons-sans-appel .revelons-footer__bar { margin-top: 0; }

/* ---------- Divers ---------- */
.revelons-round img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
@media (max-width: 781px) {
	.revelons-eclor-logo img { width: 190px !important; }
}
.revelons-narrow { max-width: 52rem; }

/* ---------- Page À propos ---------- */
.revelons-portrait img { width: min(380px, 100%); }
.revelons-serif-quote {
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: clamp(1.3rem, 2.4vw, 1.5rem);
	line-height: 1.5;
}
.revelons-serif-quote--large { font-size: clamp(1.4rem, 3vw, 1.875rem); line-height: 1.4; }
.revelons-bio h2 { color: var(--wp--preset--color--teal); font-size: clamp(1.6rem, 3.6vw, 2.25rem); margin-block: 3rem 0.75rem; }
.revelons-bio h2:first-child { margin-top: 0; }
.revelons-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	list-style: none;
	padding: 0;
	margin-top: 2rem;
}
.revelons-tags li {
	background: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--teal);
	color: var(--wp--preset--color--teal);
	font-weight: 700;
	padding: 0.6rem 1.4rem;
	border-radius: 999px;
}
@media (max-width: 781px) {
	.revelons-portrait img { width: 240px; }
}

/* ---------- Page Contact ---------- */
.revelons-contact-who { gap: 1.25rem; margin-block: 2rem !important; }
.revelons-contact-who .wp-block-image { margin: 0; flex: 0 0 auto; }
.revelons-contact-who .wp-block-image img { border: 4px solid var(--wp--preset--color--gold); }
.revelons-contact-who p { margin: 0; font-size: 0.9375rem; color: var(--wp--preset--color--ink-soft); }
.revelons-contact-who__name { font-family: var(--wp--preset--font-family--lora); font-style: italic; font-size: 1.375rem; line-height: 1.3; color: var(--wp--preset--color--ink); }
.revelons-contact-list { display: flex; flex-direction: column; gap: 1.1rem; }
.revelons-contact-list > * { margin: 0 !important; }
.revelons-contact-item {
	display: grid;
	grid-template-columns: 48px 1fr;
	column-gap: 0.9rem;
	align-items: center;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1.35;
	overflow-wrap: anywhere;
	position: relative;
}
.revelons-contact-item::before {
	content: "";
	grid-row: span 2;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wp--preset--color--mint);
}
.revelons-contact-item::after {
	content: "";
	position: absolute;
	left: 11px;
	top: 50%;
	width: 26px;
	height: 26px;
	margin-top: -13px;
	background: var(--wp--preset--color--teal);
	-webkit-mask: var(--icon) no-repeat center / contain;
	mask: var(--icon) no-repeat center / contain;
}
.revelons-contact-item a { color: var(--wp--preset--color--ink); text-decoration: none; }
.revelons-contact-item a:hover { color: var(--wp--preset--color--teal); text-decoration: underline; }
.revelons-contact-item__label {
	display: block;
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink-soft);
}
.revelons-contact-item--tel::after { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E"); }
.revelons-contact-item--mail::after { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E"); }
.revelons-contact-item--linkedin::after { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Cpath d='M8 11v5M8 8v.01M12 16v-5m0 2a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E"); }
.revelons-contact-item--lieu::after { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }

.revelons-form-card {
	background: var(--wp--preset--color--mint);
	border-radius: 24px;
	padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.25rem, 3.5vw, 2.25rem);
}
.revelons-form-card > h2 { margin-block: 0 0.5rem; font-family: var(--wp--preset--font-family--raleway); font-style: normal; font-weight: 700; font-size: 1.5rem; line-height: 1.3; }
.revelons-form-card__hint { margin-block: 0 1.75rem; font-size: 0.9375rem; color: var(--wp--preset--color--ink-soft); }
.revelons-form-card__delay { margin-block: 0.9rem 0; font-size: 0.9375rem; color: var(--wp--preset--color--ink-soft); }
.revelons-form-info { margin: 0.9rem 0.5rem 0 !important; font-size: 0.75rem; line-height: 1.5; color: var(--wp--preset--color--ink-soft); }

/* Formulaire Contact Form 7 */
.wpcf7-form > p { margin-block: 0 1.25rem; }
.wpcf7-form label { display: block; font-size: 0.9375rem; font-weight: 700; }
.wpcf7-form br { display: none; }
.revelons-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem; margin-bottom: 1.25rem; }
.revelons-form-grid > p { margin: 0; }
.wpcf7-form .wpcf7-form-control-wrap { display: block; margin-top: 0.4rem; }
.wpcf7-form input:is([type="text"], [type="email"], [type="tel"]),
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0.75rem 1rem;
	font: 400 1.0625rem/1.5 var(--wp--preset--font-family--raleway);
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--white);
	border: 1.5px solid #8a8179;
	border-radius: 12px;
}
.wpcf7-form textarea { resize: vertical; }
.wpcf7-form :is(input, select, textarea):focus { outline: 3px solid var(--wp--preset--color--teal); outline-offset: 1px; }
.wpcf7-form .wpcf7-submit {
	margin-top: 0.5rem;
	min-height: 52px;
	padding: 1rem 2.25rem;
	font: 700 1.125rem/1 var(--wp--preset--font-family--raleway);
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--teal);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover { background: #265e60; }
.wpcf7-form .wpcf7-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.wpcf7-not-valid-tip { margin-top: 0.35rem; font-size: 0.9375rem; font-weight: 700; color: #a23b1a; }
.wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; padding: 1rem 1.25rem; border-radius: 12px; border-width: 2px; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--wp--preset--color--teal); background: var(--wp--preset--color--teal-soft); font-weight: 700; }

/* ---------- Pages légales ---------- */
.revelons-legal h2 {
	font-family: var(--wp--preset--font-family--raleway);
	font-style: normal;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.3;
	color: var(--wp--preset--color--teal);
	margin-block: 2.5rem 0.75rem;
}
.revelons-legal h1 { margin-bottom: 0.5rem; }

/* ==========================================================================
   V3 (novembre 2026) : menu « Nos offres », accueil et pages par public.
   ========================================================================== */

/* ---------- En-tête : menu déroulant « Nos offres » ---------- */
.revelons-header .wp-block-navigation .wp-block-navigation-submenu__toggle,
.revelons-header .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	font-size: 0.9375rem;
	padding-block: 0.6rem;
	border-bottom: 2px solid transparent;
}
.revelons-header .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--teal);
	border-bottom-color: var(--wp--preset--color--teal);
}
.revelons-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 16rem !important;
	padding: 0.5rem;
	margin-top: 0.5rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(22, 62, 63, 0.14);
}
.revelons-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.75rem 0.9rem !important;
	border: 0 !important;
	border-radius: 10px;
}
.revelons-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--mint); }
.revelons-header .wp-block-navigation__submenu-container .current-menu-item > a { font-weight: 700; color: var(--wp--preset--color--teal); }
/* Menu mobile : les offres sont listées en retrait sous « Nos offres ». */
.revelons-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: none;
	padding: 0 0 0 1rem;
	margin: 0;
}

/* ---------- Bandeau d'introduction (haut de l'accueil et des pages « Nos offres ») ---------- */
.revelons-intro {
	background: var(--wp--preset--color--mint);
	padding: 4rem 1.5rem;
	border-bottom: 19px solid var(--wp--preset--color--teal);
}
.revelons-intro--compacte { padding-block: 2.25rem; }
.revelons-intro h1 { margin-block: 0 1.75rem; font-size: clamp(1.95rem, 5vw, 3.25rem); line-height: 1.12; }
.revelons-intro--compacte h1 { margin-bottom: 1rem; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.revelons-intro .revelons-lead { margin: 0; font-size: 1.1875rem; max-width: 47.5rem; }

/* Accueil : deux cadres. */
.revelons-missions { padding-block: 3rem; }
.revelons-missions__cadres { gap: 1.5rem; }
.revelons-missions__cadres > .revelons-cadre { flex: 1 1 26rem; min-width: 0; align-self: center; }
.revelons-missions__cadres > .revelons-cadre:last-child { align-self: stretch; }
.revelons-cadre {
	margin: 0;
	padding: 2.1rem 2.4rem;
	background: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--teal);
	border-radius: 24px;
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: clamp(1.2rem, 2.2vw, 1.5rem);
	line-height: 1.4;
}
.revelons-missions__methode { margin: 2rem 0 0; font-size: 1.0625rem; }

/* Accueil : « Vous êtes… ». */
.revelons-publics { padding: 3.5rem 1.5rem 1.5rem; }
.revelons-publics__grille { gap: 2rem; }
.revelons-public > * { margin-block: 0; }
.revelons-public > * + * { margin-top: 1.1rem; }
.revelons-public__carte { padding: 1.4rem 1.5rem; overflow: hidden; }
.revelons-public__carte h2 {
	margin: 0;
	font-family: var(--wp--preset--font-family--raleway);
	font-style: normal;
	font-weight: 700;
	font-size: 1.1875rem;
	line-height: 1.35;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}
.revelons-public__carte h2 a { color: #fff; text-decoration: none; }
/* Toute la carte est cliquable. */
.revelons-public__carte h2 a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.revelons-public__carte:hover .wp-block-cover__background { opacity: 0.82 !important; }
.revelons-public ul { padding-left: 1.9rem; padding-right: 0.5rem; }
.revelons-public li + li { margin-top: 0.6rem; }
.revelons-public > p { padding-inline: 0.5rem; }
.revelons-publics__constat {
	margin: 2.75rem 0 0;
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: clamp(1.25rem, 2.6vw, 1.625rem);
	line-height: 1.35;
}
.revelons-publics__accroche {
	margin: 1.25rem 0 0;
	font-family: var(--wp--preset--font-family--lora);
	font-weight: 700;
	font-size: clamp(1.625rem, 4vw, 2.4375rem);
	line-height: 1.2;
	color: var(--wp--preset--color--teal);
}

/* Pastille (« Découvrir les accompagnements »). */
.revelons-pastille {
	display: inline-block;
	margin-block: 0 1.1rem;
	padding: 0.6rem 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--teal);
	background: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--teal);
	border-radius: 999px;
}

/* ---------- Onglets (accueil) ---------- */
.revelons-onglets { margin-top: 1.75rem; }
.revelons-onglet {
	background: var(--wp--preset--color--white);
	border-radius: 20px;
	padding: clamp(1.4rem, 3.5vw, 2.25rem) clamp(1.1rem, 3vw, 2rem);
	box-shadow: 0 2px 10px rgba(22, 62, 63, 0.06);
}
.revelons-onglet + .revelons-onglet { margin-top: 1.5rem; }
.revelons-onglet__titre { margin-block: 0 1rem; font-weight: 700; color: var(--wp--preset--color--teal); }
.revelons-onglets.is-actif .revelons-onglet { margin-top: 0; border-radius: 0 20px 20px 20px; }
.revelons-onglets.is-actif .revelons-onglet__titre { display: none; }
.revelons-onglets__barre { display: flex; flex-wrap: wrap; gap: 6px; }
.revelons-onglets__barre button {
	cursor: pointer;
	min-height: 52px;
	padding: 1rem 1.6rem;
	font: 700 1rem/1 var(--wp--preset--font-family--raleway);
	color: var(--wp--preset--color--ink);
	background: #d4e6e3;
	border: 0;
	border-top: 4px solid transparent;
	border-radius: 16px 16px 0 0;
}
.revelons-onglets__barre button[aria-selected="true"] {
	color: var(--wp--preset--color--teal);
	background: var(--wp--preset--color--white);
	border-top-color: var(--wp--preset--color--teal);
}
.revelons-onglets__barre button:focus-visible { outline: 2px solid var(--wp--preset--color--teal); outline-offset: 2px; }
.revelons-onglet__h { margin-block: 0 1.5rem; font-size: 1.5rem; line-height: 1.25; color: var(--wp--preset--color--teal); }

/* ---------- Bloc « Jeunes & parents » (accueil et page Particulier) ---------- */
.revelons-jeunes { gap: 1.5rem; align-items: flex-start; }
.revelons-jeunes__orientation { flex: 1 1 26rem; min-width: 0; }
.revelons-jeunes__photo { flex: 1 1 18rem; min-width: 0; max-width: 460px; margin: 0 auto !important; }
.revelons-jeunes__photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; border-radius: 20px; }
.revelons-jeunes__insertion { margin-top: 1.5rem; }
.revelons-jeunes .revelons-box, .revelons-jeunes__insertion { padding: 1.75rem 1.9rem; }
.revelons-box > .revelons-eyebrow { margin-bottom: 0.4rem; }
.revelons-box__titre { margin-block: 0 0.9rem !important; font-family: var(--wp--preset--font-family--raleway); font-style: normal; font-weight: 700; font-size: 1.375rem; line-height: 1.3; color: var(--wp--preset--color--teal); }
.revelons-box ul { padding-left: 1.25rem; font-size: 1rem; }
.revelons-box li + li { margin-top: 0.5rem; }
.revelons-box .revelons-label { margin-top: 1.1rem; }
.revelons-liste-ligne { display: flex; flex-wrap: wrap; gap: 0.5rem 2.5rem; }
.revelons-liste-ligne li + li { margin-top: 0; }

/* ---------- Texte + image ---------- */
.revelons-media { gap: clamp(1.5rem, 4vw, 3.5rem); }
.revelons-media .wp-block-media-text__content { padding: 0; }
.revelons-media .wp-block-media-text__media img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }
.revelons-media--logo .wp-block-media-text__media {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 4 / 3; background: var(--wp--preset--color--mint); border-radius: 20px;
}
.revelons-media--logo .wp-block-media-text__media img { width: 55%; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
.revelons-media h2 { font-size: clamp(1.5rem, 3vw, 1.95rem); }
.revelons-media ul { padding-left: 1.4rem; }
.revelons-media li + li { margin-top: 0.6rem; }
@media (max-width: 600px) {
	.revelons-media.is-stacked-on-mobile .wp-block-media-text__content { padding: 0; }
	.revelons-media.is-stacked-on-mobile .wp-block-media-text__media { margin-top: 1.5rem; }
}
.revelons-photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px; }
.revelons-colonne-images { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.revelons-colonne-images > * { margin: 0 !important; }

/* Sections un peu moins hautes (pages « Nos offres »). */
.revelons-section--serree { padding-block: clamp(2.5rem, 5vw, 3.5rem); }

/* ---------- Appel en bas des pages « Nos offres » ---------- */
.revelons-appel { background: var(--wp--preset--color--mint); padding: 4.5rem 1.5rem; text-align: center; }
.revelons-appel--blanc { background: var(--wp--preset--color--white); }
.revelons-appel__texte {
	margin-block: 0 1.5rem;
	font-family: var(--wp--preset--font-family--lora);
	font-style: italic;
	font-size: clamp(1.3rem, 2.6vw, 1.75rem);
	line-height: 1.35;
}
.revelons-section .revelons-appel__texte { text-align: left; margin-bottom: 1rem; }

/* Accueil : le titre principal n'a plus de photo à côté. */
.revelons-hero { padding-top: 2.5rem; }
.revelons-hero .revelons-lead { font-size: 1.125rem; max-width: 34rem; margin-bottom: 2rem; }
.revelons-publics > .revelons-publics__constat,
.revelons-publics > .revelons-publics__accroche { max-width: var(--wp--style--global--wide-size); }

/* Menu mobile (plein écran) : liste alignée à gauche, comme la maquette V3. */
.revelons-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem; }
.revelons-header .is-menu-open .wp-block-navigation__responsive-container-content,
.revelons-header .is-menu-open .wp-block-navigation__container,
.revelons-header .is-menu-open .wp-block-navigation-item,
.revelons-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.revelons-header .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; padding-top: 1.5rem; }
.revelons-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; border-top: 1px solid var(--wp--preset--color--line); }
.revelons-header .is-menu-open .wp-block-navigation-item__content { font-size: 1rem !important; padding: 0.85rem 0 !important; border-bottom: 0 !important; }
.revelons-header .is-menu-open .wp-block-navigation__submenu-container { gap: 0 !important; padding: 0 0 0.5rem 1rem !important; }
.revelons-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 0 !important; }
.revelons-header .is-menu-open .wp-block-navigation-submenu__toggle { font-size: 0.8125rem !important; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--ink-soft); padding: 0.85rem 0 0.25rem !important; }
.revelons-header .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.revelons-header .is-menu-open .is-cta { border-top: 0 !important; margin-top: 1rem; }
.revelons-header .is-menu-open .is-cta > a { padding: 0.85rem 1.6rem !important; }
/* Le menu « Nos offres » s'ouvre sous son titre (et non vers la gauche). */
@media (min-width: 600px) {
	.revelons-header .wp-block-navigation .revelons-offres > .wp-block-navigation__submenu-container { left: -1rem !important; right: auto !important; top: 100% !important; }
}
