/*!
Theme Name: Apollo blocks light 2026
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: apollo-blocks-light-2026
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Apollo blocks light 2026 is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: Space Grotesk, Inter, ui-sans-serif, system-ui, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	/* color: #800080; */
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: unset;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}


/* PALETTE DE COULEURS GLOBALE */




:root {
	--blueapollo1: #020D23;
	--blueapollo2: #1E2A54;
	--blueapollo3: #366DBF;
	--redapollod: #B5030F;
	--redapollol: #F40616;
	--lightforeground: #fafafa;
	--lightforeground20: #fafafa20;
	--lightforeground10: #fafafa10;
	--lightgrey: #DEE0E3;
	--lightborder14: rgb(255 255 255 / 14%);

	--lightblueapollo3: rgb(54 109 191 / 10%);
	--lightredapollol: rgb(244 6 22 / 10%);
	--softlightblue: #1f2c3f;
	--softlightblueaccentuation: #3b4a63;
	--gradient-glow: linear-gradient(95deg, hsl(356deg 95% 49% / 23%), hsl(216deg 56% 48% / 12%));
	--apolloradius: 0.75rem;

}

@media (prefers-color-scheme: light) {
	:root {
		--blueapollo1: #fafafa;
		--blueapollo2: #DEE0E3;
		--blueapollo3: #366DBF;
		--redapollod: #B5030F;
		--redapollol: #B5030F;
		--lightforeground: #020D23;
		--lightforeground20: #020d2317;
		--lightforeground10: #020d2305;
		--lightgrey: #020D23;
		--lightborder14: rgb(2 13 35 / 14%);
		--lightblueapollo3: rgb(54 109 191 / 10%);
		--lightredapollol: rgb(244 6 22 / 10%);
		--softlightblue: #f1f1f1;
		--softlightblueaccentuation: #3b4a631f;
		--gradient-glow: linear-gradient(95deg, hsl(356deg 95% 49% / 7%), hsl(216deg 56% 48% / 4%));
	}
}

/* Typos globales */

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-300.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-700.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-regular.woff2') format('woff2');
	font-weight: regular;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
	font-family: 'Space Grotesk';
	src: url('fonts/space-grotesk-v22-latin-regular.woff2') format('woff2');
	font-weight: regular;
	font-style: normal;
	font-display: swap;
	/* Important pour l'affichage immédiat du texte */
}

@font-face {
    font-family: 'Devicon';
    src: url('fonts/devicon.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap; /* Crucial pour le LCP */
}

html {
	scroll-behavior: smooth;
}

.text-sm {
	font-size: .875rem;
	line-height: 1.25rem;
}

.text-xs {
	font-size: .75rem;
	line-height: 1rem;
}

.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.text-4xl {
	font-size: 2.25rem;
	line-height: 2.5rem;
}

.text-2xl {
	font-size: 1.5rem;
	line-height: 2rem;
}

.text-xl {
	font-size: 1.25rem;
	line-height: 1.75rem;
}

.container {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding: 0.7rem 1rem;
}

.page,
.post {
	margin: 0;
}

header.entry-header {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}


a.btn.btn-primary:hover,
a.btn.btn-primary:focus,
a.btn.btn-primary:active {
	filter: brightness(0.8);
	color: white;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
	color: var(--redapollol);
	filter: brightness(0.8);
}


.btn-primary {
	background: var(--redapollod);
	color: white;
}

a.btn,
.btn {
	text-decoration: none;
	padding: 12px 20px;
	font-weight: 500;
	letter-spacing: -4%;
}

.btn-secondary {
	color: var(--redapollol);
	border: solid 1px;
}

a.btn,
.btn {
	text-decoration: none;
	padding: 12px 20px;
	font-weight: 500;
	letter-spacing: -4%;
	display: flex;
	align-items: center;
	gap: 8px;
	border-radius: var(--apolloradius);
	transition: transform 200ms cubic-bezier(.4, 0, .25, 1) 0ms, opacity 0.3s cubic-bezier(.4, 0, .25, 1) 0ms, filter 0.3s cubic-bezier(.4, 0, .25, 1) 0ms;
}


.entry-content {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--softlightblue);
}

/* Header */

.main_header {
	border-bottom: solid 2px var(--lightforeground20);
}

header.site-header {
	background-color: var(--blueapollo1);
}

.subheader {
	background-color: var(--lightforeground10);
	color: var(--lightgrey);
	font-size: 15px;
	font-weight: 300;
}

.subheader>.container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.subheader a {
	color: var(--lightgrey);
	text-decoration: none;
}

.subheader_left {
	display: flex;
	gap: 25px;
}

.subheader_left>* {
	display: flex;
	gap: 8px;
	align-items: center;
}

.social_subheader {
	display: flex;
	gap: 25px;
	align-items: center;
}

.subheader_right {
	display: flex;
	gap: 25px;
}

a.cta_subheader {
	background-color: var(--lightforeground20);
	padding: 8px 22px;
	font-weight: 400;
	letter-spacing: -4%;
	border-radius: var(--apolloradius);
}

.main_header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.4rem 1rem;
}

.main_header .logo {
	max-width: 183px;
}

.main_header_left {
	display: flex;
	align-items: center;
	gap: 50px;
}

ul.menu.mainheader_menu {
	list-style: none;
	margin: unset;
	padding: unset;
	display: flex;
	gap: 25px;
	font-size: 14px;
}

.menu-item a {
	text-decoration: none;
	color: var(--lightforeground);
}

.menu-item a {
	text-decoration: none;
	color: var(--lightforeground);
	display: flex;
	align-items: center;
	gap: 6px;
}

a.btn-header {
	text-decoration: none;
	color: white;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: var(--redapollod);
	padding: 10px 24px;
	font-size: 15px;
	letter-spacing: -0.04em;
	font-weight: 500;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	border-radius: var(--apolloradius);
}

a.btn-header i {
	transition: transform 0.3s ease;
}

a.btn-header:hover {
	background-color: #d12a2a;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

a.btn-header:hover i {
	transform: translate(2px, -2px) scale(1.1);
}

a.btn-header:active {
	transform: translateY(0);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.chevron_main_header {
	font-size: 11px;
}

/* Footer */

.form_newsletter_wrapper input {
	background: var(--lightforeground) !important;
	color: var(--blueapollo1) !important;
	border-radius: 0px !important;
}

.form_newsletter_wrapper ::placeholder,
.form_newsletter_wrapper ::-webkit-input-placeholder,
body .form_newsletter_wrapper input[placeholder] {
	color: var(--blueapollo1) !important;
	opacity: 0.8;
	border-radius: 0px !important;
}


.certifications_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.certification_item img {
	max-width: 30px;
	max-height: 30px;
	object-fit: contain;
}

.certification_item {
	display: flex;
	gap: 5px;
	align-items: center;
}

.certification_item p {
	margin: 0;
}

.link_ressource {
	display: flex;
	gap: 8px;
}

ul.footer-col-4 {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.sub_footer_right ul.subfooter-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.sub_footer_right a {
	text-decoration: none;
	color: var(--lightgrey);
}


.form_newsletter_wrapper input#gform_submit_button_5 {
	background: var(--redapollod) !important;
	color: white !important;
	border-radius: var(--apolloradius) !important;
}

.header_container {
	background-color: var(--lightforeground10);
}

.subheader_container {
	background-color: var(--blueapollo1);
}

.site-info {
	background-color: var(--blueapollo1);
	color: var(--lightgrey);
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	display: flex;
	justify-content: space-between;
}

.sub_footer_left {
	display: flex;
	gap: 1rem;
}

.madeinfrance {
	font-weight: 700;
	border: solid 1px;
	border-radius: 100px;
	padding: 0.1rem 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--redapollol);
}

.main_footer {
	color: var(--lightforeground);
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 3rem;
	font-weight: 300;
}

footer#colophon {
	background-color: var(--blueapollo1);
}

.footer_col1 {
	grid-column: span 2 / span 2;
	display: flex;
	flex-direction: column;
}

footer .logo {
	max-width: 183px;
}

.mini_manifesto p strong {
	color: var(--redapollol);
	font-weight: 600;
}

.footer-stats {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5rem;
}

.stat-item {
	border: solid 1px;
	border-color: #ffffff14;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	justify-content: center;
}

.stat-item p {
	margin: unset;
	line-height: 1.25rem;
	font-size: 0.875rem;
}

span.number {
	font-size: 24px;
	font-weight: 800;
	color: var(--redapollol);
}

footer ul {
	list-style: none;
	margin: unset;
	padding: unset;
}

.footer_menu a {
	text-decoration: none;
	color: var(--lightgrey);
}

.h3_footer i,
.h3_box_contact i {
	color: var(--redapollol);
	font-size: 21px;
}

h3.h3_footer {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 500;
}

footer .social_subheader i {
	font-size: 20px;
	color: var(--lightgrey);
	border: solid 1px;
	padding: 0.5rem;
	display: flex;
	border-color: #ffffff14;
}

.social_subheader a {
	text-decoration: none;
}

.contact_express {
	border: solid 1px;
	padding: 1rem;
	border-color: var(--lightborder14);
	font-size: 12px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 2rem;
	border-radius: var(--apolloradius);
}

h3.h3_box_contact {
	margin: 0px 0px 0px 0px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact_express>div {
	display: flex;
	gap: 10px;
}

.form_footer i {
	color: var(--redapollol);
}

.form_footer {
	font-size: 18px;
	font-weight: 500;
}

footer p {
	color: var(--lightgrey);
}

footer .social_subheader {
	gap: 15px;
}

.certifications_footer h3 {
	font-size: 14px;
	font-weight: 400;
	margin-top: 40px;
}

.social_footer h3 {
	font-size: 18px;
	font-weight: 500;
}

/* Mega menu */

/* mobile media queries */
@media (max-width: 1024px) {


	button.close-drawer {
		background: var(--lightforeground10);
		border: solid 1px var(--lightforeground20);
		border-radius: var(--apolloradius);
	}

	.mega-menu {
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateX(0%) !important;
		width: 100% !important;
	}

	.testimonials-block .testimonials-grid {
		grid-template-columns: 1fr !important;
	}

	.frise-item_inner,
	.chaine_valeur_cas_client .frise-item_inner {
		clip-path: unset !important;
	}

	.frise-items,
	.chaine_valeur_cas_client .frise-items {
		gap: 1rem;
	}

	small.link-description {
		display: none;
	}

	ul.menu.mainheader_menu {
		gap: 10px;
	}

	.offres-grid-inner {
		grid-template-columns: 1fr !important;
	}

	.feature_image_content {
		flex-direction: column !important;
	}

	.hero-features {
		flex-direction: column !important;
	}

	.frise-heading p {
		font-size: 3rem !important;
	}

	.grid_bullet_points_dsi {
		grid-template-columns: 1fr !important;
	}

	.feature_image_content>div {
		width: 100% !important;
	}

	a.frise-item,
	.chaine_valeur_cas_client .frise-item {
		clip-path: unset !important;
	}

	.chaine_valeur_cas_client .frise-item {
		padding: 3px !important;
		border-radius: var(--apolloradius) !important;
	}

	.chaine_valeur_cas_client .frise-item_inner {
		border-radius: var(--apolloradius) !important;
	}

	.container_tags_job_wide {
		grid-template-columns: 1fr 1fr !important;
	}

	.pres_presta_column_image {
		display: none !important;
	}

	.pres_presta_wrapper>div {
		width: 100% !important;
		position: relative;
	}

	.pres_presta_wrapper {
		padding: 40px 0px !important;
	}

	#gf-modal-content {
		max-height: 92vh !important;
	}

	li.auto-eval-item-wrapper a {
		width: 100% !important;
	}

	li.auto-eval-item-wrapper {
		flex-wrap: wrap !important;
	}

	.hero-featured-img {
		display: none !important;
	}

	.landing_content {
		display: flex !important;
		flex-direction: column !important;
	}

	.container_cartes_features {
		grid-template-columns: 1fr !important;
	}

	.salary-ratings-detail {
		grid-template-columns: 1fr !important;
	}

	.container_infos_entreprise.text-sm {
		grid-template-columns: 1fr !important;
	}

	a.frise-item:not(:first-child) {
		margin-left: unset !important;
	}

	.overlay_hero {
		background: linear-gradient(to left, transparent -221%, var(--blueapollo1) 90%) !important;
	}

	.hero-content h1 {
		font-size: 3rem !important;
		line-height: 3rem !important;
	}

	.content_archive_emploi_double_sidebar {
		display: flex !important;
		flex-direction: column !important;
	}

	.sidebar_testimonials {
		order: 2 !important;
	}

	.offre-emploi-top {
		padding: 1rem !important;
	}


	.text-sm {
		font-size: .875rem;
		line-height: 1.25rem;
	}

	.text-xs {
		font-size: .75rem;
		line-height: 1rem;
	}

	.text-lg {
		font-size: 1.125rem;
		line-height: 1.75rem;
	}

	.text-4xl {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}

	.text-2xl {
		font-size: 1.5rem;
		line-height: 2rem;
	}

	.text-xl {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}

	.main_footer {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}

	.nous-sommes-apollo-main-container {
		display: flex !important;
		flex-direction: column !important;
	}

	.les-recompenses {
		grid-template-columns: 1fr !important;
	}

	header.features-header {
		flex-direction: column !important;
	}

	.card-offre-emploi {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.offre-emploi-content {
		display: flex !important;
		flex-direction: column !important;
	}


	.tile_full_width,
	.tile-horizontal,
	.tile-vertical {
		height: unset !important;
	}

	.footer-stats {
		grid-template-columns: 1fr;
	}

	.stat-item {
		align-items: flex-start;
		padding: 0px;
	}

	.footer_col1 {
		grid-column: unset;
	}

	ul.menu.mainheader_menu {
		flex-direction: column;
	}

	.title_offre_container {
		flex-direction: column !important;
	}

	.card-offre-emploi-right {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
	}

	.certifications_list {
		grid-template-columns: 1fr;
	}

	.site-info {
		flex-wrap: wrap;
		gap: 1rem;
	}



	.desktop-only,
	.subheader {
		display: none !important;
	}

	.menu-toggle {
		display: block !important;
		background: none;
		border: none;
		font-size: 2rem;
	}

	/* Le tiroir mobile */
	.mobile-drawer {
		position: fixed;
		top: 0;
		right: -100%;
		/* Caché à droite */
		width: 80%;
		height: 100%;
		background: #fff;
		z-index: 9999;
		transition: 0.3s ease;
		box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
		overflow-y: auto;
		padding: 20px;
	}

	.mobile-drawer.is-open {
		right: 0;
	}

	/* Adaptation du Méga Menu en liste simple sur mobile */
	.mobile-drawer .mega-menu {
		display: none;
		/* On cache les colonnes par défaut */
		position: static;
		box-shadow: none;
		padding-left: 15px;
	}

	.mobile-drawer .menu-item.active .mega-menu {
		display: block;
		/* On les affiche au clic sur le parent */
	}

	.mobile-drawer .mega-column {
		width: 100% !important;
		margin-bottom: 20px;
	}

	/* On cache les images complexes sur mobile pour gagner de la place */
	.featured-column {
		display: none;
	}

	.landing_content {
		grid-template-columns: 1fr !important;
	}

	.autoeval-grid {
		grid-template-columns: 1fr !important;
	}

	.diag-features-list {
		grid-template-columns: 1fr !important;
	}

	.cas-clients-header {
		grid-template-columns: 1fr !important;
	}

	.filter-dropdown {
		flex: unset !important;
	}

	form.filter-form {
		flex-wrap: wrap;
	}

	.archive-grid-section .cas-clients-grid {
		grid-template-columns: 1fr !important;
	}

	.grid-header-hero {
		grid-template-columns: 1fr !important;
	}

	.content_cas_client_content {
		grid-template-columns: 1fr !important;
	}

	.content_formulaire_generique {
		grid-template-columns: 1fr !important;
	}

	.content_archive_emploi_double_sidebar {
		grid-template-columns: 1fr !important;
	}

	.testimonials_with_sidebar {
		grid-template-columns: 1fr !important;
	}

	.offre-emploi-content {
		grid-template-columns: 1fr !important;
	}


	.featured-card {
		grid-template-columns: 1fr !important;
	}
}

.main_header_right {
	display: flex;
}

.mega-menu {
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.mega-column.has-auto-eval {
	grid-column: span 3;
}

li.auto-eval-item-wrapper a {
	width: 50%;
}

li.auto-eval-item-wrapper {
	display: flex;
	gap: 1rem;
}

a.auto-eval-link {
	border: solid 1px var(--lightredapollol);
	padding: 0.5rem;
}

li.auto-eval-item-wrapper:hover {
	background: unset !important;
}

.mega-column ul>li>a.auto-eval-link {
	display: flex;
	justify-content: flex-start;
	flex-direction: row !important;
	gap: 10px;
	align-items: center;
	border-radius: var(--apolloradius);
	background: var(--gradient-glow);
}

span.auto-eval-text {
	display: flex;
	flex-direction: column;
}

.featured-job-item {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	border: solid 1px var(--lightforeground20);
}

.flex_offre_a_la_une_megamenu {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media screen and (min-width: 1024px) and (max-width: 1280px) {

	nav.main-nav.desktop-only>ul.menu.mainheader_menu {
		font-size: 0.8rem;
		gap: 0.8rem;
	}

	.main_header_left {
		gap: 30px;
	}

	a.btn-header.open-gf-modal.desktop-only {
		font-size: 0.8rem;
		line-height: 1rem;
		padding: 10px 12px;
	}

	.menu-item a {
		gap: 4px;
	}

}


/* --- Desktop vs Mobile --- */
.desktop-only {
	display: block;
}

.menu-toggle {
	display: none;
}

/* Caché par défaut */
@media (min-width: 1023px) {

	#mobile-menu {
		display: none;
	}
}




li.menu-item {
	position: static;
}

.menu-item:hover .mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	background-color: var(--blueapollo1);
	top: 119px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: var(--apolloradius);
}

.mega-menu {
	position: absolute;
	z-index: 10;
	top: 100%;
	left: 0;
	width: 1000px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all .2s ease;
	padding: 1.5rem;
	border: solid 1px;
	border-color: var(--lightforeground20);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	min-height: 24rem;
	top: 125px;
	left: 50%;
	transform: translateX(-50%);
}

.mega-menu ul {
	list-style: unset;
	margin: unset;
	padding: unset;
}

.mega-menu h3 {
	color: var(--redapollol);
	margin-top: 0;
}

.mega-column ul>li>a {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.global-rating-value-group {
	display: flex;
	gap: .5rem;
}

span.rating-value {
	color: var(--redapollol);
	font-weight: 900;
}

.global-rating p {
	margin: 0;
}

.mega-reviews-container {
	color: var(--lightgrey);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.mini-review-item {
	border: solid 1px var(--lightforeground20);
	padding: 1rem;
	border-radius: var(--apolloradius);
}

.mini-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.review-stars.text-xs {
	color: #ffc107;
}

.mega-column>ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.mega-column>ul>li {
	padding: 5px;
	transition: 0.2s;
	border-radius: var(--apolloradius);
}

.mega-column>ul>li:hover {
	background: var(--lightforeground10);
}

small.link-description {
	font-weight: 200;
	color: var(--lightgrey);
}

.featured-column h3 {
	color: var(--lightforeground);
}

span.featured-tag {
	color: var(--redapollol);
	border: solid 1px;
	padding: 0px 4px;
	display: flex;
	gap: 4px;
}

.featured-job-item:hover,
.featured-case-study:hover {
	background: var(--lightforeground10);
}

.featured-job-item,
.featured-case-study {
	transition: 0.2s;
	border-radius: var(--apolloradius);
}

.featured-case-study {
	border: solid 1px var(--lightforeground20);
}

a.job-link {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1rem;
}

img.featured-img {
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mega-column.featured-column {
	position: relative;
	border: solid 1px;
	border-color: var(--lightforeground20);
	border-radius: var(--apolloradius);
}

a.main-link.menu-link-with-icon:hover {
	background-color: var(--lightforeground10);
}

a.main-link.menu-link-with-icon {
	padding: 5px;
	transition: 0.2s;
	border-radius: var(--apolloradius);
}



.featured_info {
	position: absolute;
	bottom: 0;
	padding: 0px 20px 20px 20px;
}

.gradient_featured {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent 0%, var(--blueapollo1) 70%);
}

p.featured-desc {
	color: var(--lightgrey);
	font-weight: 200;
}

.mainheader_menu>li>a {
	padding: 17px 0px;
}

.link-icon {
	display: flex;
	align-items: center;
	color: var(--redapollol);
	margin-bottom: 3px;
}

span.link-label {
	display: flex;
	align-items: center;
	gap: 7px;
}

a.featured-cta {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	display: flex;
	border-radius: var(--apolloradius);
}

a.featured-cta:hover>img {
	transform: scale(1.1);
}

a.featured-cta>img {
	transition: transform 400ms cubic-bezier(.4, 0, .25, 1) 0ms, opacity 1s cubic-bezier(.4, 0, .25, 1) 0ms, filter 1s cubic-bezier(.4, 0, .25, 1) 0ms;
}

a.case-study-link {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1rem;
}


/* block hero */


.hero-img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.hero-img>img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: top;
	content-visibility: auto;
}

.hero-block {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	background: var(--blueapollo1);
}

.hero-content {
	z-index: 2;
	position: relative;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.overlay_hero {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to left, transparent 20%, var(--blueapollo1) 60%);
	z-index: 1;
}


.container.container_hero {
	width: 100%;
}

.hero-content h1 {
	color: var(--lightgrey);
	font-size: 100px;
	line-height: 90px;
	max-width: 12ch;
	letter-spacing: -4%;
	margin: 0;
	font-weight: 600;
}

p.soustitre_hero {
	color: var(--lightgrey);
	font-size: 24px;
	line-height: 30px;
	max-width: 35ch;
	font-weight: 600;
	margin: 0;
}


.hero-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 40px;
}


.svgicon svg {
	inline-size: 20px;
	block-size: 20px;
}

.svgicon {
	display: flex;
}


/* Bloc frise */

.frise-heading p {
	font-size: 54px;
	letter-spacing: -4%;
	font-weight: 600;
	line-height: 54px;
	color: var(--lightforeground);
	margin: 0;
}

a.frise-item_inner {
	text-decoration: none;
	color: unset;
}

.frise-block {
	background: var(--blueapollo1);
}

.title_element_frise {
	display: flex;
	align-items: center;
	gap: 10px;
}

a.frise-item {
	max-width: 22rem;
	display: flex;
	text-decoration: none;
	background: var(--softlightblueaccentuation);
	padding: 1px;
	clip-path: polygon(0% 0%,
			80% 0%,
			100% 50%,
			80% 100%,
			0% 100%,
			20% 50%);
	color: var(--lightforeground);
	transition: transform 200ms cubic-bezier(.4, 0, .25, 1) 0ms, opacity 1s cubic-bezier(.4, 0, .25, 1) 0ms, filter 1s cubic-bezier(.4, 0, .25, 1) 0ms;
}


.frise-item_inner {
	background: var(--softlightblue);
	padding: 30px 20px 30px 80px;
	clip-path: polygon(0% 0%,
			80% 0%,
			100% 50%,
			80% 100%,
			0% 100%,
			20% 50%);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.frise_action {
	display: flex;
}


.item-icon {
	display: flex;
	color: var(--blueapollo3);
	background: var(--lightblueapollo3);
	padding: 8px;
}

.item-icon svg {
	inline-size: 23px;
	block-size: 23px;
}

p.item-subtitle {
	color: var(--lightgrey);
}

.frise-items {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

p.item-title {
	font-size: 34px;
	line-height: 34px;
	margin: 0;
	font-weight: 500;
}

p.item-subtitle {
	color: var(--lightgrey);
	font-weight: 300;
	line-height: normal;
	margin: 0;
}

a.frise-item:not(:first-child) {
	margin-left: -60px;
}

.frise_content {
	display: flex;
	gap: 40px;
	flex-direction: column;
	padding: 80px 0px;
}

.frise-heading strong {
	color: var(--redapollol);
}

a.frise-item:hover {
	transform: scale(1.03);
	opacity: 0.9;
}

/* Bloc grille logos tech */


header.logo-tech-header {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.logo-tech-block {
	background: var(--blueapollo1);
}

.subtitle_home {
	color: var(--lightgrey);
	font-size: 27px;
	line-height: 34px;
	letter-spacing: -4%;
	max-width: 920px;
	font-weight: 600;
}

.subtitle_home p {
	margin: 0;
}

.logo-tech-grid {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 93ch;
}

.logo-item {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--lightforeground10);
	aspect-ratio: 1;
	border: solid 1px var(--lightborder14);
	padding: 20px;
	width: 120px;
	filter: brightness(0) invert(1);
	border-radius: var(--apolloradius);
}

@media (prefers-color-scheme: light) {
	.logo-item {
		filter: brightness(0) saturate(100%) invert(5%) sepia(76%) saturate(1401%) hue-rotate(200deg) brightness(102%) contrast(104%);
	}
}


.logos_tech_content {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 80px 0px;
}

img.svg-logo {
	aspect-ratio: 1;
}

/* Bloc cards features */

.features-block {
	background-color: var(--blueapollo1);
}

.feature-card {
	max-width: 300px;
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightborder14);
	padding: 1rem;
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 300px));
	gap: 1rem;
}

.feature-icon {
	display: flex;
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 8px;
	border-radius: var(--apolloradius);
}

.feature-icon svg {
	inline-size: 40px;
	block-size: 40px;
}

span.feature-subtitle {
	font-size: 1.15rem;
	line-height: 1.15rem;
	color: var(--lightgrey);
}

.feature-detail {
	font-size: 0.8rem;
	font-weight: 300;
	line-height: 27px;
}

.separator_cart_detail {
	height: 1px;
	width: 100%;
	background: var(--lightforeground20);
}

p.feature-title {
	margin: 0;
	font-weight: 500;
}

.feature-content {
	gap: 20px;
	display: flex;
	flex-direction: column;
}

.feature-detail p {
	margin: 0;
}

.content_features {
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding: 80px 0px;
}

header.features-header {
	display: flex;
	flex-direction: row;
	gap: 10px;
	align-items: center;
}

a.feature-card {
	text-decoration: none;
	transition: transform 200ms cubic-bezier(.4, 0, .25, 1) 0ms, opacity 1s cubic-bezier(.4, 0, .25, 1) 0ms, filter 1s cubic-bezier(.4, 0, .25, 1) 0ms;
	border-radius: var(--apolloradius);
}

a.feature-card:hover {
	text-decoration: none;
	transform: scale(1.05);
}

a.feature-card:hover,
a.feature-card:focus,
a.feature-card:active {
	color: var(--lightforeground);
}

/* bloc logos clients */

.logos-clients-block {
	background-color: var(--lightforeground);
}

.logos-clients-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px;
}

.logo-client-item {
	aspect-ratio: 1;
	width: 105px;
	height: 105px;
	display: flex;
	filter: brightness(0) invert(0);
}

@media (prefers-color-scheme: light) {
	.logo-client-item {
		filter: brightness(0) invert(1);
	}
}

.content_logo_clients {
	padding: 80px 0px;
}

/* BLoc CTA Apollo */

.main-cta-block {
	background-color: var(--blueapollo1);
}

.cta-buttons {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 2rem;
}

.separator_dot {
	width: 4px;
	height: 4px;
	border-radius: 100px;
	background: var(--redapollol);
}

.cta-mentions {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--lightgrey);
}

.cta-header {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.content_cta {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 80px 0px;
}

span.mention-item {
	font-weight: 300;
}


/* Block testimonials */


.testimonials-block .testimonials-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.testimonials-block {
	background-color: var(--blueapollo1);
}

.testimonials-content {
	padding: 80px 0px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.testimonials-header {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.reassurance-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

span.reassurance-number {
	font-size: 54px;
	letter-spacing: -4%;
	font-weight: 600;
	line-height: 54px;
	color: var(--redapollol);
	margin: 0;
}

span.reassurance-label {
	font-size: 20px;
	color: var(--lightgrey);
	line-height: 26px;
}

.reassurance-grid {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

.testimonial-card {
	max-width: 100%;
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightborder14);
	padding: 1.5rem;
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	border-radius: var(--apolloradius);
}

.star-rating {
	position: relative;
	display: inline-block;
	font-size: 15px;
	line-height: 1;
	color: #e0e0e0;
}

.star-foreground {
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
	overflow: hidden;
	color: #ffc107;
	/* Couleur des étoiles pleines (or) */
}

.testimonials-grid {
	display: flex;
	gap: 1rem;
	flex-direction: column;
}

.testimonial-title {
	display: flex;
	flex-direction: column;
}

.testimonial-top {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

p.testimonial_entreprise {
	margin: 0;
	font-weight: 500;
}

.testimonial-text {
	color: var(--lightgrey);
	margin: 0px;
}

.testimonial-meta {
	display: flex;
	align-items: center;
	gap: 10px;
}

.author-info {
	display: flex;
	flex-direction: column;
}

.testimonial-card .separator_cart_detail {
	margin-top: auto;
}

.testimonial-meta i {
	font-size: 30px;
	color: var(--blueapollo3);
	opacity: 0.4;
}

.testimonials-footer {
	display: flex;
}

.testimonial-content {
	position: relative;
	margin-top: 20px;
	width: 100%;
}

.testimonial-content .bi-quote {
	opacity: 0.1;
	position: absolute;
	top: -49px;
	left: -11px;
	font-size: 62px;
}

span.author-role {
	font-weight: 200;
}

/* Bloc Cas clients */

a.btn.btn-cas-client:hover {
	opacity: 0.8;
}

.detail-item a {
	color: var(--lightgrey);
}

.cas-clients-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.cas-clients-block .reassurance-item {
	align-items: center;
}

.cas-clients-footer {
	display: flex;
}


.cas-clients-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.tech-item i {
	display: block;
	font-size: 33px;
	border: solid 1px var(--lightforeground20);
	padding: 6px;
	aspect-ratio: 1;
	border-radius: var(--apolloradius);
	font-family: 'Devicon';
}

.stack-tech {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.btn-cas-client {
	border: solid 1px var(--lightforeground20);
	display: flex;
	justify-content: center;
	padding: 8px;
	background: var(--lightforeground10);
	gap: 10px;
	width: 100%;
	margin-top: auto;
}

.stack-tech span {
	border: solid 1px var(--lightforeground20);
	padding: 4px 7px;
	border-radius: var(--apolloradius);
}

.cas-client-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 5px;
}

.cas-client-title img.svg-logo {
	filter: brightness(0) invert(1);
	width: 55px;
	max-height: 55px;
	border: solid 1px var(--lightforeground10);
	padding: 10px;
	background-color: var(--lightforeground20);
	border-radius: var(--apolloradius);
	object-fit: contain;
}

@media (prefers-color-scheme: light) {
	.cas-client-title img.svg-logo {
		filter: brightness(0) saturate(100%) invert(5%) sepia(29%) saturate(4511%) hue-rotate(204deg) brightness(97%) contrast(101%);
	}
}

.card_cas_client_top {
	position: relative;
	border-top-left-radius: var(--apolloradius);
	border-top-right-radius: var(--apolloradius);
	overflow: hidden;
}

.pres_presta_wrapper .card_cas_client_top {
	border-bottom-left-radius: var(--apolloradius);
	border-bottom-right-radius: var(--apolloradius);
}

.card_cas_client_top .img-cover {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}


.overlay_img_cas_client {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent -70%, var(--blueapollo1) 90%);
	top: 0;
	left: 0;
	z-index: 1;
}

.card_cas_client_bottom {
	max-width: 100%;
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightborder14);
	padding: 1.5rem;
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	border-top: none;
	padding-top: 0.8rem;
	flex: 1;
	border-bottom-left-radius: var(--apolloradius);
	border-bottom-right-radius: var(--apolloradius);
}

.card_cas_client_top {
	position: relative;
	color: var(--lightforeground);
	border: solid 1px var(--lightborder14);
}

.card_cas_client_top_content {
	z-index: 2;
	position: relative;
	padding: 1.5rem;
	padding-bottom: 0.8rem;
	min-height: 180px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.cas-clients-block {
	background-color: var(--blueapollo1);
}


.cas_client_content {
	padding: 80px 0px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.cas-details span {
	display: flex;
	gap: 6px;
}

.cas-details {
	display: flex;
	gap: 20px;
	margin-top: 10px;
}

.cas-details i {
	color: var(--blueapollo3);
}

p.cas-desc {
	margin: 0;
}

.cas-client-left {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.cas-client-title p {
	margin: 0;
	font-weight: 600;
}

.cas-desc_longue {
	margin: 0;
}



article.cas-client-card {
	flex: 1;
	display: flex;
	flex-direction: column;
}


span.cta-svg {
	display: flex;
}

/* bloc ressources experts */

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

span.link-title {
    font-weight: 600;
}

.featured-description p {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ressources-experts-block {
	background-color: var(--blueapollo1);
}

.ressources_expertes_content {
	display: flex;
	padding: 80px 0px;
	flex-direction: column;
	gap: 50px;
}

.ressources-links-grid {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

a.ressource-link-card {
	transition: 0.2s ease;
	color: var(--lightforeground);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: var(--lightforeground10);
	padding: 1rem;
	gap: 20px;
	max-width: 200px;
	border: solid 1px var(--lightforeground20);
	border-radius: var(--apolloradius);
}

.ressource-link-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ressource-icon {
	filter: brightness(0) invert(1);
}


img.svg-icon.ressource-icon {
	width: 75px;
	height: 75px;
	object-fit: contain;
	background-color: var(--lightforeground20);
	padding: 20px;
	filter: brightness(0) invert(1);
	border-radius: var(--apolloradius);
}

@media (prefers-color-scheme: light) {
	img.svg-icon.ressource-icon {
		filter: brightness(0) saturate(100%) invert(5%) sepia(93%) saturate(1418%) hue-rotate(205deg) brightness(92%) contrast(103%);
	}
}


.featured-card {
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightforeground20);
	padding: 1rem;
	max-width: 750px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	border-radius: var(--apolloradius);
}

header.ressources-header {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.featured-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--apolloradius);
}

.featured-image {
	position: relative;
	overflow: hidden;
	min-height: 200px;
}

.chaine_valeur_cas_client .frise-item:not(:first-child) {
	margin-left: 0 !important;
}

span.post-type {
	color: var(--lightgrey);
	border: solid 1px var(--lightforeground20);
	padding: 4px;
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1;
	background: var(--lightforeground20);
	display: flex;
	align-items: center;
	gap: 0.5rem;
	backdrop-filter: blur(5px) brightness(0.8);
	border-radius: var(--apolloradius);
}

@media (prefers-color-scheme: light) {
	span.post-type {
		backdrop-filter: blur(5px) brightness(1);
		background: hsl(0deg 0% 100% / 70%);
	}
}

.post-type>i.bi {
	font-size: 2.5ch;
	color: var(--redapollol);
}


.featured-body {
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
}

.featured-title {
	margin: 0 0 10px 0;
	font-weight: 600;
}



.featured-description {
	margin: 1rem 0px;
	color: var(--lightgrey);
}



a.btn.btn-cas-client {
	color: var(--lightgrey);
}

.ressource-featured-section {
	display: block;
	margin-top: 40px;
}

span.link-sub {
	color: var(--lightgrey);
}

a.ressource-link-card:hover {
	opacity: 0.9;
	transform: scale(1.03);
}

.chaine_valeur_cas_client .frise-item {
	width: 18rem;
	padding: 5px 7px 5px 11px;
	display: flex;
	text-decoration: none;
	background: #3b4a63;
	clip-path: polygon(0% 0%, 80% 0%, 100% 50%, 80% 100%, 0% 100%, 20% 50%);
	color: var(--lightforeground);
	transition: transform 200ms cubic-bezier(.4, 0, .25, 1) 0ms, opacity 1s cubic-bezier(.4, 0, .25, 1) 0ms, filter 1s cubic-bezier(.4, 0, .25, 1) 0ms;
}

.chaine_valeur_cas_client .frise-item_inner {
	background: var(--softlightblue);
	padding: 50px 20px 50px 80px;
	clip-path: polygon(0% 0%,
			80% 0%,
			100% 50%,
			80% 100%,
			0% 100%,
			20% 50%);
	display: flex;
	flex-direction: column;
	gap: 6px;
}


.chaine_valeur_cas_client .frise-item.is-active {
	background-color: var(--redapollol) !important;
}

.chaine_valeur_cas_client .frise-item_inner {
	width: 100%;
}

.chaine_valeur_cas_client .frise-item:not(:first-child) {
	margin-left: -50px;
}

.frise-design.is-inactive {
	opacity: 0.3;
}

.frise-design.is-inactive .item-icon {
	color: var(--lightforeground20);
	background: var(--lightforeground10);
}

.frise-item.is-active .item-icon {
	color: var(--redapollol);
	background: var(--lightredapollol);
}

/* ARCHIVE CAS CLIENTS */

.archive-grid-section .cas-clients-grid {
	display: grid;
	flex-wrap: wrap;
	gap: 1rem;
	grid-template-columns: 1fr 1fr 1fr;
}

.container_hero_archive {
	background: var(--gradient-glow);
	padding: 4rem 2rem;
	border-radius: 2rem;
}

section.header_archive {
	background: var(--blueapollo1);
}




.filters_archive {
	background: var(--blueapollo1);
}

.filters_archive_wrapper {
	padding: 1rem;
	background: var(--lightforeground10);
	border: solid 1px var(--lightforeground20);
	border-radius: var(--apolloradius);
}

.filter-dropdown {
	flex: 1 1 0;
	min-width: 0;
	padding: 8px;
	height: 40px;
	color: var(--lightgrey);
	background: var(--lightforeground10);
	border: solid 1px var(--lightforeground20);
	border-radius: var(--apolloradius);
}

form.filter-form {
	width: 100%;
	display: flex;
	gap: 10px;
	align-items: center;
}

/* SINGLE CAS CLIENT */

.back-to-archive {
	margin-bottom: 2rem;
}

.grid-header-hero h1 {
	margin-top: 0;
}

section.header_cas_client {
	background: var(--blueapollo1);
	color: var(--lightforeground);
}

.header_cas_client_content {
	padding: 80px 0px;
}

.grid-header-hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 2rem;
	background: var(--gradient-glow);
	padding: 2rem;
	border-radius: 2rem;
}

a.btn-back {
	text-decoration: none;
	color: var(--lightgrey);
}

section.content_cas_client {
	background-color: var(--blueapollo1);
	color: var(--lightforeground);
}

.content_cas_client_content {
	padding: 80px 0px;
}

.box_light_container {
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightforeground20);
	padding: 1rem;
	border-radius: var(--apolloradius);
}

.content_cas_client_content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.stack-technique-list .tech-icons {
	display: flex;
	gap: 1rem;
}

.stack-technique-list .tech-item i {
	font-size: 60px;
	padding: 1rem;
	background-color: var(--lightforeground10);
	border-radius: var(--apolloradius);
}

.stack-technique-list .tech-icons {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.stack-technique-list .tech-item {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.container_sous_elements_lightbox {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.detail-item {
	border: solid 1px var(--lightforeground20);
	padding: 1rem;
	background-color: var(--lightforeground10);
	border-radius: var(--apolloradius);
}

.title_tuile {
	margin-bottom: 1rem;
	display: block;
}

.title_tuile_cas_client.title_tuile {
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 500;
}

.title_tuile i {
	color: var(--redapollol);
	font-size: 24px;
}

.small_titre_detail i {
	color: var(--redapollol);
}

.small_titre_detail {
	font-weight: 200;
}

span.tag-item,
.tag-item {
	border: 1px solid var(--lightforeground20);
	padding: 2px 5px;
	text-decoration: none;
	color: var(--lightgrey);
	border-radius: var(--apolloradius);
}

.tag-item:hover {
	color: var(--lightgrey);
}

.featured-image-single-hero img {
	aspect-ratio: 16/9;
	object-fit: cover;
	border: solid 2px var(--lightforeground20);
	border-radius: var(--apolloradius);
}

/* Archive avis clients */


section.section_logos_clients {
	background: var(--lightforeground);
}

.testimonials_with_sidebar .testimonials-grid {
	grid-template-columns: 1fr;
}

.testimonials_with_sidebar {
	grid-template-columns: 2fr 1fr;
	display: grid;
	gap: 1rem;
	padding: 80px 0px;
}

.sidebar_content_testimonials {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: calc(var(--header-offset, 100px) + 2rem);
	/* Offset + petite marge de sécurité */
	transition: 0.3s ease-in-out;
}

.bullet-list,
.certif-list,
.links-list {
	display: flex;
	flex-direction: column;
	margin-top: 1rem;
	gap: 10px;
}


.links-list {
	display: flex;
	flex-direction: column;
}

.sidebar_testimonials h3 {
	color: var(--lightforeground);
	font-weight: 500;
	margin: 0;
}

.sidebar_testimonials p.subtitle {
	margin: 0;
	color: var(--lightgrey);
}

.sidebar_testimonials {
	position: relative;
}

.bullet_point_sidebar_element {
	display: flex;
	gap: 6px;
	color: var(--lightgrey);
}


.bullet-list i {
	color: var(--blueapollo3);
	font-size: 16px;
}

.certif-list i {
	color: var(--redapollol);
	font-size: 17px;
}

.links-list a {
	display: flex;
	gap: 1rem;
	text-decoration: none;
	color: var(--lightgrey);
	align-items: center;
}

.contact-info {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
}

.contact-info .btn {
	justify-content: center;
}

span.badge-tag.text-xs {
	color: var(--lightgrey);
	border: solid 1px var(--lightforeground20);
	padding: 1px 5px;
	background: var(--lightforeground10);
	border-radius: var(--apolloradius);
}

.testimonial-tags {
	margin-top: 1rem;
}

.testimonial_meta_container {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

a.author-linkedin {
	text-decoration: none;
	display: flex;
	gap: 8px;
	align-items: center;
	background: var(--lightforeground20);
	padding: 4px 8px;
	border: solid 1px var(--lightforeground20);
	color: var(--lightforeground);
	border-radius: var(--apolloradius);
}

.mention_form_sidebar {
	text-align: center;
	color: var(--lightgrey);
	margin-top: 1rem;
}

.header_archive .reassurance-grid {
	margin-top: 2rem;
}

.content_logo_clients.frise_archive {
	padding: 10px 0px;
}

.sidebar_content_testimonials .feature-icon i {
	font-size: 32px;
}

.sidebar_content_testimonials .feature-icon {
	display: flex;
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 8px;
	aspect-ratio: 1;
	max-width: 70px;
	align-items: center;
	justify-content: center;
	margin: auto;
	margin-bottom: 0.5rem;
}


.main_head_sidebar {
	text-align: center;
}

p.subtitle.text-sm.main_head_sidebar {
	margin-bottom: 1.5rem;
}

.offre-icon {
	filter: brightness(0) invert(1);
	width: 26px;
}

/* Template solution DSI */

.bullet_point_content {
	padding: 80px 0px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.solution-icon-main svg {
	width: 13px;
}

.solution-icon-main {
	color: var(--redapollol);
	border: solid 1px;
	display: flex;
	width: fit-content;
	padding: 3px 6px;
	gap: 6px;
	margin-bottom: 1rem;
}

section.section_bullet_point_DSI {
	background: var(--blueapollo1);
	color: var(--lightforeground);
}

.bullet_point_content {
	padding: 80px 0px;
}

.grid_bullet_points_dsi {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.description-dsi strong {
	color: var(--redapollol);
}

ul.bullet_points_list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 1rem;
}

.bullet_points_list svg {
	color: var(--redapollol);
	vertical-align: text-top;
	margin-right: 3px;
}

.content_section_cas_clients_solutions {
	padding: 80px 0px;
}

.title_bullet_main>svg {
	width: 24px;
	height: 24px;
	vertical-align: sub;
	color: var(--redapollol);
}

section.section_cas_clients {
	background-color: var(--blueapollo1);
}

.content_section_cas_clients_solutions {
	padding: 80px 0px;
	display: flex;
	gap: 40px;
	flex-direction: column;
}

/* Auto-eval */

section.section_autoeval_global {
	background-color: var(--blueapollo1);
}

.content_autoeval_global {
	padding: 80px 0px;
}

.autoeval-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}

.autoeval-info {
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.diag-feature-item {
	gap: 10px;
	display: flex;
	align-items: center;
}

.diag-features-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.custom-bullet-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 1rem;
}


.autoeval-image-wrapper {
	position: relative;
	height: 100%;
	border-radius: var(--apolloradius);
	overflow: hidden;
}

.autoeval-visual {
	height: 100%;
	position: relative;
}

.autoeval-image-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.image-overlay-content {
	z-index: 1;
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	color: var(--lightforeground);
}

.feat-icon svg {
	color: var(--redapollol);
}

.diag-bullets i {
	color: var(--redapollol);
}

.overlay_card {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, transparent 30%, var(--blueapollo1) 80%);
	top: 0;
	left: 0;
	z-index: 1;
}

.image-overlay-content p {
	margin: 0;
}

.autoeval-action {
	display: flex;
}

.diag-bullets h3 {
	margin: 0;
}

h3.diag-title {
	margin: 0px;
}

.content_autoeval_global {
	padding: 80px 0px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

header.autoeval-header {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

span.custom-bullet-item {
	display: flex;
	align-items: center;
	gap: 9px;
}


/* Podcast */

section.podcast_main {
	background: var(--blueapollo1);
}

.podcast_content_main {
	padding: 1rem 0px;
}

.podcast_main {
	color: var(--lightforeground);
}

.title_ressource_container {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.title_ressource_container i {
	font-size: 58px;
	color: var(--redapollol);
}

.podcast_desc {
	color: var(--lightgrey);
}


.podcast_description {
	max-width: 900px;
}

.nav-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    color: var(--lightforeground);
}

/* Limite à 6 lignes avec un fondu ou une coupure propre */
.js-description-container.is-collapsed {
	display: -webkit-box;
	-webkit-line-clamp: 5;
	/* Nombre de lignes souhaitées */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Optionnel : style du bouton */
.btn-show-more:hover {
	text-decoration: underline;
}

button#toggle-desc {
	color: var(--blueapollo3) !important;
}

.back_to_archive a {
	text-decoration: none;
	color: var(--lightgrey);
}


.ressource_related {
	background-color: var(--blueapollo1);
}


/* Archive podcasts */

section.archive_ressources {
	background: var(--blueapollo1);
}


.archive_ressources .featured-card,
.related_podcasts_wrapper .featured-card {
	display: flex;
	flex-direction: column;
}

.archive_ressources .featured-image,
.related_podcasts_wrapper .featured-image {
	width: 100%;
	height: 200px;
}

.related_podcasts_wrapper {
	color: var(--lightforeground);
}

/* Template livre blanc */

.download_link {
	display: flex;
}

/* Archive livres blancs */

.placeholder-image {
	height: 100%;
	width: 100%;
	background: var(--blueapollo1);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--apolloradius);
}

.featured-image .bi {
	font-size: 6ch;
	color: var(--lightgrey);
}

/* article technique */

section.article_tech_main {
	background: var(--blueapollo1);
	color: var(--lightforeground);
}

.container_article_technique,
.container_event {
	max-width: 800px;
}

.container_article_technique .entry-content,
.container_event .entry-content {
	background: none;
}

.article_featured_image img {
	width: 100%;
	max-height: 450px;
	object-fit: cover;
}

/* Evenement */

section.event_main_section {
	background: var(--blueapollo1);
	color: var(--lightforeground);
}

.related_events_section {
	background: var(--blueapollo1);
	color: var(--lightforeground);
}

.event_content_wrapper {
	padding: 1rem 0px;
}

.event_meta_bar {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.tag_container {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
}

.event_registration_wrapper {
	display: flex;
}

/* archive event + actualite */

.filter-form-toggle {
	display: flex;
	justify-content: center;
}

.toggle-group {
	display: inline-flex;
	background: var(--lightforeground10);
	padding: 5px;
	border: 1px solid var(--lightforeground20);
	gap: 1rem;
	border-radius: var(--apolloradius);
}

.toggle-item {
	cursor: pointer;
	position: relative;
}

.toggle-item input {
	position: absolute;
	opacity: 0;
	/* On cache le bouton radio */
	cursor: pointer;
}

.toggle-item span {
	display: inline-block;
	padding: 8px 25px;
	font-size: 14px;
	font-weight: 500;
	color: var(--lightforeground);
	transition: all 0.3s ease;
	color: var(--lightforeground);
	border: solid 1px transparent;
}

.toggle-item span:hover {
	background: var(--lightforeground10);
}

.toggle-item.active span,
.toggle-item input:checked+span {
	background: var(--lightforeground10);
	color: var(--lightforeground);
	border: solid 1px var(--lightforeground20);
	border-radius: var(--apolloradius);
}

.pagination {
	color: var(--lightforeground);
}

a.page-numbers {
	color: var(--lightgrey);
}

/* Avis salaries */

.rating-row {
	position: relative;
}

.rating-row .star-foreground {
	right: 0;
}

/* Ligne de chaque critère */
.detail-rating-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.detail-rating-label {
	font-size: 0.8rem;
	color: var(--lightforeground);
}

/* Système d'étoiles spécifique au détail */
.detail-star-rating {
	position: relative;
	display: inline-block;
	font-size: 14px;
	/* Plus petit que la note principale */
	line-height: 1;
	letter-spacing: 2px;
}

.detail-star-background {
	color: #e9ecef;
	/* Gris clair pour les étoiles vides */
}

.detail-star-foreground {
	position: absolute;
	top: 0;
	left: 0;
	white-space: nowrap;
	overflow: hidden;
	color: #ffb400;
	/* Ta couleur d'étoile (ex: ambre/jaune) */
}


.salary-ratings-detail {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin: 2rem 0;
}

.positive-points {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.positive-points i {
	color: var(--blueapollo3);
}

.title_positive {
	display: flex;
	gap: 8px;
}


/* Template offre emploi */

section.filarianne {
	background: var(--blueapollo1);
}

.offre-emploi-content {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0px, 1fr));
}

.offre-emploi-main-container {
	grid-column: span 2 / span 2;
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.offre-emploi-top {
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	background: var(--gradient-glow);
	padding: 2rem;
	border-radius: 2rem;
}

.title_offre_container {
	display: flex;
	align-items: center;
	gap: 1rem;
	position: relative;
}

.icon_offre_emploi i {
	font-size: 38px;
	display: flex;
}

.icon_offre_emploi {
	color: var(--redapollol);
	background: var(--lightredapollol);
	display: flex;
	padding: 12px;
	border-radius: var(--apolloradius);
}

.title_offre_container h1 {
	margin: 0;
}

p.job-reference {
	margin: 0;
	color: var(--lightgrey);
}

.features-job {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

p.title_competence.job {
	margin: 0;
}

section.offre-emploi-main-wrapper {
	background: var(--blueapollo1);
}

.container_tags_job {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.container_tags_job span {
	border: solid 1px var(--lightforeground20);
	padding: 4px 8px;
}

.container_buttons_offre {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

span.date_publish {
	color: var(--lightgrey);
	display: flex;
	align-items: center;
	gap: 5px;
}

.competences-job {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}


.offre-emploi-top .features-job i.bi {
	color: var(--redapollol);
	margin-right: 2px;
}

.offre-emploi-the-content {
	color: var(--lightforeground);
}

.title_tile_lightbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
}

.title_tile_lightbox p {
	margin: 0;
}

.icon_title_tile i {
	color: var(--redapollol);
	background-color: var(--lightredapollol);
	padding: 8px;
	display: flex;
	border-radius: var(--apolloradius);
}

.container_tags_job_wide {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.container_tags_job_wide .detail-item {
	display: flex;
	gap: 8px;
}

.container_tags_job_wide i {
	color: var(--redapollol);
}

.sidebar-emploi-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: calc(var(--header-offset, 100px) + 2rem);
	/* Offset + petite marge de sécurité */
	transition: 0.3s ease-in-out;
}

.container_head_sidebar_emploi .main_head_sidebar {
	color: var(--lightforeground);
	font-weight: 500;
	margin: 0;
}

.container_head_sidebar_emploi p {
	margin: 0;
	color: var(--lightgrey);
}

.container_head_sidebar_emploi {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}


/* CSS rapide pour la gestion de l'affichage */
.advantage-hidden {
	display: none !important;
}

.advantage-item {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.adv-icon svg {
	width: 15px;
	height: 15px;
}

.btn-show-more {
	background: none;
	border: none;
	color: var(--redapollol);
	/* Ajuste selon ta charte */
	padding: 0;
	cursor: pointer;
	font-size: 0.9em;
	text-decoration: none;
	margin-top: 10px;
}

p.title_avantages {
	margin: 0;
}

span.adv-icon {
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 6px;
	display: flex;
	border-radius: var(--apolloradius);
}

.avantages {
	color: var(--lightforeground);
}

.inner_sidebar_container {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

p.title_avantages {
	margin: 0px 0px 10px 0px;
}

.sidebar-emploi-content .btn-primary {
	justify-content: center;
}

.image_eval_container {
	margin: -1rem -1rem 0 -1rem;
}

.image_eval_container img {
	max-height: 180px;
	width: 100%;
	object-fit: cover;
	border-top-left-radius: var(--apolloradius);
	border-top-right-radius: var(--apolloradius);
}

.box_evaluation_apollo {
	color: var(--lightgrey);
}

.bullets_eval {
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
	gap: 0.5rem;
}

h3.heading_eval {
	margin-top: 10px;
}

.box_apollo_presentation {
	color: var(--lightgrey);
}

.container_infos_entreprise.text-sm {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.info_entreprise_item {
	display: flex;
	flex-direction: column;
}

.rating_container {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
	align-items: center;
}

.info_label {
	font-weight: 600;
}

span.info_value {
	font-weight: 300;
}

.box_apollo_presentation a.custom-logo-link {
	max-width: 200px;
}

.stars {
	color: #ffc107;
}

.cta_offre_emploi {
	background-color: var(--blueapollo1);
}

.inner_content_cta_offre_emploi {
	padding: 80px 0px;
}

.container_cartes_features {
	color: var(--lightforeground);
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2rem;
	margin: 2rem 0;
}

.cta_lien_container {
	display: flex;
}

.carte_feature p {
	margin: 0;
}

.carte_feature h3 {
	margin: 0;
}

.feature_icon svg {
	width: 60px;
	height: 60px;
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 12px;
	border-radius: var(--apolloradius);
}

span.btn-icon {
	display: flex;
}

.container_title_cta_emploi {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.archive_offres_emploi {
	background-color: var(--blueapollo1);
}

.content_archive_emploi_double_sidebar {
	display: grid;
	grid-template-columns: 1fr 3fr 1fr;
	gap: 1rem;
}

.share_button {
	margin-left: auto;
}

button#native-share-btn {
	background: none;
	color: var(--lightgrey);
	border: solid 1 px var(--lightgrey);
}

button#native-share-btn:hover {
	cursor: pointer;
}

/* Archive offres emploi */

.center_emploi {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.center_emploi .offre-emploi-top,
.offre-emploi-sidebar .offre-emploi-top {
	background: unset;
}

.title_offre_container a {
	text-decoration: none;
	color: var(--lightforeground);
}

.card-offre-emploi {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.container_buttons_offre.card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

a.card-offre-emploi {
	text-decoration: none;
	transition: 0.2s;
}

a.card-offre-emploi:hover {
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	opacity: 0.9;
}

.featured-badge.text-xs.mb-3 {
	color: var(--blueapollo3);
}

.featured-sidebar-card a.btn-primary {
	width: 100%;
}

.featured-sidebar-card .features-job {
	gap: 0.5rem;
	font-size: 14px;
}

.sidebar-emploi-content a.btn.btn-primary {
	font-size: 14px;
}

/* Nous sommes Apollo */

.nous-sommes-apollo-main-container {
	grid-column: span 2 / span 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	/* Très important : remplit les trous automatiquement */
	grid-auto-flow: dense;
}

.tile_full_width {
	grid-column: span 3;
}

/* Style de base des tuiles images */
.tile-gallery {
	padding: 0;
	/* On retire le padding habituel pour que l'image soit bord à bord */
	overflow: hidden;
	height: 300px;
	/* Hauteur de base pour une rangée */
}

.tile-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* L'image remplit la zone sans se déformer */
	display: block;
	transition: transform 0.3s ease;
}

/* Variantes de tailles */
.tile-vertical {
	grid-row: span 2;
	height: 616px;
	/* (300px * 2) + 1rem de gap */
}

.tile-horizontal {
	grid-column: span 2;
}

/* Responsive : On repasse sur 1 ou 2 colonnes sur mobile */
@media (max-width: 768px) {


	.tile_full_width,
	.tile-horizontal,
	.tile-vertical {
		grid-column: span 2;
		grid-row: span 1;
		height: 250px;
	}
}

.nous_somes_apollo_introduction {
	color: var(--lightforeground);
}

.container_cta_btn {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.nous_sommes_apollo_cta {
	color: var(--lightforeground);
}

.tile-avis {
	text-decoration: none;
	color: var(--lightforeground);
	height: 300px;
	position: relative;
	transition: 0.2s;
}

a.box_light_container.tile-avis:hover {
	opacity: 0.8;
}

span.avis-stars {
	color: rgb(255, 193, 7);
}

span.read-more {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
}

.offres-grid-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.landing_main_container h2 {
    font-size: 3rem;
    margin-bottom: 0;
    color: var(--lightforeground);
}

.nous-sommes-apollo-main-container h3,
.nous-sommes-apollo-main-container h2 {
	margin: 0;
}

.bloc-offres-intermediaire {
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.offre-item-card {
	border: solid 1px var(--lightforeground20);
	padding: 1rem;
	background: var(--lightforeground10);
	display: flex;
	flex-direction: column;
}


span.voir_offre {
	margin-top: auto;
	text-align: right;
	text-decoration: none;
	color: var(--lightforeground);
}

.nous_somes_apollo_introduction>*:last-child {
	margin-bottom: 0;
}


a.tile-avis:hover {
	color: var(--lightforeground);
}

span.read-more {
	margin-top: 1rem;
	display: block;
}

.avis-meta-info-tile i {
	font-size: 20px;
	vertical-align: middle;
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 5px;
}

.offre-info h4 {
	display: flex;
	align-items: center;
	gap: 10px;
}

.offre-info h4 i {
	color: var(--redapollol);
	font-size: 20px;
	background-color: var(--lightredapollol);
	display: flex;
	padding: 5px;
}

a.offre-item-card {
	text-decoration: none;
	color: var(--lightforeground);
	transition: 0.2s;
	border-radius: var(--apolloradius);
}

a.offre-item-card:hover {
	opacity: 0.8;
}

.cta_container_custom_nous_sommes {
	display: flex;
}

.flex-vertical-cta {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sidebar-emploi-content a.btn.btn-secondary {
	justify-content: center;
}

.nous_somes_apollo_introduction p {
	color: var(--lightgrey);
}

.nous_sommes_apollo_cta h3 {
	font-size: 1.5rem;
	line-height: 2rem;
}

section.header_nous_sommes_apollo {
	max-height: 200px;
	display: flex;
	position: relative;
	overflow: hidden;
}

img.cover_nous_sommes_apollo {
	width: 100%;
	object-fit: cover;
}

.tile-certifications {
	color: var(--lightforeground);
	height: 300px;
}

.certif-logo {
	width: 40px;
	height: 40px;
	object-fit: contain;
	display: flex;
}

.certif-item {
	display: flex;
	gap: 10px;
	align-items: center;
	border: solid 1px var(--lightforeground20);
	padding: 0.5rem;
	background: var(--lightforeground10);
	border-radius: var(--apolloradius);
}


.certifs-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tile-certifications {
	color: var(--lightforeground);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.nous_sommes_apollo_content {
	padding: 80px 0px;
}

/* bloc chiffres */

.chiffres-block {
	background: var(--blueapollo1);
}

.content_bloc_chiffres {
	padding: 80px 0px;
}

.reassurance-icon {
	display: flex;
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 8px;
	margin-bottom: 1rem;
	border-radius: var(--apolloradius);
}

.reassurance-icon svg {
	inline-size: 40px;
	block-size: 40px;
}


/* blocs recompenses et certifications */

.recompenses-block {
	background: var(--blueapollo1);
}


.les-recompenses {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1rem;
}

.content_recompenses {
	padding: 80px 0px;
}

.recompense-item {
	color: var(--lightforeground);
}

.recompense-logo {
	display: flex;
	max-height: 100px;
	max-width: 100px;
	aspect-ratio: 1;
	object-fit: contain;
}

.recompense-logo>img {
	object-fit: contain;
}

span.recompense-year {
	color: var(--redapollol);
	background: var(--lightredapollol);
	padding: 2px 4px;
	margin-bottom: 1rem;
	display: block;
	width: fit-content;
}

.recompense-tags {
	border: solid 1px var(--lightforeground20);
	padding: 4px 8px;
	width: fit-content;
}

.content_recompenses {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* Tax secteur d'activite */

.tax-secteur-dactivite .cas-clients-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
}

.btn-container {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.section_formulaire_generique {
	background-color: var(--blueapollo1);
}

/* Formulaire générique */

.gform-theme--foundation .gfield .ginput_password.large,
.gform-theme--foundation .gfield input.large,
.gform-theme--foundation .gfield select.large {
	border-radius: var(--apolloradius) !important;
}

.gform-theme--foundation .gfield textarea.small {
	border-radius: var(--apolloradius) !important;
}

.content_formulaire_generique {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 1rem;
	padding: 80px 0px;
}

.content_formulaire_generique h2.gform_title {
	font-size: 34px;
	line-height: 34px;
	margin: 0;
	font-weight: 500;
	color: var(--lightforeground);
}

p.gform_required_legend {
	display: none;
}

.gfield_label {
	color: var(--lightforeground) !important;
}

.gform-field-label--type-sub {
	color: var(--lightgrey) !important;
}

.ginput_counter {
	display: none !important;
}

.content_formulaire_generique input {
	border-radius: 0 !important;
}

.gform-theme--foundation .gform_fields {
	row-gap: 1rem !important;
}

.formulaire_global input,
.formulaire_global textarea {
	background: var(--lightforeground10) !important;
	color: var(--lightforeground) !important;
}

.formulaire_global input#gform_submit_button_1 {
	background: var(--redapollod) !important;
	color: white !important;
	text-decoration: none;
	padding: 12px 20px;
	font-weight: 500;
	letter-spacing: -4%;
	display: flex;
	align-items: center;
	border-radius: var(--apolloradius) !important;
}

.ginput_container.ginput_container_textarea,
.gform-theme--foundation .gfield textarea.medium {
	border-radius: var(--apolloradius) !important;
}

.form.form_half.box_light_container {
	padding: 2rem;
}

body .gform_wrapper ::placeholder,
body .gform_wrapper ::-webkit-input-placeholder,
body .gform_wrapper input[placeholder] {
	color: var(--lightgrey);
	opacity: 0.8;
}

.step-item {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.infos_form.form_half {
	color: var(--lightforeground);
}

.step-icon {
	color: var(--redapollol);
	background: var(--lightredapollol);
	display: flex;
	padding: 8px;
	border-radius: var(--apolloradius);
}

.step_text p {
	margin: 0;
}

.process-steps {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

p.step_description {
	color: var(--lightgrey);
}

.cartouche-contact p {
	margin: 0;
}

.separateur_horizontal {
	width: 100%;
	height: 1px;
	background: var(--lightforeground20);
	margin: 2rem 0px;
}

.cartouche-contact {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 1rem;
}

.cartouche-contact>p {
	display: flex;
	gap: 10px;
}

.cartouche-contact a {
	text-decoration: none;
	color: var(--lightforeground);
}

.cartouche-contact i {
	color: var(--redapollol);
}

.infos_form.form_half.box_light_container {
	padding: 2rem;
	border-radius: var(--apolloradius);
}

.infos_form.form_half.box_light_container h2 {
	margin: 0;
	margin-bottom: 1.5rem;
}

p.step_title {
	font-weight: 700;
}


.gform_confirmation_message {
	color: var(--lightforeground) !important;
}


/* Essais header */
/* --- COMPORTEMENT MOBILE (Par défaut) --- */
.site-header {
	position: relative;
	/* Le header suit le scroll normalement sur mobile */
	width: 100%;
}

/* --- COMPORTEMENT DESKTOP (Ex: à partir de 1024px) --- */
@media screen and (min-width: 1024px) {
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		transition: transform 0.3s ease-in-out;
	}

	/* On n'active l'animation que sur desktop */
	.header-scrolled-down {
		transform: translateY(-59px);
		/* Ajustez selon la hauteur du subheader */
	}

	.header-scrolled-up {
		transform: translateY(0);
	}

	/* On ajoute le padding au body seulement quand le header est fixe */
	body {
		padding-top: 130px;
	}
}

html {
	/* Remplacez 120px par la hauteur totale de votre header (Main + Subheader) */
	scroll-padding-top: 130px;
}

/* Si vous avez désactivé le header fixe sur mobile, remettez la valeur à 0 */
@media screen and (max-width: 1023px) {
	html {
		scroll-padding-top: 0;
	}
}

/* Test formulaire principal */

/* Rend la progression de la barre plus fluide */
.gf_progressbar_percentage {
	transition: width 0.6s ease-in-out !important;
	background-color: #0073aa;
	/* Ta couleur personnalisée */
}

.main_form * {
	color: var(--lightforeground) !important;
}

/* 1. On cache la checkbox native tout en la gardant accessible */
.gfield_checkbox .gchoice input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

/* 2. On transforme le conteneur en grille pour les tuiles */
.ginput_container_checkbox .gfield_checkbox {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
	gap: 15px;
	padding: 10px 0;
}

/* 3. On stylise le Label pour en faire une tuile */
.gfield_checkbox .gchoice label {
	display: flex !important;
	flex-direction: column !important;
	align-items: center;
	justify-content: center;
	padding: 15px 15px !important;
	border: 2px solid #e5e7eb !important;
	/* Couleur grise légère */
	border-radius: 12px !important;
	background-color: #ffffff;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	margin: 0 !important;
	max-width: none !important;
	text-align: center;
	font-weight: 500;
}

.gfield_checkbox .gchoice label>span {
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 4. Style de l'icône Bootstrap */
.gfield_checkbox .gchoice label i {
	font-size: 2rem;
	margin-bottom: 10px;
	display: block;
	color: #6b7280;
	transition: color 0.25s ease;
}

/* 5. ÉTAT SURVOL (Hover) */
.gfield_checkbox .gchoice label:hover {
	border-color: var(--redapollol) !important;
	background-color: #f9fafb;
}

/* 6. ÉTAT SÉLECTIONNÉ (Coché) */
/* Quand l'input est coché, on cible le label qui suit (+) */
.gfield_checkbox .gchoice input[type="checkbox"]:checked+label {
	border-color: var(--redapollol) !important;
	background-color: var(--blueapollo1);
	box-shadow: 0 0 0 1px var(--redapollol) !important;
	/* Optionnel : renforce le contour */
}

/* On change la couleur de l'icône et du texte quand c'est coché */
.gfield_checkbox .gchoice input[type="checkbox"]:checked+label i,
.gfield_checkbox .gchoice input[type="checkbox"]:checked+label,
.gfield_checkbox .gchoice input[type="checkbox"]:checked+label>span {
	color: var(--redapollol) !important;
}

.gform-theme--framework .gfield--type-choice .gchoice {
	display: block !important;

}

.gfield_checkbox .gchoice label {
	background: var(--lightforeground10) !important;
	border: solid var(--lightforeground20) 1px !important;
	border-radius: 0px !important;
}

.gform-theme--framework .gf_progressbar {
	background-color: var(--lightforeground10) !important;
}

.main_form label>span,
.formulaire_landing_polyvalent_wrapper label>span {
	font-size: 10px;
}

.form_tech .ginput_container_checkbox .gfield_checkbox {
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
}

#gf-modal-content h2,
.gf-modal-content h2 {
	color: var(--lightforeground);
}

.main_form .gform_next_button {
	background: var(--lightforeground20) !important;
}


.main_form input,
.main_form textarea,
.candidature_form input,
.candidature_form textarea,
.formulaire_landing_polyvalent_wrapper input,
.formulaire_landing_polyvalent_wrapper textarea,
.form_bas_de_page_landing input,
.form_bas_de_page_landing textarea {
	background: var(--lightforeground10) !important;
	color: var(--lightforeground) !important;
	border-radius: 0px !important;
}


.main_form input#gform_submit_button_1 {
	background: var(--redapollod) !important;
	text-decoration: none;
	padding: 12px 20px;
	font-weight: 500;
	letter-spacing: -4%;
	display: flex;
	align-items: center;
}

.main_form .gform_previous_button {
	border: transparent !important;
}

.main_form .gform_next_button,
.main_form #gform_submit_button_2,
.candidature_form #gform_submit_button_3 {
	margin-left: auto !important;
	border-radius: var(--apolloradius) !important;
}

/* Cache le spinner de chargement par défaut */
.gform-loader {
	display: none !important;
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
	background-color: var(--redapollol) !important;
}

div#mon-recap-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.3rem;
}

span.badge-recap {
	display: flex;
	background: var(--redapollod);
	padding: 3px 5px;
	color: white !important;
}

.tip_besoin_conseils {
	margin: 1rem 0;
}


#gf-modal-content h2.gform_title,
.gf-modal-content h2.gform_title {
	margin-top: 0;
}

.heading_conseils {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

/* Nos Agences */

.agences-grid {
	max-width: 800px;
	margin: auto;
	display: grid;
	gap: 1rem;
}

.agence-image {
	width: 100%;
	max-height: 250px;
	display: flex;
	overflow: hidden;
}

.agence-image img {
	width: 100%;
	object-fit: cover;
	object-position: top;
	border-radius: var(--apolloradius);
}

.agence-item {
	color: var(--lightforeground);
}

section.section-agences {
	padding: 80px 0px;
	background: var(--blueapollo1);
}

.agence-details a {
	text-decoration: none;
	color: var(--lightforeground);
}

.agence-details a.btn.btn-primary {
	color: white;
}

.agence-details i {
	color: var(--redapollol);
	margin-right: 5px;
}

/* Form candidature */

.custom-modal-content {
	color: var(--lightforeground);
}

.section_form_cand {
	margin: 10px 0px;
}

.main_form .gform_next_button,
.candidature_form #gform_submit_button_3,
.candidature_form #gform_submit_button_4 {
	margin-left: auto !important;
	width: 100%;
	background: var(--redapollod) !important;
	color: white !important;
}

.main_form #gform_submit_button_2 {
	margin-left: auto !important;
	background: var(--redapollod) !important;
	color: white !important;
}

.candidature_form_wrapper .gfield:where(:not(.gfield--type-html):not(.gfield--type-section)) {
	line-height: 1;
	margin-top: 0.5rem;
}


/* Mentions légales */
.wp-block-group {
	max-width: 900px;
	padding: 1rem 1rem;
	margin: 80px auto;
	background-color: var(--lightforeground10);
	border: solid 1px var(--lightforeground10);
	background: var(--blueapollo1);
	color: var(--lightforeground);
}


/* Template Landing versatile*/

.landing_content {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0px, 1fr));
}

.landing_main_container {
	grid-column: span 2 / span 2;
}

.landing_sidebar {
	position: relative;
}

.sidebar-landing-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: sticky;
	top: calc(var(--header-offset, 100px) + 2rem);
	/* Offset + petite marge de sécurité */
	transition: top 0.3s ease-in-out;
}

.sidebar-landing-content .box_light_container {
	padding: 2rem;
}

.sidebar-landing-content input[type=submit] {
	margin-left: auto !important;
	background: var(--redapollol) !important;
	color: white !important;
}

.landing_main_container .hero-content h1 {
	font-size: 60px;
	line-height: 60px;
}

.container.container_hero.has-featured-image {
	display: grid;
	grid-template-columns: 3fr 2fr;
	align-items: center;
	background: var(--gradient-glow);
	padding: 2rem;
	border-radius: 2rem;
}

.container_hero .feature-item {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
}

.container_hero .feature-item>span {
	color: var(--lightforeground);
}

.hero-features {
	display: flex;
	gap: 1rem;
}

section.template_landing_main_wrapper {
	background: var(--blueapollo1);
}


.landing_main_container .features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 279px));
	gap: 1rem;
}

.landing_main_container .feature-image {
	width: calc(100% + 2rem);
	margin-top: -1rem;
	margin-left: -1rem;
}


.feature_image_content {
	color: var(--lightforeground);
	display: flex;
	gap: 1rem;
	padding: 0px 0px 80px 0px;

}

.feature_item {
	display: flex;
	align-items: center;
	gap: 1rem;
	border-radius: var(--apolloradius);
}

h3.feature_item_title {
	margin: 0;
}

p.feature_item_subtitle {
	margin: 0;
}

p.feature_item_subtitle {
	color: var(--lightgrey);
}

.feature_list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.feature_item_icon i {
	color: var(--redapollol);
	font-size: 20px;
	aspect-ratio: 1;
	display: flex;
}

.feature_item_icon {
	background: var(--lightredapollol);
	padding: 8px;
	border-radius: var(--apolloradius);
}

.feature-icon i {
	display: flex;
}

span.feature_tag {
	color: var(--redapollol);
	border: solid 1px;
	padding: 0px 4px;
	display: flex;
	gap: 4px;
	width: fit-content;
}

.feature-image-block {
	background: var(--blueapollo1);
}


.feature-image-block:nth-of-type(even) .feature_image_content {
	flex-direction: row-reverse;
}

.feature_image_content>div {
	width: 50%;
	position: relative;
}

.form_sticky_heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--lightforeground);
}

.form_sticky_heading_title p {
	margin: 0;
}

.formulaire_landing_polyvalent_wrapper {
	color: var(--lightforeground);
}

.formulaire_landing_polyvalent_wrapper label {
	color: var(--lightforeground) !important;
}

.formulaire_landing_polyvalent_wrapper .gfield--type-choice .gchoice,
.form_bas_de_page_landing .gfield--type-choice .gchoice {
	display: flex !important;
	align-items: center;
	border: solid 1px var(--lightforeground20);
	padding: 0;
	cursor: pointer;
	position: relative;
	transition: all 0.3s ease;
	border-radius: var(--apolloradius);
}


.formulaire_landing_polyvalent_wrapper .gfield--type-choice .gchoice label,
.form_bas_de_page_landing .gfield--type-choice .gchoice label {
	flex: 1;
	/* Le label prend toute la largeur restante */
	padding: 1rem;
	/* Le clic est désormais actif sur tout le padding */
	margin: 0 !important;
	cursor: pointer;
	display: block;
	/* Important pour que le padding soit cliquable partout */
}

.formulaire_landing_polyvalent_wrapper .gfield--type-choice .gchoice input {
	margin-left: 1rem !important;
	cursor: pointer;
	border-radius: 100px !important;
	border-color: var(--lightforeground20) !important;
}


/* 2. On stylise le label par défaut */
.form_bas_de_page_landing .gfield-choice-input+label,
.formulaire_landing_polyvalent_wrapper .gfield-choice-input+label {
	color: inherit;
	/* Couleur de texte initiale */
	cursor: pointer;
	transition: color 0.3s ease;
	display: flex;
	align-items: center;
	border: solid 1px transparent !important;
}

/* 3. L'état sélectionné : on cible le label qui suit l'input coché */
.form_bas_de_page_landing .gfield-choice-input:checked+label {
	color: var(--redapollol) !important;
	border: solid 1px var(--redapollol) !important;
	background: var(--lightredapollol);
}

/* On cible la div parente si elle contient un input coché */
.formulaire_landing_polyvalent_wrapper .gchoice:has(.gfield-choice-input:checked) {
	border: 1px solid var(--redapollol) !important;
	background-color: var(--lightredapollol) !important;
}

.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
	background-color: var(--redapollol) !important;
}

/* On change aussi la couleur du texte à l'intérieur si besoin */
.formulaire_landing_polyvalent_wrapper .gchoice:has(.gfield-choice-input:checked) label {
	color: var(--redapollol) !important;
}

.formulaire_landing_polyvalent_wrapper input {
	outline-color: transparent !important;
}

/* 4. Si vous voulez aussi que l'icône change de couleur */
.form_bas_de_page_landing .gfield-choice-input:checked+label i {
	color: var(--redapollol) !important;
}

.select_format_rdv input {
	display: none !important;
}

/* .formulaire_landing_polyvalent_wrapper .gfield--type-choice .gchoice input {
	display: none !important;
} */

.select_format_rdv label {
	display: flex !important;
	gap: 0.5rem;
}

input#gform_submit_button_7 {
	width: 100%;
	background: var(--redapollod) !important;
	color: white !important;
	border-radius: var(--apolloradius) !important;
}



.form_sticky_heading i {
	color: var(--redapollol);
	display: flex;
	background: var(--lightredapollol);
	padding: 10px;
}

.formulaire_landing_polyvalent_wrapper .gf_progressbar_title {
	color: var(--lightforeground) !important;
}

.formulaire_landing_polyvalent_wrapper .gform_page:not(:last-child) .gform_next_button {
	position: absolute !important;
	opacity: 0 !important;
	pointer-events: none !important;
	z-index: -1 !important;
	height: 0 !important;
	width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.formulaire_landing_polyvalent_wrapper .gform_previous_button {
	background: none !important;
	color: var(--lightgrey) !important;
	border: none !important;
	font-size: 0.8rem !important;
}

.form_step_heading {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.hide_title legend {
	display: none !important;
}

.wrapper-recap-final {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.formulaire_landing_footer_container {
	color: var(--lightforeground);
}

.form_bas_de_page_landing label {
	color: var(--lightforeground) !important;
}

.form_bas_de_page_landing .gfield_radio {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
}


.recap_formulaire_besoin p {
	margin: 0px 0px 0.5rem 0px;
}

.recap_formulaire_besoin {
	border: solid 1px var(--lightforeground20) !important;
	padding: 0.5rem !important;
}

.formulaire_landing_footer_container h2 {
	margin: 0;
}

.formulaire_landing_footer_container p.subtitle {
	margin: 0;
}

.formulaire_landing_footer_container p.subtitle {
	margin: 0.5rem 0 0 0;
	color: var(--lightgrey);
}

.landing_main_container span.reassurance-number {
	font-size: 30px;
}

.landing_main_container span.reassurance-label {
	width: 160px;
}

.feature_image_column img {
	position: sticky;
	top: 0px;
	top: calc(var(--header-offset, 100px) + 2rem);
	transition: top 0.3s ease-in-out;
	border-radius: var(--apolloradius);
}

.feature_item_icon {
	background: var(--lightredapollol);
	padding: 8px;
	display: flex;
	color: var(--redapollol);
}

.features-main-image {
	max-width: 300px;
}

.logo-item.has_title {
	display: flex;
	flex-direction: column;
	text-align: center;
	align-items: center;
	gap: 0.5rem;
}

.logo-item .svg-raw-wrapper {
	font-size: 76px;
	display: flex;
}

.logo-tech-secondaire-title {
	color: var(--lightforeground);
}

.pres_presta_wrapper {
	color: var(--lightforeground);
	display: flex;
	gap: 1rem;
	padding: 80px 0px;
}

.pres_header h2,
.pres_header p {
	margin: 0;
}

header.pres_header {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.pres_presta_column_content {
	display: grid;
	gap: 1rem;
}

.pres_features_list {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

span.pres_feature_tag {
	display: flex;
	gap: 0.3rem;
}

.pres_tech_icons {
	display: flex;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.pres_tech_item {
	gap: 5px;
	display: flex;
	align-items: center;
	border: solid 1px var(--lightforeground20);
	padding: 4px 7px;
}

p.pres_subtitle {
	color: var(--redapollol);
	font-weight: 500;
}

.pres_presta_wrapper>div {
	width: 50%;
	position: relative;
}

.pres_presta_column_image img {
	position: sticky;
	top: calc(var(--header-offset, 100px) + 2rem);
	transition: top 0.3s ease-in-out;
}

.pres-presta-block:nth-of-type(odd) .pres_presta_wrapper {
	flex-direction: row-reverse;
}

.formulaire_landing_footer_container .box_light_container {
	padding: 2rem;
}

.pres_presta_column_content .card_cas_client_top_content {
	min-height: unset;
	padding: 1.5rem;
}

a.cas-client-card {
	text-decoration: none;
	display: block;
	border-radius: var(--apolloradius);
}

.voir_cas_complet {
	margin-top: 1rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.pres_presta_column_content .cas-client-title img.svg-logo {
	width: 45px;
	max-height: 45px;
}


a.cas-client-card:hover,
.glow-hover:hover {
	background-color: transparent;
}

a.cas-client-card,
.glow-hover {
	position: relative;
	/* Indispensable pour placer le pseudo-élément */
	overflow: hidden;
	z-index: 1;
	/* Tes styles de tuile (bordures, padding, etc.) */
	background-color: var(--lightforeground10);
	transition: all 0.3s ease;
}

a.cas-client-card::before,
.glow-hover::before {
	content: "";
	position: absolute;
	inset: 0;
	/* Raccourci pour top/left/right/bottom: 0 */
	z-index: -1;
	background-image: var(--gradient-glow);
	opacity: 0;

	/* On agrandit le fond par défaut */
	transform: scale(1.5);
	transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* L'effet au survol */
a.cas-client-card:hover::before,
.glow-hover:hover::before {
	opacity: 1;
	/* Il reprend sa taille normale au survol, créant un effet de dézoom */
	transform: scale(1);
}

.section-matrice {
	color: var(--lightforeground);
}

td.feature-check {
	text-align: center;
}

table.matrice-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}

/* On cible les cellules d'en-tête et de corps */
.matrice-table th,
.matrice-table td {
	padding: 15px 20px;
	text-align: center;
	/* On crée la ligne par défaut sur chaque cellule */
	border-bottom: 1px solid var(--lightforeground20);
}

/* Alignement à gauche pour la colonne des labels */
.matrice-table .feature-label,
.matrice-table th:first-child {
	text-align: left;
}

/* --- LA MAGIE DES SÉLECTEURS --- */

/* 1. On retire la bordure du haut (si tu en avais une sur le table) */
.matrice-table {
	border-top: none;
}

/* 2. On retire la bordure de la toute dernière ligne pour ne pas fermer le tableau */
.matrice-table tr:last-child td {
	border-bottom: none;
}

.feature-check .icon-check {
	color: var(--redapollol);
}

span.icon-cross {
	color: var(--lightgrey);
}

/* retouches 19/05/2026 */ 
a.next.page-numbers, a.prev.page-numbers {
    background: var(--lightgrey);
    color: var(--blueapollo1);
    text-decoration: none;
    padding: .3rem .75rem;
    border-radius: var(--apolloradius);
}

.landing_main_container .wp-block-heading {
	color: var(--redapollol);
}

p#breadcrumbs {
    font-size: .8rem;
    color: var(--lightforeground);
    margin: 10px 0 10px 0;
}

#breadcrumbs a {
    color: var(--lightgrey);
}

.landing_content .hero-block {
	min-height: unset;
}

.container_hero_archive p#breadcrumbs {
    margin: 0;
}