/*
 * Prevense theme design layer.
 * Mobile-first refonte loaded after style.css.
 */

:root {
	--pv-blue: #062f47;
	--pv-blue-dark: #002940;
	--pv-blue-soft: #0d4968;
	--pv-orange: #ff7900;
	--pv-orange-dark: #e86d00;
	--pv-text: #082d45;
	--pv-muted: #587083;
	--pv-line: #d8e4eb;
	--pv-bg: #ffffff;
	--pv-soft: #f5f9fb;
	--pv-soft-blue: #edf8fc;
	--pv-max: 1180px;
	--pv-shadow: 0 18px 44px rgba(6, 47, 71, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
#avis { scroll-margin-top: 110px; }
body {
	margin: 0;
	color: var(--pv-text);
	background: var(--pv-bg);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.55;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--pv-orange); outline-offset: 3px; }

.prevense-container,
.wrapper {
	width: min(100% - 32px, var(--pv-max));
	margin-inline: auto;
}
.wrapper-wide { width: min(100%, 1360px); margin-inline: auto; }

/* Le header et le footer gagnent un peu d'amplitude sur les grands écrans. */
.site-header .prevense-container,
.footer-cta__inner,
.footer-main__inner,
.footer-legal {
	width: min(100% - 40px, 1450px);
}

.prevense-button,
.button,
.wp-block-button__link {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 11px 18px;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	border: 2px solid transparent;
	border-radius: 6px;
	cursor: pointer;
}
.prevense-button--primary,
.button--primary,
.wp-block-button__link { color: #fff; background: var(--pv-orange); border-color: var(--pv-orange); }
.prevense-button--primary:hover,
.button--primary:hover,
.wp-block-button__link:hover { background: var(--pv-orange-dark); border-color: var(--pv-orange-dark); }
.prevense-button--secondary,
.button--outline { color: var(--pv-blue); background: #fff; border-color: var(--pv-blue); }
.prevense-button--secondary:hover,
.button--outline:hover { color: #fff; background: var(--pv-blue); }
.prevense-button--dark,
.button--dark { color: #fff; background: var(--pv-blue); border-color: var(--pv-blue); }
.prevense-button--light,
.button--ghost-light { color: #fff; background: transparent; border-color: rgba(255,255,255,0.78); }

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255,255,255,0.98);
	border-bottom: 1px solid var(--pv-line);
	box-shadow: 0 10px 26px rgba(6,47,71,0.06);
	backdrop-filter: blur(10px);
}
.site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 68px;
	align-items: center;
	gap: 14px;
}
.brand {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 10px;
	color: var(--pv-blue);
	text-decoration: none;
}
.brand__logo,
.custom-logo-link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
}
.brand .custom-logo,
.site-header .custom-logo,
.footer-brand .custom-logo {
	width: auto !important;
	height: auto !important;
	max-width: 126px !important;
	max-height: 46px !important;
	object-fit: contain;
}
.brand__fallback {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--pv-orange);
	background: #fff;
	border: 2px solid var(--pv-line);
	border-radius: 50%;
	font-size: 26px;
	font-weight: 900;
	font-style: italic;
}
.brand__name {
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}
.main-navigation { justify-self: end; }
.menu-toggle {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 0;
	color: var(--pv-blue);
	background: transparent;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}
.menu-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.menu-toggle i,
.menu-toggle i::before,
.menu-toggle i::after { display: block; width: 25px; height: 2px; background: currentColor; transition: transform 160ms ease, opacity 160ms ease; }
.menu-toggle i { position: relative; }
.menu-toggle i::before,
.menu-toggle i::after { position: absolute; left: 0; content: ""; }
.menu-toggle i::before { top: -7px; }
.menu-toggle i::after { top: 7px; }
.main-navigation.toggled .menu-toggle i { background: transparent; }
.main-navigation.toggled .menu-toggle i::before { top: 0; transform: rotate(45deg); }
.main-navigation.toggled .menu-toggle i::after { top: 0; transform: rotate(-45deg); }
.main-navigation__panel {
	position: fixed;
	top: 76px;
	right: 16px;
	left: 16px;
	display: none;
	max-height: calc(100vh - 92px);
	overflow: auto;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--pv-line);
	border-radius: 8px;
	box-shadow: var(--pv-shadow);
}
.main-navigation.toggled .main-navigation__panel { display: block; }
.mobile-menu-head { display: grid; gap: 3px; padding: 4px 4px 12px; border-bottom: 1px solid var(--pv-line); }
.mobile-menu-head strong { color: var(--pv-blue); font-size: 16px; font-weight: 900; text-transform: uppercase; }
.mobile-menu-head span { color: var(--pv-muted); font-size: 13px; line-height: 1.35; }
.primary-menu,
.primary-menu ul { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.primary-menu a {
	display: flex;
	min-height: 44px;
	align-items: center;
	padding: 10px 12px;
	color: var(--pv-blue);
	font-size: 14px;
	font-weight: 850;
	text-decoration: none;
	border-radius: 6px;
}
.primary-menu a:hover,
.primary-menu a:focus-visible { color: var(--pv-orange); background: transparent; }
.primary-menu .current-menu-item > a { color: var(--pv-blue); background: transparent; }
.primary-menu > li.is-active > a { color: var(--pv-orange); background: var(--pv-soft); }
.primary-menu ul { margin: 2px 0 6px 10px; padding-left: 10px; border-left: 2px solid var(--pv-line); background: #fff; }
.primary-menu ul a { min-height: 38px; font-size: 13px; }
.mobile-menu-actions { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pv-line); }
.header-actions { display: none; }
.header-phone { color: var(--pv-blue); font-size: 13px; font-weight: 900; text-decoration: none; white-space: nowrap; }
body.nav-open { overflow: hidden; }

/* Home base */
.section-pad { padding-block: 54px; }
.section-title { margin: 0 0 26px; color: var(--pv-blue); font-size: 29px; font-weight: 900; line-height: 1.12; }
.section-title span { color: var(--pv-orange); }
.section-title.centered { text-align: left; }
.section-corner { display: block; width: 38px; height: 86px; margin-bottom: 18px; border-top: 3px solid var(--pv-orange); border-left: 3px solid var(--pv-orange); transform: skewY(-38deg); }

/* Editable Gutenberg formation layout */
.formation-editor-page { background: #fff; }
.formation-editor-page > .wp-block-group,
.formation-editor-page > .wp-block-cover,
.formation-editor-page > .wp-block-columns { margin-block: 0; }
.formation-editor-hero { background: var(--pv-blue); color: #fff; }
.formation-editor-hero .wp-block-group__inner-container,
.formation-editor-page .formation-editor-wrap { width: min(100%, var(--pv-max)); margin-inline: auto; }
.formation-editor-hero h1,
.formation-editor-hero h2 { max-width: 760px; margin-top: 0; color: #fff; line-height: 1.05; }
.formation-editor-hero p { max-width: 720px; color: rgba(255,255,255,.88); font-size: 19px; }
.formation-editor-layout { width: min(calc(100% - 32px), var(--pv-max)); margin: 0 auto; padding: 64px 0; }
.formation-editor-layout > .wp-block-column { min-width: 0; }
.formation-editor-sidebar { padding: 26px; background: var(--pv-soft-blue); border: 1px solid var(--pv-line); border-radius: 8px; }
.formation-editor-sidebar h2,
.formation-editor-sidebar h3 { margin-top: 0; color: var(--pv-blue); }
.formation-editor-page h2 { color: var(--pv-blue); line-height: 1.12; }
.formation-editor-page h3 { color: var(--pv-blue); }
.formation-editor-page .wp-block-separator { border-color: var(--pv-line); }
.formation-editor-page .wp-block-button__link { font-weight: 900; }
.formation-editor-page .formation-editor-note { padding: 20px; background: var(--pv-soft); border-left: 4px solid var(--pv-orange); }
.formation-editor-meta { font-size: 14px !important; font-weight: 800; }
.formation-editor-anchor-nav { position: sticky; top: 68px; z-index: 20; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--pv-line); box-shadow: 0 6px 18px rgba(6,47,71,.06); }
.formation-editor-anchor-nav p { display: flex; gap: 4px; width: min(100%, var(--pv-max)); margin: 0 auto; overflow-x: auto; }
.formation-editor-anchor-nav a { flex: 0 0 auto; padding: 14px 10px; color: var(--pv-blue); font-size: 13px; font-weight: 800; text-decoration: none; }
.formation-editor-anchor-nav a:hover { color: var(--pv-orange); }
.formation-editor-section { padding: 64px 24px; scroll-margin-top: 130px; }
.formation-editor-section--soft { background: var(--pv-soft-blue); }
.formation-editor-section > *, .formation-editor-cta > * { width: min(100%, var(--pv-max)); margin-inline: auto; }
.formation-editor-section-inner { padding: 64px 0; scroll-margin-top: 130px; }
.formation-editor-section-inner:first-child { padding-top: 0; }
.formation-editor-section h2 { margin-top: 0; }
.formation-editor-section h3 { margin-top: 32px; }
.formation-editor-section table { width: 100%; border-collapse: collapse; background: #fff; }
.formation-editor-section td { padding: 14px; border: 1px solid var(--pv-line); }
.formation-editor-section td:first-child { width: 32%; font-weight: 800; color: var(--pv-blue); }
.formation-editor-section .wp-block-details { padding: 18px 0; border-bottom: 1px solid var(--pv-line); }
.formation-editor-section .wp-block-details summary { color: var(--pv-blue); font-weight: 800; cursor: pointer; }
.formation-editor-cta { padding: 58px 24px; background: var(--pv-blue); color: #fff; }
.formation-editor-cta h2 { margin-top: 0; color: #fff; }
.formation-editor-cta p { color: #fff; }
.formation-request { width: min(100%, 860px); margin-inline: auto; color: #fff; }
.formation-request__intro { text-align: center; }
.formation-request__eyebrow { display: inline-block; margin: 0 0 18px; padding: 7px 14px; color: var(--pv-green) !important; font-size: 30px; font-weight: 900; letter-spacing: .18em; }
.formation-request__intro h2 { margin: 0 0 10px; color: #fff; font-size: clamp(28px, 4vw, 36px); }
.formation-request__intro > p:last-child { margin: 0 0 34px; color: rgba(255,255,255,.76) !important; }
.formation-request__intro strong { color: var( --pv-orange); }
.formation-request__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.formation-request__choice { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0 0 24px; padding: 0; border: 0; }
.formation-request__choice legend { width: 100%; margin-bottom: 8px; color: rgba(255,255,255,.8); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.formation-request__choice label { display: inline-flex !important; flex: 0 0 auto; width: auto !important; align-items: center; gap: 8px; margin: 0 !important; color: rgba(255,255,255,.82) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1.3; text-transform: none !important; white-space: nowrap; }
.formation-request__choice .formation-request__choice-text { color: rgba(255,255,255,.82) !important; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.formation-request__consent { display: flex !important; width: 100%; align-items: center; gap: 8px; margin: 0 !important; color: rgba(255,255,255,.82) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; line-height: 1.5; text-transform: none !important; }
.formation-request__consent > span { flex: 1 1 auto; min-width: 0; color: rgba(255,255,255,.82) !important; font-size: 13px; font-weight: 600; letter-spacing: 0; line-height: 1.5; text-transform: none; white-space: normal; }
.formation-request__choice input, .formation-request__consent input { width: auto !important; height: auto; flex: 0 0 auto; margin: 0; vertical-align: middle; position: relative; top: -2px; }
.formation-request__consent { margin-top: 18px !important; }
.formation-request__consent a { color: var(--pv-orange) !important; text-decoration: underline; }
.formation-request__choice .formation-request__field-error, .formation-request__consent .formation-request__field-error { flex-basis: 100%; }
.formation-request__form label { display: block; margin: 0 0 20px; color: rgba(255,255,255,.8); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.formation-request__form label span { color: #f00; }
.formation-request__form label .formation-request__message-label { color: inherit; }
.formation-request__trainees-field[hidden] { display: none !important; }
.formation-request__form input, .formation-request__form textarea { display: block; width: 100%; margin-top: 8px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.24); border-radius: 0; background: rgba(255,255,255,.06); color: #fff; font: inherit; box-sizing: border-box; }
.formation-request__form input:focus, .formation-request__form textarea:focus { color: white; outline: 2px solid var( --pv-orange); outline-offset: 2px; }
.formation-request__form input::placeholder, .formation-request__form textarea::placeholder { color: rgba(255,255,255,.45); }
.formation-request__field-error { display: block; margin-top: 6px; color: #ffd6c9; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.formation-request__form input[aria-invalid="true"] { border-color: #ff9a7d; }
.formation-request__form > label { margin-top: 0; }
.formation-request__form button { display: block; width: 100%; margin-top: 10px; padding: 16px 20px; border: 0; border-radius: 0; background: var(--pv-orange); color: #fff; font: inherit; font-weight: 900; letter-spacing: .04em; cursor: pointer; }
.formation-request__form button:hover { background: #bc5d06; }
.formation-request__legal { margin: 18px 0 0; color: rgba(255,255,255,.7) !important; font-size: 12px; text-align: center; }

.contact-hero { padding: 72px 24px 68px; background: linear-gradient(rgba(5,48,72,.78), rgba(5,48,72,.78)), var(--pv-blue); background-position: center; background-size: cover; background-repeat: no-repeat; color: #fff; text-align: center; }
.contact-hero__inner { width: min(100%, var(--pv-max)); margin-inline: auto; }
.contact-hero__eyebrow { margin: 0 0 14px; color: var(--pv-green) !important; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.contact-hero h1 { margin: 0 0 14px; color: #fff; font-size: clamp(32px, 5vw, 52px); }
.contact-hero p:last-child { max-width: 680px; margin: 0 auto; color: rgba(255,255,255,.82); font-size: 18px; }
.contact-form-section { margin-top: -24px; padding: 0 64px 24px; background: #09080808; }
.contact-form-section > .formation-request { color: var(--pv-blue); }
.contact-form-section .formation-request__intro h2 { color: var(--pv-blue); }
.contact-form-section .formation-request__intro > p:last-child { color: var(--pv-muted) !important; }
.contact-form-section .formation-request__choice legend,
.contact-form-section .formation-request__form label { color: var(--pv-blue); }
.contact-form-section .formation-request__choice label,
.contact-form-section .formation-request__choice .formation-request__choice-text,
.contact-form-section .formation-request__consent,
.contact-form-section .formation-request__consent > span { color: var(--pv-blue) !important; }
.contact-form-section .formation-request__form input,
.contact-form-section .formation-request__form textarea { border-color: var(--pv-line); background: #fff; color: var(--pv-blue); }
.contact-form-section .formation-request__form input::placeholder,
.contact-form-section .formation-request__form textarea::placeholder { color: #7890a4; }
.contact-form-section .formation-request__consent a { color: var(--pv-blue); }
.contact-form-section .formation-request__legal { color: var(--pv-muted) !important; }
.formation-request__notice { display: block !important; padding: 16px 18px; margin: 0 0 24px; background: #fff; color: var(--pv-blue) !important; border: 3px solid var(--pv-orange); font-size: 15px; font-weight: 800; text-align: center; }
@media screen and (max-width: 47.9375rem) {
	.contact-form-section { padding-inline: 16px; }
	.contact-form-section .formation-request__eyebrow {
		max-width: 100%;
		font-size: clamp(1.125rem, 4vw, 1.875rem);
		letter-spacing: clamp(.02em, .15vw, .08em);
		overflow-wrap: anywhere;
	}
}
.formation-request__notice--success { border-color: #39dc72; }
.formation-request__notice--error { border-color: var(--pv-orange); }
.formation-request__honeypot { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
@media screen and (max-width: 47.9375rem) { .formation-request__grid { grid-template-columns: 1fr; gap: 0; } }
.formation-editor-hero { background: linear-gradient(90deg, rgba(6,47,71,.98), rgba(6,47,71,.62)); }
.formation-editor-hero .has-pv-blue-background-color { background-color: var(--pv-blue) !important; }
.formation-editor-hero .wp-block-cover__inner-container { width: min(100%, var(--pv-max)); }
.formation-editor-hero-columns.wp-block-columns { align-items: center !important; gap: 48px; }
.formation-editor-hero h1 { max-width: 760px; margin: 8px 0 18px; color: #fff; font-size: clamp(36px, 5vw, 66px); line-height: 1.02; }
.formation-editor-breadcrumb { margin: 0; color: rgba(255,255,255,.7) !important; font-size: 12px !important; }
.formation-editor-price { align-self: center; height: fit-content; padding: 28px !important; color: var(--pv-blue); text-align: center; background: #fff; box-shadow: 0 10px 14px rgb(6, 47, 71); border-radius: 10px; }
.formation-editor-price p { max-width: none; margin: 0 0 10px; color: var(--pv-muted); font-size: 12px !important; font-weight: 800; }
.formation-editor-price h2 { margin: 0; color: var(--pv-orange); font-size: 48px; }
.formation-editor-price hr { margin: 18px 0; }
.formation-editor-content-grid { width: min(calc(100% - 32px), 1300px); margin: 0 auto; padding: 46px 0 70px; align-items: flex-start; gap: 30px; }
.formation-editor-content-grid > .wp-block-column:first-child { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.formation-editor-card, .formation-editor-sidebar-card, .formation-editor-price-sidebar { padding: 26px; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 8px 22px rgba(6,47,71,.05); }
.formation-editor-card h2, .formation-editor-sidebar-card h3, .formation-editor-price-sidebar h3 { margin-top: 0; color: var(--pv-blue); }
.formation-editor-session-row { margin-top: 12px; padding: 14px 16px; background: #ff790008; border: 1px solid var(--pv-line); }
.formation-editor-session-row h3 { margin: 0; color: var(--pv-blue); font-size: 15px; }
.formation-editor-session-row p { margin: 5px 0 0; font-size: 13px; }
.formation-editor-muted-box { padding: 24px; background: #f7f7f4; }
.formation-editor-muted-box h3 { margin-top: 0; color: var(--pv-muted); }
.formation-editor-public { padding: 30px 38px !important; }
.formation-editor-public-columns { gap: 64px; margin: 0 !important; }
.formation-editor-public h3 { margin: 0 0 20px; color: var(--pv-orange); font-size: 15px; text-transform: uppercase; }
.formation-editor-public-columns > .wp-block-column:nth-child(2) h3 { color: var(--pv-orange); letter-spacing: .08em; }
.formation-editor-check-list, .formation-editor-objective-list { display: grid; gap: 14px; margin: 0 !important; padding: 0; list-style: none; color: #587083; }
.formation-editor-check-list li, .formation-editor-objective-list li { position: relative; padding-left: 42px; }
.formation-editor-check-list li::before { position: absolute; top: 0; left: 4px; color: var(--pv-orange); content: '✓'; font-size: 23px; line-height: 1; }
.formation-editor-objective-list li { padding-left: 16px; }
.formation-editor-objective-list li::before { position: absolute; top: .65em; left: 0; width: 0; height: 0; content: ''; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid var(--pv-orange); }
.formation-editor-certification { padding: 30px; background: #fff;; border: 1px solid #c6e6ce; }
.formation-editor-certification h2 { margin-top: 0; color: var(--pv-blue); }
.formation-editor-sidebar-column { display: grid; align-self: flex-start !important; align-content: start; gap: 18px; position: sticky; top: 110px; height: max-content; }
.formation-editor-price-sidebar,
.formation-editor-sidebar-card { align-self: flex-start !important; height: max-content; min-height: 0; }
.formation-editor-price-sidebar { padding: 20px !important; color: #fff; background: var(--pv-blue); border-color: var(--pv-blue); }
.formation-editor-price-sidebar h3, .formation-editor-price-sidebar p { color: #fff; }
.formation-editor-price-sidebar h3 { margin-bottom: 18px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.formation-editor-price-sidebar p { margin: 0 0 14px; font-size: 13px; line-height: 1.35; }
.formation-editor-price-sidebar strong { display: block; margin-top: 4px; color: #ffad61; font-size: 18px; }
.formation-editor-price-sidebar .wp-block-button__link { width: 100%; }
.formation-editor-price-sidebar .wp-block-button__link { min-height: 38px; padding: 9px 12px; font-size: 12px; }
.formation-editor-price-line { margin: 0 !important; padding: 0 0 14px; border-bottom: 1px solid rgba(255,255,255,.16); }
.formation-editor-price-line + .formation-editor-price-line { padding-top: 14px; }
.formation-editor-price-line p { position: relative; margin: 0; }
.formation-editor-price-line small { font-size: 10px; opacity: .8; }
.formation-editor-price-line strong { position: absolute; top: 0; right: 0; font-size: 18px; }
.formation-editor-sidebar-buttons { display: grid; gap: 8px; margin: 4px 0 20px !important; }
.formation-editor-sidebar-buttons .wp-block-button { width: 100%; }
.formation-editor-sidebar-buttons .is-style-outline .wp-block-button__link { color: #fff; background: transparent; border-color: rgba(255,255,255,.45); }
.formation-editor-financing { margin: 0 !important; font-size: 11px !important; }
.formation-editor-financing strong { color: var(--pv-orange); font-size: 10px; letter-spacing: .08em; }
.formation-editor-sidebar-card { padding: 20px; font-size: 13px; }
.formation-editor-sidebar-card h3 { margin-bottom: 14px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.formation-editor-sidebar-card ul { margin-bottom: 0; padding-left: 18px; }
.formation-editor-sidebar-card li + li { margin-top: 8px; }
.formation-editor-fact { margin: 0 !important; }
.formation-editor-fact p { margin: 0; color: var(--pv-muted); font-size: 11px; line-height: 1.45; }
.formation-editor-fact p span { display: inline-block; width: 20px; color: var(--pv-orange); font-weight: 800; font-size: 16px; }
.formation-editor-fact p strong { display: block; margin: 2px 0 10px 20px; color: var(--pv-blue); font-size: 12px; }
.formation-editor-other-link { margin: 0 !important; padding: 10px 0; border-bottom: 1px solid var(--pv-line); }
.formation-editor-other-link:last-child { border-bottom: 0; }
.formation-editor-other-link p { margin: 0; }
.formation-editor-other-link a { display: block; color: var(--pv-blue); font-size: 12px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.formation-editor-other-link a strong { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 800; }
.formation-editor-other-link a small { display: block; margin-left: 25px; font-size: 9px; font-weight: 500; }
.formation-editor-dynamic-link { margin: 0 !important; padding: 10px 0; border-bottom: 1px solid var(--pv-line); }
.formation-editor-dynamic-link:last-child { border-bottom: 0; }
.formation-editor-dynamic-link a { display: block; color: var(--pv-blue); font-size: 12px; font-weight: 700; line-height: 1.25; text-decoration: none; }
.formation-editor-dynamic-link a strong { display: inline-block; margin-left: 6px; color: var(--pv-orange); font-size: 12px; font-weight: 800; }
.formation-editor-dynamic-link a small { display: block; margin-left: 25px; font-size: 9px; font-weight: 500; }
.formation-editor-sidebar-card a { color: var(--pv-blue); font-weight: 800; }
.formation-editor-programme { padding: 38px !important; }
.formation-editor-programme h2 { margin: 0 0 10px; color: var(--pv-blue); font-size: 30px; text-transform: uppercase; }
.formation-editor-programme-intro { margin: 0 0 38px; color: #587083; }
.prevense-formation-programme-download { display: flex; justify-content: flex-start; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--pv-line); }
.prevense-formation-programme-download a { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; box-sizing: border-box; padding: 11px 18px; color: #fff; background: var(--pv-orange); font-size: 14px; font-weight: 900; line-height: 1.1; text-align: center; border: 2px solid var(--pv-orange); border-radius: 6px; text-decoration: none; }
.prevense-formation-programme-download a:hover, .prevense-formation-programme-download a:focus { color: #fff; background: var(--pv-orange-dark, #d85f00); }
.formation-editor-module { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: start; margin: 0 !important; }
.formation-editor-module + .formation-editor-module { margin-top: 38px !important; }
.formation-editor-module-number { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin: 0 !important; color: #fff; background: var(--pv-orange); font-size: 16px; font-weight: 900; }
.formation-editor-module-content { margin: 0 !important; }
.formation-editor-module-meta { margin: -4px 0 2px !important; color: var(--pv-orange); font-family: monospace; font-size: 13px; font-weight: 800; letter-spacing: .16em; }
.formation-editor-module-content h3 { margin: 0 0 20px; color: var(--pv-blue); font-size: 21px; }
.formation-editor-module-list { display: grid; gap: 12px; margin: 0 !important; padding: 0 0 0 16px; list-style: none; color: #587083; }
.formation-editor-module-list li { position: relative; padding-left: 14px; }
.formation-editor-module-list li::before { position: absolute; top: .7em; left: 0; width: 0; height: 0; content: ''; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid #008b3e; }
.formation-editor-modalities { padding: 38px !important; }
.formation-editor-modalities h2 { margin: 0 0 26px; color: var(--pv-blue); font-size: 30px; text-transform: uppercase; }
.formation-editor-modalities-table { margin: 0 !important; }
.formation-editor-modalities-table table { width: 100%; table-layout: fixed; border: 0; border-collapse: separate; border-spacing: 0 14px; }
.formation-editor-modalities-table td { padding: 14px; color: var(--pv-blue); background: #ff790008; border: 0; font-size: 15px; }
.formation-editor-modalities-table td:nth-child(odd) { width: 22%; color: #587083; font-size: 11px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.formation-editor-modalities-table td:nth-child(even) { width: 28%; }
.formation-editor-modalities-table td:nth-child(2) { padding-left: 0; }
.formation-editor-modalities-table td:nth-child(3) { border-left: 14px solid #fff; }
.formation-editor-tools { padding: 38px !important; }
.formation-editor-tools h2 { margin: 0 0 10px; color: var(--pv-blue); font-size: 30px; text-transform: uppercase; }
.formation-editor-tools-intro { margin: 0 0 26px; color: #587083; }
.formation-editor-tools-columns { gap: 48px; margin: 0 !important; }
.formation-editor-tools-columns h3 { margin: 0 0 12px; color: var(--pv-orange); font-size: 17px; text-transform: uppercase; }
.formation-editor-tools-list { display: grid; gap: 12px; margin: 0 !important; padding: 0 0 0 16px; list-style: none; color: #587083; }
.formation-editor-tools-list li { position: relative; padding-left: 14px; }
.formation-editor-tools-list li::before { position: absolute; top: .7em; left: 0; width: 0; height: 0; content: ''; border-top: 4px solid transparent; border-bottom: 4px solid transparent; border-left: 5px solid var(--pv-orange); }
.formation-editor-tools > .wp-block-separator { margin: 28px 0; border-color: var(--pv-line); }
.formation-editor-tools > p:not(.formation-editor-tools-intro) { color: #587083; }
.formation-editor-seo-links { width: min(calc(100% - 32px), 920px); margin: 0 auto 28px; padding: 18px 20px; background: #ff790008; border-left: 4px solid var(--pv-orange); }
.formation-editor-seo-links p { margin: 0; color: #587083; line-height: 1.7; }
.formation-editor-seo-links a { color: var(--pv-blue); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.formation-editor-seo-links a:hover { color: var(--pv-orange); }
.formation-editor-seo-intro a,
.formation-catalog-seo-intro a,
.formation-editor-seo-links a,
.formations-editor-intro a[href*="inrs.fr"] { color: var(--pv-orange); font-weight: 800; text-decoration: none; }
.formation-editor-seo-intro a:hover,
.formation-catalog-seo-intro a:hover,
.formation-editor-seo-links a:hover,
.formations-editor-intro a[href*="inrs.fr"]:hover { color: var(--pv-blue); text-decoration: underline; }
.formation-catalog-seo-intro { width: min(calc(100% - 32px), 920px); margin: 0 auto 28px; padding: 22px 24px; background: #ff790008; border-left: 4px solid var(--pv-orange); }
.formation-catalog-seo-intro p { margin: 0 0 10px; color: #587083; line-height: 1.7; }
.formation-catalog-seo-intro p:last-child { margin-bottom: 0; }
.fire-article-ai-summary { margin: 24px 0; padding: 20px 22px; background: #ff790008; border-left: 4px solid var(--pv-orange); }
.fire-article-ai-summary p { margin: 0; color: #587083; line-height: 1.7; }
.fire-article-rewrite { color: #587083; line-height: 1.75; }
.fire-article-rewrite h2 { margin: 34px 0 14px; color: var(--pv-blue); }
.fire-article-rewrite li { margin-bottom: 8px; }
.fire-article-source-note { padding: 20px 22px; background: #ff790008; border-left: 4px solid var(--pv-orange); }
.fire-article-rewrite a { color: var(--pv-orange); font-weight: 800; }
.fire-article-rewrite a:hover { color: var(--pv-blue); }
.fire-article-rewrite details { padding: 14px 0; border-bottom: 1px solid var(--pv-line); }
.fire-article-rewrite summary { color: var(--pv-blue); font-weight: 800; cursor: pointer; }
.formation-editor-psc1 { margin-top: 18px !important; padding: 18px 20px; background: #ff790008;; border-left: 4px solid var(--pv-orange); }
.formation-editor-psc1 h3 { margin: 0 0 6px; color: var(--pv-orange); font-size: 14px; text-transform: uppercase; }
.formation-editor-psc1 p { margin: 0; color: #587083; }
.formation-editor-faq { width: min(calc(100% - 32px), 920px); margin: 0 auto; padding: 62px 0; }
.formation-editor-faq h2 { margin: 0 0 30px; color: var(--pv-blue); font-size: 30px; text-align: center; text-transform: uppercase; }
.formation-editor-faq h2::before { display: block; width: 130px; height: 3px; margin: 0 auto 12px; background: linear-gradient(90deg, transparent 0 35%, var(--pv-orange) 35% 65%, transparent 65%); content: ''; }
.formation-editor-faq .wp-block-details { margin: 0 0 6px; padding: 0; background: #fff; border: 1px solid var(--pv-line); }
.formation-editor-faq .wp-block-details[open] { border-color: var(--pv-orange); }
.formation-editor-faq summary { position: relative; padding: 15px 48px 15px 18px; color: var(--pv-blue); background: #ff790008; font-size: 12px; font-weight: 900; line-height: 1.3; text-transform: uppercase; cursor: pointer; list-style: none; }
.formation-editor-faq summary::-webkit-details-marker { display: none; }
.formation-editor-faq summary::after { position: absolute; top: 50%; right: 18px; display: grid; width: 16px; height: 16px; place-items: center; color: var(--pv-blue); border: 1px solid var(--pv-line); content: '+'; font-size: 12px; font-weight: 400; transform: translateY(-50%); }
.formation-editor-faq .wp-block-details[open] summary::after { color: var(--pv-orange); content: '×'; }
.formation-editor-faq .wp-block-details > p { margin: 0; padding: 16px 18px 18px; color: #587083; border-top: 1px solid var(--pv-line); font-size: 12px; line-height: 1.7; }

.formation-cards-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: min(calc(100% - 32px), 1120px); margin: 0 auto; }
.formation-card { overflow: hidden; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 8px 22px rgba(6,47,71,.08); }
.formation-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.formation-card__image { height: 170px; background: var(--pv-blue); }
.formation-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.formation-card__body { padding: 22px; }
.formation-card__body h3 { margin: 0 0 10px; color: var(--pv-blue); font-size: 20px; }
.formation-card__body p { min-height: 52px; margin: 0 0 18px; color: #587083; line-height: 1.55; }
.formation-card__facts { margin: 0; border-top: 1px solid var(--pv-line); }
.formation-card__facts > div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--pv-line); }
.formation-card__facts dt { color: #587083; font-size: 12px; font-weight: 700; }
.formation-card__facts dd { margin: 0; color: var(--pv-blue); font-size: 12px; font-weight: 800; text-align: right; }
.formation-card__more { display: inline-block; margin-top: 18px; color: var(--pv-orange); font-size: 13px; font-weight: 800; }
.prevense-external-link,
.prevense-external-link:link { color: var(--pv-orange) !important; }
.prevense-external-link strong,
.prevense-external-link em,
.prevense-external-link span { color: inherit !important; }
.prevense-external-link:visited { color: var(--pv-orange-dark) !important; }
.prevense-external-link:visited strong,
.prevense-external-link:visited em,
.prevense-external-link:visited span { color: inherit !important; }
.prevense-external-link:hover,
.prevense-external-link:focus-visible { color: var(--pv-blue) !important; }
.prevense-external-link:hover strong,
.prevense-external-link:hover em,
.prevense-external-link:hover span,
.prevense-external-link:focus-visible strong,
.prevense-external-link:focus-visible em,
.prevense-external-link:focus-visible span { color: inherit !important; }

/* Page 404 */
.prevense-404-page { min-height: 520px; }
.prevense-404 { display: grid; min-height: 520px; padding: 80px 24px; place-items: center; background: var(--pv-blue); }
.prevense-404__inner { width: min(100%, 760px); padding: 58px 52px; text-align: center; background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.prevense-404__code { margin: 0 0 12px; color: var(--pv-orange); font-size: 14px; font-weight: 900; letter-spacing: .16em; }
.prevense-404 h1 { margin: 0 0 18px; color: var(--pv-blue); font-size: clamp(34px, 5vw, 58px); line-height: 1.05; }
.prevense-404__text { max-width: 560px; margin: 0 auto; color: #587083; font-size: 18px; line-height: 1.6; }
.prevense-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 30px; }
.prevense-404__actions .prevense-button { text-decoration: none; }
.prevense-404__actions .prevense-button--orange { color: #fff; background: var(--pv-orange); border-color: var(--pv-orange); }
.prevense-404__actions .prevense-button--orange:hover { background: var(--pv-orange-dark); border-color: var(--pv-orange-dark); }
.prevense-404__actions .prevense-button--light { color: var(--pv-blue); background: #fff; border-color: var(--pv-blue); }
.prevense-404__actions .prevense-button--light:hover { color: #fff; background: var(--pv-blue); }
.prevense-404__help { margin: 28px 0 0; color: #587083; font-size: 14px; }
.prevense-404__help a { color: var(--pv-orange); font-weight: 800; }
.prevense-404__help a:hover { color: var(--pv-blue); }
@media (max-width: 600px) { .prevense-404 { padding: 48px 16px; } .prevense-404__inner { padding: 40px 24px; } .prevense-404__actions { flex-direction: column; } .prevense-404__actions .prevense-button { width: 100%; box-sizing: border-box; text-align: center; } }
@media (max-width: 800px) { .formation-cards-grid { grid-template-columns: 1fr; } }

@media (max-width: 781px) {
	.formation-editor-hero { padding: 50px 20px; }
	.formation-editor-layout { padding: 42px 0; }
	.formation-editor-layout.is-layout-flex { flex-wrap: wrap !important; }
	.formation-editor-layout > .wp-block-column { flex-basis: 100% !important; }
	.formation-editor-anchor-nav { top: 68px; }
	.formation-editor-section { padding: 44px 20px; }
	.formation-editor-section-inner { padding: 44px 0; }
	.formation-editor-content-grid { width: min(calc(100% - 32px), var(--pv-max)); padding: 34px 0 48px; }
	.formation-editor-sidebar-column { position: static; }
	.formation-editor-hero-columns { gap: 24px; }
	.formation-editor-hero h1 { font-size: 38px; }
	.formation-editor-programme { padding: 26px 20px !important; }
	.formation-editor-programme h2 { font-size: 24px; }
	.formation-editor-modalities { padding: 26px 20px !important; }
	.formation-editor-modalities-table { max-width: 100%; overflow: visible; }
	.formation-editor-modalities-table table,
	.formation-editor-modalities-table tbody { display: block; width: 100%; min-width: 0; }
	.formation-editor-modalities-table tr {
		display: grid;
		grid-template-columns: minmax(6.5rem, .8fr) minmax(0, 1.2fr);
		margin-bottom: 14px;
	}
	.formation-editor-modalities-table td {
		width: auto !important;
		min-width: 0;
		padding: 12px;
		border: 0;
	}
	.formation-editor-modalities-table td:nth-child(2) { padding-left: 12px; }
	.formation-editor-modalities-table td:nth-child(3),
	.formation-editor-modalities-table td:nth-child(4) {
		margin-top: 8px;
		padding-top: 12px;
		border-top: 1px solid var(--pv-line);
	}
	.formation-editor-modalities-table td:nth-child(3) { border-left: 0; }
	.formation-editor-tools { padding: 26px 20px !important; }
	.formation-editor-seo-links { width: calc(100% - 32px); margin-bottom: 20px; padding: 16px; }
	.formation-catalog-seo-intro { width: calc(100% - 32px); padding: 18px 16px; }
	.formation-editor-tools h2 { font-size: 24px; }
	.formation-editor-tools-columns { gap: 24px; }
}

/* Formation pages */
.formation-page { color: var(--pv-text); }
.formation-hero { padding: 76px 0 64px; background: var(--pv-blue); color: #fff; }
.formation-hero__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 42px; align-items: center; }
.formation-eyebrow, .section-kicker { display: block; margin-bottom: 14px; color: var(--pv-orange); font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.formation-hero h1 { max-width: 760px; margin: 0 0 20px; color: #fff; font-size: clamp(38px, 6vw, 72px); line-height: 1.02; }
.formation-hero__intro { max-width: 680px; margin: 0 0 28px; color: rgba(255,255,255,.88); font-size: 20px; }
.formation-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.formation-hero__card { padding: 24px; background: #fff; color: var(--pv-text); border-radius: 8px; box-shadow: var(--pv-shadow); }
.formation-hero__card > strong { display: block; margin-bottom: 12px; font-size: 20px; }
.formation-fact { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--pv-line); }
.formation-fact span { color: var(--pv-muted); font-size: 13px; }
.formation-fact b { font-size: 17px; }
.formation-anchor-nav { position: sticky; top: 68px; z-index: 20; background: #fff; border-bottom: 1px solid var(--pv-line); box-shadow: 0 6px 18px rgba(6,47,71,.06); }
.formation-anchor-nav .prevense-container { display: flex; gap: 4px; overflow-x: auto; }
.formation-anchor-nav a { flex: 0 0 auto; padding: 15px 12px; color: var(--pv-blue); font-size: 13px; font-weight: 800; text-decoration: none; }
.formation-anchor-nav a:hover, .formation-anchor-nav a:focus-visible { color: var(--pv-orange); }
.formation-section { padding: 72px 0; scroll-margin-top: 130px; }
.formation-section--soft { background: var(--pv-soft-blue); }
.formation-section--navy { background: var(--pv-blue); color: #fff; }
.formation-section h2 { max-width: 620px; margin: 0; color: var(--pv-blue); font-size: clamp(29px, 4vw, 46px); line-height: 1.08; }
.formation-section--navy h2 { color: #fff; margin-bottom: 28px; }
.formation-two-col { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.section-kicker--light { color: #ffb36b; }
.formation-check-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.formation-check-list li { position: relative; padding: 0 0 0 30px; font-size: 18px; }
.formation-check-list li::before { position: absolute; top: .45em; left: 0; width: 14px; height: 14px; content: ''; background: var(--pv-blue-soft); border-radius: 50%; box-shadow: inset 0 0 0 4px var(--pv-soft-blue); }
.formation-check-list--orange li::before { background: var(--pv-orange); box-shadow: inset 0 0 0 4px #fff3e8; }
.formation-program-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.formation-program-card { padding: 26px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; }
.formation-program-card__number { color: var(--pv-orange); font-size: 18px; font-weight: 900; }
.formation-program-card h3 { margin: 10px 0 14px; color: #fff; font-size: 21px; }
.formation-program-card ul { margin: 0; padding-left: 18px; color: rgba(255,255,255,.88); }
.formation-details-list { border-top: 1px solid var(--pv-line); }
.formation-details-list > div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--pv-line); }
.formation-details-list p { margin: 0; }
.formation-faq__list { max-width: 850px; margin-top: 30px; border-top: 1px solid var(--pv-line); }
.formation-faq details { padding: 18px 0; border-bottom: 1px solid var(--pv-line); }
.formation-faq summary { color: var(--pv-blue); font-size: 18px; font-weight: 800; cursor: pointer; }
.formation-faq details p { margin: 14px 0 0; color: var(--pv-muted); }
.formation-cta { padding: 64px 0; background: var(--pv-orange); color: #fff; }
.formation-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.formation-cta h2 { margin: 0 0 8px; color: #fff; font-size: clamp(30px, 4vw, 48px); }
.formation-cta p { margin: 0; }

@media (max-width: 760px) {
	.formation-hero { padding: 52px 0 44px; }
	.formation-hero__grid, .formation-two-col { grid-template-columns: 1fr; gap: 28px; }
	.formation-hero__intro { font-size: 18px; }
	.formation-anchor-nav { top: 68px; }
	.formation-section { padding: 52px 0; }
	.formation-program-grid { grid-template-columns: 1fr; }
	.formation-details-list > div { grid-template-columns: 1fr; gap: 4px; }
	.formation-cta__inner { display: grid; }
}
.prevense-icon { display: inline-flex; width: 44px; height: 44px; color: var(--pv-orange); }
.prevense-icon svg { width: 100%; height: 100%; }
.prevense-icon svg path,
.prevense-icon svg circle { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.home-main { overflow: hidden; }
.home-hero { position: relative; color: #fff; background-color: var(--pv-blue); background-position: center; background-size: cover; }
.home-hero__inner { display: grid; gap: 26px; padding-block: 64px; }
.hero-eyebrow { margin: 0 0 14px; color: var(--pv-orange-dark); font-size: 12px; font-weight: 900; letter-spacing: .12em; line-height: 1.2; }
.home-hero h1 { margin: 0; color: #fff; font-size: 36px; font-weight: 900; line-height: 1.06; }
.home-hero p { max-width: 560px; margin: 18px 0 0; color: rgba(255,255,255,.9); font-size: 16px; }
.home-actions { display: grid; gap: 10px; margin-top: 24px; }
.hero-reassurance { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin: 16px 0 0 !important; color: var(--pv-muted) !important; font-size: 12px !important; font-weight: 700; }
.hero-reassurance span:first-child { color: var(--pv-orange); font-size: 16px; }
.home-hero__media,
.home-audience__media { min-height: 260px; overflow: hidden; background: var(--pv-soft); }
.home-hero__media { display: none; }
.home-hero__media img,
.home-audience__media img,
.image-fallback { width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.image-fallback { background: linear-gradient(135deg, rgba(255,121,0,0.12), rgba(4,47,73,0.18)), repeating-linear-gradient(45deg,#eef5f8 0,#eef5f8 14px,#dceaf0 14px,#dceaf0 28px); }
.course-grid { display: grid; gap: 36px; }
.course-card { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 0 14px; padding: 22px 0; border-bottom: 1px solid var(--pv-line); }
.course-card .prevense-icon { grid-row: span 3; }
.course-card h3 { margin: 0; color: var(--pv-blue); font-size: 19px; font-weight: 900; }
.course-card p { margin: 8px 0 12px; font-size: 15px; }
.text-link { display: inline-flex; align-items: center; gap: 7px; width: fit-content; color: var(--pv-blue); font-size: 14px; font-weight: 900; text-decoration: none; }
.text-link .prevense-icon { width: 18px; height: 18px; }
.home-proof { color: #fff; background: var(--pv-blue-dark); }
.home-reviews { color: var(--pv-text); background: #fff; }
.home-reviews,
.home-region,
.home-editor-content { scroll-margin-top: 96px; }
.home-reviews .section-title { margin-bottom: 28px; text-align: center; }
.home-proof .section-title,
.home-proof h3,
.home-proof p { color: #fff; }
.proof-grid { display: grid; gap: 22px; }
.proof-item { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 0 14px; }
.proof-item .prevense-icon { grid-row: span 2; }
.proof-item h3 { margin: 0; font-size: 17px; font-weight: 900; }
.proof-item p { margin: 6px 0 0; font-size: 14px; }
.home-proof .section-title { padding-top: 0; text-align: left; }
.home-proof .section-corner { left: -18px; top: 0; transform: skewY(-34deg); }
.home-audience__inner { display: grid; }
.home-audience__content { padding: 48px 16px; }
.audience-list { display: grid; margin-bottom: 22px; border-top: 1px solid var(--pv-line); }
.audience-item { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--pv-line); }
.audience-item h3 { margin: 0 0 4px; color: var(--pv-blue); font-size: 18px; font-weight: 900; }
.audience-item p { margin: 0; font-size: 14px; }
.home-region { padding-block: 44px; background: #fff;box-shadow: 0 18px 44px rgba(6, 47, 71, 0.26); }
.home-region__inner { display: grid; gap: 28px; align-items: center; }
.home-region p { max-width: 640px; margin: 0 0 20px; }
.region-map { position: relative; width: 100%; min-height: 430px; justify-self: center; border: 0; border-radius: 10px; }
.region-map::before, .region-map > span { display: none; }
.prevense-leaflet-map { width: 100%; min-height: 430px; border: 1px solid rgba(6,47,71,.12); border-radius: 10px; box-shadow: 0 18px 38px rgba(6,47,71,.12); overflow: hidden; }
.prevense-leaflet-map,
.prevense-leaflet-map.leaflet-container { background: #edf8fc; }
.prevense-leaflet-map .leaflet-control-attribution { font-size: 10px; }
.prevense-leaflet-map .leaflet-control-zoom a { color: var(--pv-blue); }
.prevense-leaflet-map {
	box-shadow: 6px 6px 10px rgba(6, 47, 71, 0.85);
	border: 5px solid white;
}
.map-fallback-message { margin: 0; padding: 150px 20px; color: var(--pv-muted); text-align: center; }
.region-map__legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; color: var(--pv-muted); font-size: 12px; }
.region-map__legend span { display: inline-flex; gap: 6px; align-items: center; }
.region-map__swatch { display: inline-block; width: 13px; height: 13px; border-radius: 3px; }
.region-map__swatch--main { background: var(--pv-orange); }
.region-map__swatch--nearby { background: #8cc5d8; border: 1px solid var(--pv-blue-soft); }
.region-map__pin { display: inline-block; width: 11px; height: 11px; background: var(--pv-orange); border: 2px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 1px 3px rgba(6,47,71,.35); transform: rotate(-45deg); }
.prevense-marker { background: transparent; border: 0; }
.prevense-marker span { display: block; width: 22px; height: 22px; background: var(--pv-orange); border: 3px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 2px 5px rgba(6,47,71,.35); transform: rotate(-45deg); }

/* Footer */
.site-footer { margin-top: 0; color: #fff; background: var(--pv-blue-dark); }
.footer-cta { background: var(--pv-orange); }
.footer-cta__inner { display: grid; gap: 22px; padding-block: 34px; }
.footer-cta__copy { min-width: 0; }
.footer-cta h2 { margin: 0; max-width: 700px; color: #fff; font-size: 30px; font-weight: 900; line-height: 1.08; }
.footer-cta p { max-width: 640px; margin: 12px 0 0; font-size: 15px; line-height: 1.45; }
.footer-main__inner { display: grid; gap: 28px; padding-block: 34px 22px; }
.footer-brand__top { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; color: #fff; text-decoration: none; }
.footer-brand .custom-logo { max-width: 52px !important; max-height: 52px !important; }
.footer-brand strong { font-size: 18px; font-weight: 900; text-transform: uppercase; }
.footer-brand p { max-width: 340px; margin: 0 0 14px; color: rgba(255,255,255,0.82); font-size: 14px; }
.footer-social { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; color: var(--pv-blue-dark); background: #fff; border-radius: 4px; }
.footer-social .prevense-icon { width: 20px; height: 20px; color: currentColor; }
.footer-links { display: grid; border-top: 1px solid rgba(255,255,255,0.16); }
.footer-group { padding: 0; border-bottom: 1px solid rgba(255,255,255,0.16); }
.footer-group summary { display: flex; min-height: 50px; align-items: center; justify-content: space-between; gap: 12px; color: #fff; font-size: 15px; font-weight: 900; cursor: pointer; list-style: none; }
.footer-group summary::-webkit-details-marker { display: none; }
.footer-group summary::after { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: rotate(45deg); transition: transform 160ms ease; }
.footer-group[open] summary::after { transform: rotate(225deg); }
.footer-menu,
.footer-contact-list { margin: 0; padding: 0 0 16px; list-style: none; }
.footer-menu li + li,
.footer-contact-list li + li { margin-top: 8px; }
.footer-group a,
.footer-contact-list li { color: rgba(255,255,255,0.78); font-size: 14px; text-decoration: none; }
.footer-group a:hover { color: #fff; }
.footer-legal { display: grid; gap: 12px; padding-block: 16px 24px; color: rgba(255,255,255,0.72); font-size: 13px; border-top: 1px solid rgba(255,255,255,0.16); }
.footer-legal p { margin: 0; }
.footer-legal nav { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.footer-legal a { color: inherit; text-decoration: none; }

@media screen and (min-width: 80rem) {
	.site-header__inner { grid-template-columns: auto minmax(0,1fr) auto; min-height: 82px; }
	.brand .custom-logo,
	.site-header .custom-logo { max-width: 168px !important; max-height: 58px !important; }
	.menu-toggle,
	.mobile-menu-head,
	.mobile-menu-actions { display: none; }
	.main-navigation { justify-self: center; }
	.main-navigation__panel,
	.main-navigation.toggled .main-navigation__panel { position: static; display: block; max-height: none; overflow: visible; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
	.primary-menu { flex-direction: row; align-items: center; gap: 4px; margin: 0; }
	.primary-menu a { min-height: 42px; padding-inline: 14px; font-size: 13px; }
	.primary-menu ul { position: absolute; display: none; min-width: 230px; margin: 0; padding: 8px; background: #fff; border: 1px solid var(--pv-line); border-radius: 8px; box-shadow: var(--pv-shadow); }
	.primary-menu li { position: relative; }
	.primary-menu li:hover > ul,
	.primary-menu li.focus > ul { display: block; }
	.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
	.header-cta { min-height: 42px; padding-inline: 18px; font-size: 13px; }
	body.nav-open { overflow: auto; }
}

@media screen and (min-width: 48rem) {
	.prevense-container,
	.wrapper { width: min(100% - 56px, var(--pv-max)); }
	.section-pad { padding-block: 78px; box-shadow: 0 18px 44px rgba(6, 47, 71, 0.26); }
	.section-title { font-size: 38px; }
	.section-title.centered { text-align: center; }
	.home-hero__inner { grid-template-columns: minmax(0,1fr); gap: 56px; align-items: center; min-height: 570px; padding-block: 64px; }
	.home-hero__content { display: flex; min-height: 570px; flex-direction: column; justify-content: center; padding-block: 64px; }
	.home-hero h1 { font-size: 54px; }
	.home-actions { display: flex; flex-wrap: wrap; }
	.home-hero__media { display: none; }
	.course-grid { grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 0; }
	.course-card { display: flex; min-height: 296px; flex-direction: column; align-items: center; padding: 26px 28px 24px; text-align: center; background: var(--pv-soft); border: 1px solid var(--pv-line); border-radius: 8px; box-shadow: 0 15px 26px rgb(0, 34, 54); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
	.course-card:hover { position: relative; z-index: 1; border-color: rgba(255,121,0,.55); box-shadow: 0 16px 30px rgba(6,47,71,.14); transform: scale(1.035); }
	.course-card:first-child { border-left: 1px solid var(--pv-line); }
	.course-card .prevense-icon { width: 54px; height: 54px; margin: 0 0 14px; }
	.course-card h3 { margin-bottom: 4px; }
	.course-card p { max-width: 290px; margin-bottom: 20px; }
	.course-card__button { margin-top: auto; }
	.proof-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin-top: 34px; }
	.proof-item { display: flex; flex-direction: column; align-items: center; text-align: center; }
	.proof-item .prevense-icon { width: 58px; height: 58px; margin-bottom: 18px; }
	.home-audience__inner { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); }
	.home-audience { padding-bottom: 44px; background: #fff; }
	.home-audience__inner { position: relative; top: -42px; z-index: 2; width: min(100% - 56px, 1200px); margin-top: 0; overflow: hidden; background: #fff; border-radius: 15px; border: 15px solid white; box-shadow: 0 15px 26px rgb(0, 34, 54); }
	.home-audience__content { grid-column: 2; grid-row: 1; width: min(100% - 56px, 520px); justify-self: start; padding: 78px 0 78px 56px; }
	.home-audience__media { grid-column: 1; grid-row: 1; }
	.home-audience__media { min-height: 620px; border-radius: 15px !important; }
	.home-region__inner { grid-template-columns: minmax(0,1fr) minmax(420px,1.1fr); }
}

@media screen and (min-width: 80rem) {
	.footer-cta__inner { grid-template-columns: minmax(0,1fr) auto; align-items: center; padding-block: 44px; }
	.footer-cta__actions { grid-template-columns: repeat(2,minmax(180px,auto)); justify-self: end; }
	.footer-main__inner { grid-template-columns: 320px minmax(0,1fr); gap: 50px; padding-block: 50px 34px; }
	.footer-links { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; border-top: 0; }
	.footer-group { border-bottom: 0; }
	.footer-group summary { min-height: auto; margin-bottom: 12px; cursor: default; pointer-events: none; }
	.footer-group summary::after { display: none; }
	.footer-menu,
	.footer-contact-list { padding-bottom: 0; }
	.footer-legal { grid-template-columns: 1fr auto; align-items: center; }
}

@media screen and (max-width: 47.9375rem) {
	.home-audience { padding-bottom: 28px; }
	.home-audience__inner { position: relative; top: -12px; width: min(100% - 32px, var(--pv-max)); margin-top: 0; border-radius: 6px; box-shadow: 0 12px 28px rgba(6,47,71,.12); }
}

@media screen and (min-width: 64rem) {

	.home-hero h1 { font-size: 62px; }
	.home-hero p { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* UX fixes: keep brand colors on visited links and keep decorative corners behind content. */
.brand,
.brand:visited,
.primary-menu a:visited,
.header-phone:visited,
.mobile-menu-actions a:visited,
.text-link:visited {
	color: inherit;
}

.prevense-button--primary:visited,
.button--primary:visited,
.wp-block-button__link:visited {
	color: #fff;
	background: var(--pv-orange);
	border-color: var(--pv-orange);
}

.prevense-button--secondary:visited,
.button--outline:visited {
	color: var(--pv-blue);
	background: #fff;
	border-color: var(--pv-blue);
}

.prevense-button--dark:visited,
.button--dark:visited {
	color: #fff;
	background: var(--pv-blue);
	border-color: var(--pv-blue);
}

.prevense-button--light:visited,
.button--ghost-light:visited,
.footer-brand__top:visited,
.footer-group a:visited,
.footer-legal a:visited {
	color: #fff;
}

.home-hero__content,
.home-proof .wrapper,
.home-region__inner > div {
	position: relative;
}

.home-hero__content > :not(.section-corner),
.home-proof .wrapper > :not(.section-corner),
.home-region__inner > div > :not(.section-corner) {
	position: relative;
	z-index: 1;
}

.section-corner {
	position: absolute;
	left: -10px;
	top: 18px;
	z-index: 0;
	width: 34px;
	height: 82px;
	margin: 0;
	pointer-events: none;
}

.home-proof .section-corner {
	left: 0;
	top: 0;
}

.home-region__inner .section-corner {
	left: -8px;
	top: 6px;
}

.floating-quote {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1100;
	display: grid;
	width: min(360px, calc(100vw - 40px));
	gap: 8px;
	padding: 22px;
	color: var(--pv-text);
	background: #fff;
	border: 1px solid var(--pv-line);
	border-top: 4px solid var(--pv-orange);
	border-radius: 10px;
	box-shadow: 0 18px 48px rgba(6, 47, 71, .22);
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 180ms ease, transform 180ms ease;
}
.floating-quote[hidden] { display: none; }
.floating-quote.is-visible { opacity: 1; transform: translateY(0); }
.floating-quote p { margin: 0; color: var(--pv-muted); font-size: 14px; }
.floating-quote .floating-quote__title { padding-right: 20px; color: var(--pv-blue); font-size: 18px; font-weight: 900; line-height: 1.2; }
.floating-quote .button { width: 100%; margin-top: 8px; }
.floating-quote__close { position: absolute; top: 8px; right: 10px; width: 30px; height: 30px; padding: 0; color: var(--pv-muted); background: transparent; border: 0; font-size: 24px; line-height: 1; cursor: pointer; }
.floating-quote__close:hover { color: var(--pv-blue); }
@media screen and (max-width: 47.9375rem) {
	.floating-quote { right: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 18px; }
}

@media screen and (max-width: 47.9375rem) {
	.home-hero__content {
		padding-top: 74px;
	}

	.home-proof .wrapper,
	.home-region__inner > div {
		padding-top: 70px;
	}

	.home-hero__content .section-corner,
	.home-proof .section-corner,
	.home-region__inner .section-corner {
		left: 0;
		top: 0;
		height: 66px;
	}
}

/* UX refinement: corner accents sit beside content instead of pushing text down. */
.section-corner {
	left: -18px;
	top: 0;
	height: 74px;
	transform: skewY(-34deg);
}

.home-proof .section-corner,
.home-region__inner .section-corner {
	left: -18px;
	top: 0;
}

@media screen and (max-width: 47.9375rem) {
	.home-hero__content,
	.home-proof .wrapper,
	.home-region__inner > div {
		padding-top: 0;
	}

	.home-hero__content .section-corner,
	.home-proof .section-corner,
	.home-region__inner .section-corner {
		left: -12px;
		top: 4px;
		height: 58px;
	}
}

@media screen and (min-width: 48rem) {
	.home-hero__content .section-corner {
		top: calc(50% - 190px);
	}
}

/* Titre centré avec son accent orange attaché à son bord gauche. */
.home-proof .section-corner { display: none; }
.home-proof .section-title { position: relative; display: table; width: auto; margin-inline: auto; padding-top: 0; text-align: center; }
.home-proof .section-title::before { position: absolute; top: 0; left: -24px; width: 34px; height: 74px; border-top: 3px solid var(--pv-orange); border-left: 3px solid var(--pv-orange); content: ""; transform: skewY(-34deg); pointer-events: none; }

/* Les états hover restent prioritaires même après visite du lien. */
.prevense-button--primary:hover,
.button--primary:hover,
.wp-block-button__link:hover,
.header-cta:hover {
	color: #fff;
	background: var(--pv-orange-dark);
	border-color: var(--pv-orange-dark);
}
.prevense-button--secondary:hover,
.button--outline:hover {
	color: #fff;
	background: var(--pv-blue);
	border-color: var(--pv-blue);
}
.primary-menu a:hover,
.primary-menu a:focus-visible {
	color: var(--pv-orange);
	background: transparent;
}
.primary-menu > li.is-active > a:hover,
.primary-menu > li.is-active > a:focus-visible { color: var(--pv-orange); background: var(--pv-soft); }

/* Pages institutionnelles */
.institutional-page { background: #fff; }
.institutional-hero { min-height: 360px; padding: 86px 24px; background: var(--pv-blue); color: #fff; text-align: center; }
.institutional-hero .wp-block-cover__inner-container { width: min(100%, 980px); margin: 0 auto; }
.institutional-hero h1 { max-width: 900px; margin: 0 auto 20px; color: #fff; font-size: clamp(38px, 6vw, 68px); line-height: 1.04; }
.institutional-hero p { max-width: 700px; margin: 0 auto 28px; color: rgba(255,255,255,.9); font-size: 19px; line-height: 1.6; }
.institutional-hero .institutional-eyebrow { margin-bottom: 14px; color: var(--pv-orange); font-size: 14px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.institutional-hero .wp-block-buttons { justify-content: center; margin-top: 28px; }
.institutional-intro { width: min(calc(100% - 48px), 920px); margin: 0 auto; padding: 0 0 22px; color: #587083; font-size: 18px; line-height: 1.75; }
.institutional-intro p { margin: 0 0 20px; }
.institutional-intro strong { color: var(--pv-blue); }
.institutional-section { width: min(calc(100% - 48px), 1120px); margin: 0 auto 28px; padding: 42px; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 8px 22px rgba(6,47,71,.06); }
.institutional-section h2 { margin: 0 0 16px; color: var(--pv-blue); font-size: clamp(26px, 4vw, 38px); }
.institutional-section p, .institutional-section li { color: #587083; font-size: 16px; line-height: 1.7; }
.institutional-section ul { margin: 0; padding-left: 22px; }
.institutional-section li::marker { color: var(--pv-orange); }
.institutional-cta { width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 42px; background: var(--pv-blue); color: #fff; text-align: center; }
.institutional-cta h2 { margin: 0 0 14px; color: #fff; }
.institutional-cta p { margin: 0 0 24px; color: rgba(255,255,255,.88); }
.institutional-cta .wp-block-buttons { justify-content: center; }
@media (max-width: 700px) { .institutional-hero { min-height: 300px; padding: 60px 18px; } .institutional-intro, .institutional-section, .institutional-cta { width: min(calc(100% - 32px), 920px); } .institutional-section, .institutional-cta { padding: 28px 22px; } }
.quality-pillars { width: min(calc(100% - 48px), 1120px); margin: 0 auto 28px; padding: 42px; background: #f7fafb; border: 1px solid var(--pv-line); }
.quality-pillars > h2, .quality-process > h2 { margin: 0 0 24px; color: var(--pv-blue); font-size: clamp(26px, 4vw, 38px); }
.quality-pillars .wp-block-columns, .quality-process .wp-block-columns { gap: 20px; margin: 0; }
.quality-pillar, .quality-process__item { padding: 26px; background: #fff; border-top: 4px solid var(--pv-orange); box-shadow: 0 8px 22px rgba(6,47,71,.06); }
.quality-pillar h3, .quality-process__item h3 { margin: 0 0 12px; color: var(--pv-blue); font-size: 22px; }
.quality-pillar p, .quality-process__item p { margin: 0; color: #587083; line-height: 1.7; }
.quality-process { width: min(calc(100% - 48px), 1120px); margin: 0 auto 28px; padding: 42px; background: #fff; border: 1px solid var(--pv-line); }
.quality-note { width: min(calc(100% - 48px), 920px); margin: 0 auto 42px; padding: 24px 28px; border-left: 5px solid var(--pv-orange); background: #fff8f1; color: #587083; line-height: 1.7; }
.quality-note p { margin: 0; }
.quality-note a, .quality-note a:visited { color: var(--pv-orange); font-weight: 700; }
.quality-note a:hover, .quality-note a:focus { color: var(--pv-blue); }
@media (max-width: 700px) { .quality-pillars, .quality-process { width: min(calc(100% - 32px), 920px); padding: 28px 22px; } .quality-pillars .wp-block-columns, .quality-process .wp-block-columns { display: block; } .quality-pillar, .quality-process__item { margin-bottom: 16px; } .quality-note { width: min(calc(100% - 32px), 920px); } }
.approach-principles { width: min(calc(100% - 48px), 1120px); margin: 0 auto 28px; padding: 42px; background: #f7fafb; border: 1px solid var(--pv-line); }
.approach-principles > h2 { margin: 0 0 24px; color: var(--pv-blue); font-size: clamp(26px, 4vw, 38px); }
.approach-principles .wp-block-columns { gap: 20px; margin: 0; }
.approach-card { padding: 26px; background: #fff; border-top: 4px solid var(--pv-orange); box-shadow: 0 8px 22px rgba(6,47,71,.06); }
.approach-card h3 { margin: 0 0 12px; color: var(--pv-blue); font-size: 22px; }
.approach-card p { margin: 0; color: #587083; line-height: 1.7; }
.approach-method ol { margin: 0; padding-left: 24px; color: #587083; }
.approach-method li { margin-bottom: 14px; padding-left: 8px; line-height: 1.7; }
.approach-method li::marker { color: var(--pv-orange); font-weight: 800; }
.approach-adaptation { width: min(calc(100% - 48px), 1120px); margin: 0 auto 28px; padding: 42px; background: #f7fafb; border-left: 5px solid var(--pv-orange); }
.approach-adaptation .wp-block-columns { gap: 40px; margin: 0; }
.approach-adaptation h2 { margin: 0 0 16px; color: var(--pv-blue); font-size: clamp(26px, 4vw, 38px); }
.approach-adaptation h3 { margin: 0 0 12px; color: var(--pv-blue); font-size: 20px; }
.approach-adaptation p, .approach-adaptation li { color: #587083; line-height: 1.7; }
.approach-adaptation__list ul { margin: 0; padding-left: 22px; }
.approach-adaptation__list li::marker { color: var(--pv-orange); }
.approach-note { width: min(calc(100% - 48px), 920px); margin: 0 auto 42px; padding: 26px 30px; background: #fff8f1; color: var(--pv-blue); text-align: center; font-size: 20px; font-weight: 700; line-height: 1.6; }
.approach-note p { margin: 0; }
@media (max-width: 700px) { .approach-principles, .approach-adaptation { width: min(calc(100% - 32px), 920px); padding: 28px 22px; } .approach-principles .wp-block-columns, .approach-adaptation .wp-block-columns { display: block; } .approach-card { margin-bottom: 16px; } .approach-note { width: min(calc(100% - 32px), 920px); } }
.about-hero { display: flex; align-items: center; }
.about-hero__content { width: min(100%, 720px); }
.about-hero h1 { max-width: 720px; margin: 0 0 22px; color: #fff; font-size: clamp(40px, 6vw, 70px); line-height: 1.05; }
.about-hero p:not(.institutional-eyebrow) { max-width: 610px; margin: 0; color: rgba(255,255,255,.92); font-size: 20px; line-height: 1.6; }
.about-intro { width: min(calc(100% - 48px), 1120px); margin: 0 auto; padding: 78px 0 54px; }
.about-intro .wp-block-columns { gap: 70px; margin: 0; }
.about-intro__lead h2, .about-mission h2, .about-territory h2 { margin: 0; color: var(--pv-blue); font-size: clamp(28px, 4vw, 44px); line-height: 1.15; }
.about-intro p, .about-territory p { color: #587083; font-size: 18px; line-height: 1.75; }
.about-mission { width: min(calc(100% - 48px), 1120px); margin: 0 auto 60px; padding: 52px 64px; background: var(--pv-blue); color: #fff; }
.about-mission h2 { color: #fff; margin-bottom: 18px; }
.about-mission p { max-width: 850px; margin: 0 0 20px; color: rgba(255,255,255,.92); font-size: 20px; line-height: 1.65; }
.about-mission__line { width: 90px; margin: 26px 0; border: 0; border-top: 4px solid var(--pv-orange); }
.about-values { width: min(calc(100% - 48px), 1120px); margin: 0 auto 60px; }
.about-values > h2 { margin: 0 0 26px; color: var(--pv-blue); font-size: clamp(28px, 4vw, 42px); }
.about-values .wp-block-columns { gap: 18px; margin: 0; }
.about-value { min-height: 230px; padding: 28px; background: #f7fafb; border: 1px solid var(--pv-line); }
.about-value__number { margin: 0 0 18px !important; color: var(--pv-orange) !important; font-size: 18px !important; font-weight: 800; letter-spacing: .12em; }
.about-value h3 { margin: 0 0 12px; color: var(--pv-blue); font-size: 24px; }
.about-value p:last-child { margin: 0; color: #587083; line-height: 1.7; }
.about-territory { width: min(calc(100% - 48px), 1120px); margin: 0 auto 60px; padding: 48px; border-top: 1px solid var(--pv-line); border-bottom: 1px solid var(--pv-line); }
.about-territory .wp-block-columns { align-items: center; gap: 60px; margin: 0; }
.about-territory__quote { padding: 30px; background: #fff8f1; border-left: 5px solid var(--pv-orange); }
.about-territory__quote p { margin: 0; color: var(--pv-blue); font-size: 24px; font-weight: 700; line-height: 1.45; }
@media (max-width: 700px) { .about-hero { min-height: 390px !important; padding: 62px 22px !important; } .about-intro, .about-values, .about-territory { width: min(calc(100% - 32px), 920px); } .about-intro { padding: 54px 0 34px; } .about-intro .wp-block-columns, .about-values .wp-block-columns, .about-territory .wp-block-columns { display: block; } .about-mission { width: min(calc(100% - 32px), 920px); padding: 34px 24px; } .about-value { min-height: 0; margin-bottom: 14px; } .about-territory { padding: 34px 22px; } .about-territory__quote { margin-top: 24px; } }
.home-why { width: min(calc(100% - 48px), 1120px); margin: 0 auto 60px; padding: 48px 0; }
.home-why > h2 { margin: 0 0 12px; color: var(--pv-blue); font-size: clamp(28px, 4vw, 42px); }
.home-why > p { margin: 0 0 26px; color: #587083; font-size: 18px; line-height: 1.7; }
.home-why .wp-block-columns { gap: 16px; margin: 0; }
.home-why__item { padding: 24px; background: #fff; border-top: 4px solid var(--pv-orange); box-shadow: 0 8px 22px rgba(6,47,71,.08); }
.home-why__item h3 { margin: 0 0 10px; color: var(--pv-blue); font-size: 20px; }
.home-why__item p { margin: 0; color: #587083; line-height: 1.65; }
.about-founder { width: min(calc(100% - 48px), 1120px); margin: 0 auto 60px; padding: 42px; background: #f7fafb; border-left: 5px solid var(--pv-orange); }
.about-founder .wp-block-columns { align-items: center; gap: 52px; margin: 0; }
.about-founder-image img { width: 100%; max-height: 420px; object-fit: cover; }
.about-founder h2 { margin: 0 0 18px; color: var(--pv-blue); font-size: clamp(28px, 4vw, 42px); line-height: 1.15; }
.about-founder p { color: #587083; font-size: 18px; line-height: 1.75; }
.quality-badge { width: min(calc(100% - 48px), 920px); margin: 0 auto 42px; padding: 30px; border: 2px dashed var(--pv-orange); background: #fffaf5; text-align: center; }
.quality-badge h3 { margin: 0 0 8px; color: var(--pv-blue); font-size: 24px; }
.quality-badge p { margin: 0; color: #587083; }
@media (max-width: 700px) { .home-why, .about-founder, .quality-badge { width: min(calc(100% - 32px), 920px); } .home-why .wp-block-columns, .about-founder .wp-block-columns { display: block; } .home-why__item { margin-bottom: 14px; } .about-founder { padding: 28px 22px; } .about-founder-image { margin-bottom: 24px; } }
.blog-hero { padding: 86px 24px 82px; background-image: linear-gradient(110deg, var(--pv-blue), #174761); background-position: center; background-size: cover; background-repeat: no-repeat; color: #fff; }
.blog-hero__inner { max-width: 980px; margin: 0 auto; text-align: center; }
.blog-hero__eyebrow { margin: 0 0 14px; color: var(--pv-orange); font-size: 14px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.blog-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(40px, 6vw, 68px); line-height: 1.05; }
.blog-hero p:last-child { max-width: 720px; margin: 0 auto; color: rgba(255,255,255,.9); font-size: 20px; line-height: 1.6; }
.blog-list { background: #f7fafb; }
.blog-list__header { width: min(100%, 780px); margin: 0 auto 38px; text-align: center; }
.blog-list__header h2 { margin: 0 0 12px; color: var(--pv-blue); font-size: clamp(28px, 4vw, 42px); }
.blog-list__header p { margin: 0; color: #587083; font-size: 18px; line-height: 1.7; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.blog-card { overflow: hidden; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 10px 24px rgba(6,47,71,.08); }
.blog-card__image { display: block; height: 210px; background: var(--pv-blue); }
.blog-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.blog-card__image-fallback { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #0a3e5a, #1f6177); }
.blog-card__body { display: flex; min-height: 285px; flex-direction: column; padding: 24px; }
.blog-card__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: #587083; font-size: 13px; }
.blog-card__meta span { color: var(--pv-orange); font-weight: 800; text-transform: uppercase; }
.blog-card__meta time::before { content: '·'; margin-right: 12px; }
.blog-card h3 { margin: 0 0 12px; font-size: 23px; line-height: 1.2; }
.blog-card h3 a { color: var(--pv-blue); text-decoration: none; }
.blog-card h3 a:hover, .blog-card h3 a:focus { color: var(--pv-orange); }
.blog-card__body > p { margin: 0; color: #587083; line-height: 1.65; }
.blog-card__link { margin-top: auto; padding-top: 22px; color: var(--pv-orange); font-weight: 800; text-decoration: none; }
.blog-card__link:hover, .blog-card__link:focus { color: var(--pv-blue); }
.blog-pagination { margin-top: 42px; text-align: center; }
.blog-pagination .nav-links { display: flex; justify-content: center; gap: 10px; }
.blog-pagination a, .blog-pagination span { padding: 10px 14px; color: var(--pv-blue); border: 1px solid var(--pv-line); background: #fff; text-decoration: none; }
.blog-pagination .current, .blog-pagination a:hover, .blog-pagination a:focus { color: #fff; background: var(--pv-orange); border-color: var(--pv-orange); }
.blog-empty { max-width: 700px; margin: 0 auto; padding: 48px; background: #fff; text-align: center; box-shadow: 0 10px 24px rgba(6,47,71,.08); }
.blog-empty h2 { margin: 0 0 12px; color: var(--pv-blue); }
.blog-empty p { margin: 0 0 24px; color: #587083; }
@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .blog-hero { padding: 62px 20px; } .blog-grid { grid-template-columns: 1fr; } .blog-card__image { height: 190px; } .blog-list__header { text-align: left; } .blog-empty { padding: 32px 22px; } }
.article-hero { padding: 48px 24px 72px; background: linear-gradient(110deg, var(--pv-blue), #174761); color: #fff; }
.article-hero__inner { max-width: 980px; margin: 0 auto; }
.article-back { display: inline-block; margin-bottom: 34px; color: var(--pv-blue) !important; background-color: #fff !important; font-weight: 700; text-decoration: none; }
.article-back:hover, .article-back:focus { color: var(--pv-orange) !important; }
.article-hero__inner > .article-back { display: none; }
.article-title-row { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.article-back--title { flex: 0 0 auto; margin: 0; padding: 12px 18px; border: 1px solid rgba(255,255,255,.72); border-radius: 5px; color: #fff; font-size: 15px; white-space: nowrap; }
.article-back--title:hover, .article-back--title:focus { background: var(--pv-orange); color: #fff; border-color: var(--pv-orange); }
.article-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; color: rgba(255,255,255,.78); font-size: 14px; }
.article-meta span { color: var(--pv-orange); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-meta .article-author { color: rgba(255,255,255,.92); letter-spacing: 0; text-transform: none; font-weight: 600; }
.article-meta time::before { content: '·'; margin-right: 12px; }
.article-hero h1 { max-width: 900px; margin: 0 0 18px; color: #fff; font-size: clamp(38px, 6vw, 68px); line-height: 1.05; }
.article-lead { max-width: 760px; margin: 0; color: rgba(255,255,255,.9); font-size: 20px; line-height: 1.6; }
.article-featured { max-width: 1120px; margin: -36px auto 0; position: relative; }
.article-featured img { display: block; width: 100%; max-height: 560px; object-fit: cover; box-shadow: 0 2px 74px rgba(242, 245, 246, 0.5); border-radius: 15px 15px 0 0; }
.article-layout { padding-top: 64px; padding-bottom: 54px; }
.article-content { max-width: 780px; margin: 0 auto; color: #587083; font-size: 18px; line-height: 1.8; }
.article-content > *:first-child { margin-top: 0; }
.article-content h2, .article-content h3, .article-content h4 { margin-top: 38px; margin-bottom: 14px; color: var(--pv-blue); line-height: 1.2; }
.article-content h2 { font-size: 34px; }
.article-content h3 { font-size: 26px; }
.article-content a, .article-content a:visited { color: var(--pv-orange); font-weight: 700; }
.article-content a:hover, .article-content a:focus { color: var(--pv-blue); }
.article-content img { height: auto; }
.article-content blockquote { margin: 32px 0; padding: 22px 28px; border-left: 5px solid var(--pv-orange); background: #fff8f1; color: var(--pv-blue); font-size: 21px; font-weight: 700; }
.article-navigation { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; max-width: 1120px; padding-top: 24px; padding-bottom: 60px; border-top: 1px solid var(--pv-line); }
.article-navigation a { color: var(--pv-blue); font-weight: 700; text-decoration: none; }
.article-navigation a:hover, .article-navigation a:focus { color: var(--pv-orange); }
.article-navigation__all { padding: 10px 16px; border: 1px solid var(--pv-blue); }
.article-navigation__next { text-align: right; }
@media (max-width: 700px) { .article-hero { padding: 38px 20px 58px; } .article-featured { width: calc(100% - 32px); } .article-layout { padding-top: 48px; } .article-content { font-size: 17px; } .article-navigation { width: calc(100% - 32px); grid-template-columns: 1fr; gap: 14px; text-align: center; } .article-navigation__next { text-align: center; } .article-title-row { display: block; } .article-back--title { display: inline-block; margin-top: 14px; } }
.photos-hero { display: flex; align-items: center; justify-content: center; }
.photos-hero__inner { width: min(100%, 900px); text-align: center; }
.photos-hero h1 { margin: 0 0 16px; color: #fff; font-size: clamp(40px, 6vw, 68px); line-height: 1.05; }
.photos-hero p:last-child { margin: 0; color: rgba(255,255,255,.9); font-size: 20px; line-height: 1.6; }
.photos-intro { width: min(calc(100% - 48px), 900px); margin: 0 auto; padding: 58px 0 30px; color: #587083; font-size: 18px; line-height: 1.75; text-align: center; }
.photo-gallery-section { width: min(calc(100% - 48px), 1120px); margin: 0 auto 34px; padding: 34px 38px 38px; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 8px 22px rgba(6,47,71,.06); }
.photo-gallery-section h2 { margin: 0 0 8px; color: var(--pv-blue); font-size: clamp(26px, 4vw, 36px); }
.photo-gallery-help { margin: 0 0 22px; color: #587083; }
.photo-gallery { min-height: 120px; margin: 0 !important; padding: 24px; border: 2px dashed var(--pv-orange); background: #fffaf5; }
.photo-gallery:empty::before { content: 'Ajoutez vos photos depuis le bouton + de la galerie'; display: block; color: #587083; font-weight: 700; text-align: center; }
@media (max-width: 700px) { .photos-intro, .photo-gallery-section { width: min(calc(100% - 32px), 920px); } .photo-gallery-section { padding: 28px 22px; } .photo-gallery { padding: 18px; } }
.photo-lightbox[hidden] { display: none !important; }
.photo-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 54px 80px 32px; background: rgba(8, 14, 19, .94); }
.photo-lightbox__figure { display: flex; max-width: 92vw; max-height: 88vh; flex-direction: column; align-items: center; margin: 0; }
.photo-lightbox__figure img { display: block; max-width: 92vw; max-height: 82vh; width: auto; height: auto; object-fit: contain; }
.photo-lightbox__figure figcaption { min-height: 22px; padding-top: 10px; color: #fff; font-size: 14px; }
.photo-lightbox button { position: absolute; display: flex !important; align-items: center !important; justify-content: center !important; width: 46px; height: 46px; padding: 0 !important; border: 2px solid #fff; border-radius: 50%; color: #fff; background: rgba(6,47,71,.9); font-family: Arial, sans-serif; font-size: 34px; line-height: 1 !important; text-align: center !important; cursor: pointer; }
.photo-lightbox button:hover, .photo-lightbox button:focus { color: var(--pv-blue); background: var(--pv-orange); border-color: var(--pv-orange); }
.photo-lightbox__close { top: 18px; right: 22px; font-size: 30px !important; }
.photo-lightbox__prev { top: 50%; left: 22px; transform: translateY(-50%); }
.photo-lightbox__next { top: 50%; right: 22px; transform: translateY(-50%); }
.photo-lightbox__close { font-size: 0 !important; }
.photo-lightbox__close::before, .photo-lightbox__close::after { content: ''; position: absolute; width: 22px; height: 2px; background: currentColor; }
.photo-lightbox__close::before { transform: rotate(45deg); }
.photo-lightbox__close::after { transform: rotate(-45deg); }
.photo-lightbox__prev, .photo-lightbox__next { font-size: 0 !important; }
.photo-lightbox__prev::before, .photo-lightbox__next::before { content: ''; width: 12px; height: 12px; border-top: 3px solid currentColor; border-right: 3px solid currentColor; }
.photo-lightbox__prev::before { transform: rotate(-135deg); margin-left: 5px; }
.photo-lightbox__next::before { transform: rotate(45deg); margin-right: 5px; }
body.photo-lightbox-open { overflow: hidden; }
@media (max-width: 700px) { .photo-lightbox { padding: 58px 54px 28px; } .photo-lightbox__figure img { max-width: 88vw; max-height: 78vh; } .photo-lightbox button { width: 40px; height: 40px; } .photo-lightbox__close { top: 12px; right: 12px; } .photo-lightbox__prev { left: 8px; } .photo-lightbox__next { right: 8px; } }
.photos-list { background: #f7fafb; }
.photos-list__header { margin: 0 auto 28px; text-align: center; }
.photos-list__header h2 { margin: 0 0 10px; color: var(--pv-blue); font-size: clamp(28px, 4vw, 42px); }
.photos-list__header p { margin: 0; color: #587083; font-size: 18px; }
.photo-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; align-items: end; gap: 16px; margin: 0 auto 34px; padding: 20px; background: #fff; border: 1px solid var(--pv-line); }
.photo-filters label { display: flex; min-width: 0; flex-direction: column; gap: 7px; color: var(--pv-blue); font-size: 13px; font-weight: 800; }
.photo-filters select { min-height: 44px; padding: 9px 12px; border: 1px solid var(--pv-line); color: var(--pv-blue); background: #fff; font: inherit; }
.photo-filters button { min-height: 44px; border: 0; }
.photo-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.photo-gallery-card { overflow: hidden; background: #fff; border: 1px solid var(--pv-line); box-shadow: 0 10px 24px rgba(6,47,71,.08); }
.photo-gallery-card__header { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 22px 24px 16px; }
.photo-gallery-card__header h2 { margin: 0; color: var(--pv-blue); font-size: 24px; }
.photo-gallery-card__header span { color: var(--pv-orange); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.photo-gallery--managed { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 !important; padding: 0 24px 24px; }
.photo-gallery--managed .wp-block-image { overflow: hidden; margin: 0 !important; aspect-ratio: 1.35; }
.photo-gallery--managed .wp-block-image:first-child { grid-column: span 2; aspect-ratio: 2.2; }
.photo-gallery--managed .wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.photo-gallery--managed .wp-block-image a { display: block; width: 100%; height: 100%; }
.photo-gallery--managed .wp-block-image a:hover img, .photo-gallery--managed .wp-block-image a:focus img { transform: scale(1.04); }
.photo-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 38px; }
.photo-pagination a, .photo-pagination span { padding: 10px 14px; border: 1px solid var(--pv-line); color: var(--pv-blue); background: #fff; text-decoration: none; }
.photo-pagination .current, .photo-pagination a:hover, .photo-pagination a:focus { color: #fff; border-color: var(--pv-orange); background: var(--pv-orange); }
.photos-empty { padding: 44px; background: #fff; text-align: center; }
.photos-empty h2 { margin: 0 0 10px; color: var(--pv-blue); }
.photos-empty p { margin: 0; color: #587083; }
@media (max-width: 700px) { .photo-gallery-grid { grid-template-columns: 1fr; } .photo-gallery-card__header { display: block; } .photo-gallery-card__header span { display: block; margin-top: 7px; } .photo-filters { display: flex; align-items: stretch; flex-direction: column; } .photo-filters label { min-width: 0; } .photo-filters button { width: 100%; } }
.photo-filters input { min-height: 44px; padding: 9px 12px; border: 1px solid var(--pv-line); color: var(--pv-blue); background: #fff; font: inherit; }
@media (max-width: 700px) {
	.photo-filters label { width: 100%; max-width: 100%; }
	.photo-filters input,
	.photo-filters select { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; }
}
.photo-items-grid { column-count: 4; column-gap: 20px; }
.photo-item { break-inside: avoid; overflow: hidden; margin: 0 0 20px; background: #fff; border: 0; box-shadow: 0 8px 20px rgba(6,47,71,.08); }
.photo-items-grid .photo-gallery { min-height: 0; padding: 0; border: 0; background: transparent; }
.photo-item__image { overflow: hidden; }
.photo-item__image .wp-block-image { margin: 0 !important; }
.photo-item__image .wp-block-image a { display: block; }
.photo-item__image .wp-block-image img { display: block; width: 100%; height: auto; transition: transform .25s ease; }
.photo-item__image .wp-block-image a:hover img, .photo-item__image .wp-block-image a:focus img { transform: scale(1.04); }
.photo-item__caption { padding: 15px 16px 18px; }
.photo-item__caption h2 { margin: 0 0 6px; color: var(--pv-blue); font-size: 17px; line-height: 1.25; }
.photo-item__caption p { margin: 0; color: #587083; font-size: 14px; line-height: 1.45; }
@media (max-width: 900px) { .photo-items-grid { column-count: 3; } }
@media (max-width: 620px) { .photo-items-grid { column-count: 2; column-gap: 12px; } .photo-item { margin-bottom: 12px; } .photo-item__caption { padding: 12px; } .photo-item__caption h2 { font-size: 15px; } }

/* Correction du bouton secondaire de la page 404 après les règles globales de visite. */
.prevense-404__actions .prevense-button--light,
.prevense-404__actions .prevense-button--light:visited { color: var(--pv-blue) !important; background: #fff; border-color: var(--pv-blue); }
.prevense-404__actions .prevense-button--light:hover,
.prevense-404__actions .prevense-button--light:focus-visible { color: #fff !important; background: var(--pv-blue); border-color: var(--pv-blue); }
.prevense-photo-section-editor {
	border: 2px dashed var(--pv-orange, #ff7900);
	padding: 28px;
}
.prevense-photo-section-editor__label {
	color: var(--pv-blue, #063047);
	font-weight: 700;
	letter-spacing: .04em;
	margin-bottom: 18px;
}
.prevense-photo-section-editor__add {
	background: var(--pv-orange, #ff7900);
	border: 0;
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	margin-top: 20px;
	padding: 12px 18px;
}

.formation-cards-grid.formation-cards-grid--columns-1 {
	grid-template-columns: minmax(0, 1fr);
}
.formation-cards-grid.formation-cards-grid--columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.formation-cards-grid.formation-cards-grid--columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.formation-cards-grid.formation-cards-grid--columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.formation-cards-grid.formation-cards-grid--count-1 {
	grid-template-columns: minmax(0, 1fr);
}
.formation-cards-grid.formation-cards-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.formation-cards-grid.formation-cards-grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 900px) {
	.formation-cards-grid.formation-cards-grid--count-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Échelle typographique responsive commune. */
:root {
	--pv-type-small: clamp(.75rem, .72rem + .15vw, .875rem);
	--pv-type-body: clamp(1rem, .96rem + .18vw, 1.125rem);
	--pv-type-lead: clamp(1.0625rem, 1rem + .45vw, 1.25rem);
	--pv-type-heading: clamp(1.5rem, 1.2rem + 1.3vw, 2.375rem);
	--pv-type-page-title: clamp(2rem, 1.35rem + 3vw, 4rem);
}

body { font-size: var(--pv-type-body); }
.section-title,
.institutional-section h2,
.quality-pillars > h2,
.quality-process > h2,
.approach-principles > h2,
.approach-adaptation h2,
.about-intro__lead h2,
.about-mission h2,
.about-territory h2,
.about-values > h2,
.home-why > h2,
.about-founder h2,
.blog-list__header h2,
.article-content h2,
.photos-list__header h2,
.photo-gallery-section h2,
.formation-editor-programme h2,
.formation-editor-modalities h2,
.formation-editor-tools h2,
.formation-editor-faq h2 { font-size: var(--pv-type-heading); }

.institutional-hero h1,
.about-hero h1,
.blog-hero h1,
.article-hero h1,
.photos-hero h1,
.formation-editor-hero h1,
.formation-editor-hero h2 { font-size: var(--pv-type-page-title); }

.institutional-hero p,
.contact-hero p:last-child,
.blog-hero p:last-child,
.article-lead,
.photos-hero p:last-child,
.about-hero p:not(.institutional-eyebrow),
.about-mission p,
.about-intro p,
.about-territory p,
.about-founder p,
.home-why > p,
.photos-intro,
.article-content { font-size: var(--pv-type-lead); }

.formation-request__choice legend,
.formation-request__form label,
.formation-request__field-error,
.formation-request__legal,
.formation-request__choice label,
.formation-request__choice .formation-request__choice-text,
.formation-request__consent,
.formation-request__consent > span,
.formation-request__form input,
.formation-request__form textarea,
.formation-editor-breadcrumb,
.formation-editor-price p,
.formation-editor-price-sidebar p,
.formation-editor-financing,
.formation-editor-fact p,
.formation-editor-sidebar-card,
.formation-editor-other-link a,
.formation-editor-dynamic-link a,
.formation-editor-faq summary,
.formation-editor-faq .wp-block-details > p,
.formation-editor-modalities-table td:nth-child(odd),
.formation-editor-price-line small,
.formation-editor-sidebar-card h3,
.photo-filters label,
.photo-gallery-card__header span,
.blog-card__meta,
.article-meta,
.formation-editor-anchor-nav a { font-size: var(--pv-type-small) !important; }

.formation-editor-sidebar-card h3,
.formation-editor-fact p,
.formation-editor-financing,
.formation-editor-price-line small { font-size: clamp(.75rem, .72rem + .1vw, .8125rem) !important; }

.formation-request__form label,
.formation-request__form input,
.formation-request__form textarea,
.formation-request__choice label,
.formation-request__choice .formation-request__choice-text,
.formation-request__consent,
.formation-request__consent > span,
.formation-editor-faq summary { font-size: clamp(.875rem, .84rem + .15vw, 1rem) !important; }
.formation-request__consent a { min-width: 0; overflow-wrap: anywhere; }
.formation-request__consent { align-items: flex-start !important; }
.formation-request__consent input { top: auto; margin-top: .3em; }
.formation-request__consent-text { flex: 1 1 auto; min-width: 0; }

.formation-editor-faq summary,
.formation-editor-faq .wp-block-details > p,
.formation-request__form label { line-height: 1.5; }

@media (max-width: 47.9375rem) and (orientation: landscape) {
	.home-hero h1 { font-size: clamp(2rem, 5vw, 2.75rem); }
	.blog-hero h1,
	.article-hero h1,
	.photos-hero h1,
	.about-hero h1,
	.institutional-hero h1 { font-size: clamp(2rem, 4.6vw, 2.75rem); }
	.blog-hero,
	.article-hero,
	.contact-hero { padding-block: clamp(2.25rem, 8vh, 3.5rem); }
}
