/*!
Theme Name: advenn
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: advenn
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.

advenn 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
--------------------------------------------------------------*/

:root {
	/* Brand palette */
	--color-bleu-atlantique: #004056;
	--color-bleu-atlantique-60: rgba(0, 64, 86, 0.6);
	--color-bleu-ocean: #92D4F6;
	--color-bleu-ocean-60: rgba(146, 212, 246, 0.6);
	--color-beige-granit-breton: #EDE5D9;
	--color-beige-granit-breton-60: rgba(237, 229, 217, 0.6);
	--color-blanc-alpin: #F6FBFE;
	--color-vert-crozon: #009993;
	--color-vert-crozon-60: rgba(0, 153, 147, 0.6);
	--color-jaune-ajonc: #FCD700;
	--color-jaune-ajonc-60: rgba(252, 215, 0, 0.6);
	--color-vert-jeune-pousse: #6AB86B;
	--color-vert-jeune-pousse-60: rgba(106, 184, 107, 0.6);

	/* Typography */
	--font-heading: "Ancizar Sans", sans-serif;
	--font-body: "Sora", sans-serif;
	--font-accent: "Ancizar Sans", sans-serif;
}

/* 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;
	width: 100%;
	/* pas de max-width ici */
}

/* Rows standards : contraintes et centrées.
   1430px = 1400px de contenu utile + 2 × 15px de gouttières internes WPBakery */
main .vc_row {
	max-width: 1250px;
	margin-left: auto;
	margin-right: auto;
}

/* Rows pleine largeur : celle du hero, et toute row marquée .advenn-full */
main .vc_row:has(.advenn-hero),
main .vc_row.advenn-full {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Dans ces rows pleine largeur, on retire aussi les gouttières de colonne */
main .vc_row:has(.advenn-hero) .vc_column-inner,
main .vc_row.advenn-full .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

main .vc_row[data-vc-full-width="true"] { 
	max-width: none; 
	overflow: clip;
}

main .vc_row[data-vc-full-width="true"] > .wpb_column > .vc_column-inner {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
}

main .vc_row.advenn-full > .wpb_column > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

/* La row déborde (pour le fond), mais son contenu est repoussé sur la trame
   via un grand padding latéral calculé */
main .vc_row.advenn-bleed,
footer .vc_row.advenn-bleed {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-inline: max(15px, calc((100% - 1250px) / 2));
}

/* Les colonnes reprennent une largeur normale dans cet espace cadré */
main .vc_row.advenn-bleed > .wpb_column > .vc_column-inner,
footer .vc_row.advenn-bleed > .wpb_column > .vc_column-inner {
	max-width: none;
	margin-inline: 0;
	padding-inline: 15px;
}

/**
 * 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: var(--color-bleu-atlantique);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.2;
}

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

h1 {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 55px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-transform: uppercase;
	color: var(--color-blanc-alpin);
}

h2 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 55px;
	line-height: 1.1;
	letter-spacing: 0;
	color: var(--color-bleu-atlantique);
}

h3 {
	font-family: var(--font-accent);
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0;
	color: var(--color-bleu-atlantique);
}

p {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.2;
	letter-spacing: 0;
	color: var(--color-bleu-atlantique);
	margin-bottom: 1.5em;
}

.mb12 p {
	margin-bottom: 1.2em !important;
}

.intro p {
	font-family: var(--font-accent);
	font-weight: 500;
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0;
	color: var(--color-bleu-atlantique);
}

.font-ancizar {
	font-family: var(--font-heading);
}

.font-sora {
	font-family: var(--font-body);
}

.font-white h1,
.font-white h2,
.font-white h3,
.font-white h4,
.font-white p,
.font-white a,
.font-white li {
	color: #F6FBFE !important;
}

.vert-crozon h1,
.vert-crozon h2,
.vert-crozon h3,
.vert-crozon h4,
.vert-crozon p,
.vert-crozon a,
.vert-crozon li {
	color: #009993 !important;
}

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: var(--color-blanc-alpin);
}

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: thin dotted;
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	
}

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 {
	
}

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 {

}

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 {
	
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

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

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


@media (prefers-reduced-motion: reduce) {
	.site-header { transition: none; }
}

/* Navigation
--------------------------------------------- */
/* =========================================================
   Header Advenn — smart header + nav animée + recherche
   Remplace le bloc navigation _s existant.
   ========================================================= */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	padding: 0;
	background: transparent;
	opacity: 1;
	transition: transform .35s ease, opacity .35s ease, background-color 0.75s ease, padding 1s ease;
}

/* Fond bleu atlantique uniquement quand le header est réaffiché en cours de page */
.site-header.has-bg {
	background: var(--color-bleu-atlantique, #004056);
}

.site-header.is-hidden {
	transform: translateY(-100%);
	opacity: 0;
	pointer-events: none;
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-inline: auto;
	padding: 40px 50px;
	transition: padding 1s ease;
	position: relative;
}
.has-bg .site-header__inner {
	padding: 15px 50px;
}

.site-branding {
	flex: 0 0 auto;
}
.custom-logo-link { display: inline-block; }
.custom-logo { display: block; height: 20px; width: auto; }

/* ----- Navigation ----- */
.main-navigation {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

#primary-menu {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: inline-block;
	position: relative;
	padding: 6px 0;
	color: var(--color-blanc-alpin, #F6FBFE);
	font-family: var(--font-body, "Sora", sans-serif);
	font-size: 1.05rem;
	text-decoration: none;
	white-space: nowrap;
}

/* Soulignement animé en fade (pas de slide brutal) */
.main-navigation a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	opacity: 0;
	transition: opacity .3s ease;
}
.main-navigation a:hover::after,
.main-navigation a:focus-visible::after {
	opacity: 1;
}

/* Chevron pour les parents */
.main-navigation .menu-item-has-children > a {
	padding-right: 22px;
}
.main-navigation .menu-item-has-children > a::before {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-70%) rotate(45deg);
	transition: transform .3s ease;
}
.main-navigation .menu-item-has-children:hover > a::before,
.main-navigation .menu-item-has-children.is-open > a::before {
	transform: translateY(-30%) rotate(225deg);
}

/* Sous-menus : fade + léger glissement, alignés sous le parent */
.main-navigation ul ul {
	position: absolute;
	top: 100%;
	left: -10px;
	min-width: 260px;
	margin: 0;
	padding: 18px 10px 8px;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s;
	background: var(--color-bleu-atlantique)
}
.main-navigation li:hover > ul,
.main-navigation li.is-open > ul,
.main-navigation li:focus-within > ul {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.main-navigation ul ul a {
	padding: 12px 0;
	font-size: 1rem;
}
/* flèche des items de sous-menu */
.main-navigation ul ul .menu-item-has-children > a::before {
	content: none;
}
.main-navigation ul ul li > a::after {
	/* garde l'underline fade */
}

/* ----- Recherche ----- */
.site-search {
	flex: 0 0 auto;
	position: static;
	display: flex;
	align-items: center;
}

.site-search__toggle {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-blanc-alpin, #F6FBFE);
	cursor: pointer;
	z-index: 2;
	position: relative;
}

/* Le formulaire s'étale vers la gauche depuis l'icône */
.site-search__form {
	position: absolute;
	left: 300px;          /* après le logo — ajuste selon ta largeur de logo */
	right: 90px;          /* laisse la place à la loupe */
	top: 50%;
	transform: translateY(-50%);
	width: auto;          /* left + right définissent la largeur */
	max-width: none;
	overflow: hidden;
	pointer-events: none;
}

.site-search__field {
	width: 100%;
	padding: 8px 4px;
	border: 0;
	border-bottom: 1px solid var(--color-blanc-alpin, #F6FBFE);
	background: transparent;
	color: var(--color-blanc-alpin, #F6FBFE);
	font-family: var(--font-body, "Sora", sans-serif);
	font-size: 1.1rem;
	outline: none;
	/* bordure qui se dessine depuis la droite (près de l'icône) */
	transform: scaleX(0);
	transform-origin: right center;
	opacity: 0;
	transition: transform .4s ease, opacity .3s ease;
}
.site-search__field::placeholder {
	color: rgba(246, 251, 254, 0.5);
}

/* État ouvert : le champ se déploie, le menu s'efface */
.site-search.is-open .site-search__form {
	pointer-events: auto;
}
.site-search.is-open .site-search__field {
	transform: scaleX(1);
	opacity: 1;
}

/* Quand la recherche est ouverte, le menu disparaît en fondu (desktop) */
.site-header.search-open .main-navigation {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s;
}

/* ----- Bouton hamburger (mobile) ----- */
.menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.menu-toggle__bars {
	position: relative;
	display: block;
	width: 26px;
	height: 16px;
	margin: 0 auto;
}
.menu-toggle__bars span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--color-blanc-alpin, #F6FBFE);
	transition: transform .3s ease, opacity .3s ease, top .3s ease;
}
.menu-toggle__bars span:nth-child(1) { top: 0; }
.menu-toggle__bars span:nth-child(2) { top: 7px; }
.menu-toggle__bars span:nth-child(3) { top: 14px; }

/* Croix quand ouvert */
.main-navigation.toggled .menu-toggle__bars span:nth-child(1) { top: 7px; transform: rotate(45deg); }
.main-navigation.toggled .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.main-navigation.toggled .menu-toggle__bars span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

/* =========================================================
   Mobile (< 768px)
   ========================================================= */
@media (max-width: 767px) {
	.menu-toggle {
		display: block;
		order: 3;
	}

	.site-header__inner {
		gap: 16px;
	}

	.main-navigation {
		position: fixed;
		inset: 0;
		top: 74px;                 /* sous la barre logo */
		flex-direction: column;
		justify-content: flex-start;
		padding: 24px 28px 60px;
		background: var(--color-bleu-atlantique, #004056);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity .3s ease, transform .3s ease, visibility .3s;
		overflow-y: auto;
	}
	.main-navigation.toggled {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	#primary-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	/* Titres de 1er niveau soulignés d'un trait plein */
	.main-navigation #primary-menu > li > a {
		padding: 18px 0 12px;
		font-size: 1.5rem;
		font-weight: 700;
		border-bottom: 1px solid rgba(246, 251, 254, 0.4);
	}
	.main-navigation #primary-menu > li > a::after { content: none; }
	.main-navigation .menu-item-has-children > a::before { content: none; }

	/* Sous-menus toujours visibles, en liste */
	.main-navigation ul ul {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		min-width: 0;
		padding: 8px 0 20px;
	}
	.main-navigation ul ul a {
		padding: 10px 0;
		font-size: 1.05rem;
	}

	/* Recherche en haut du panneau mobile */
	.site-search {
		order: -1;
	}

	.menu-toggle {
		z-index: 120;
	}
}

/* Accessibilité mouvement réduit */
@media (prefers-reduced-motion: reduce) {
	.site-header,
	.main-navigation a::after,
	.main-navigation ul ul,
	.site-search__field,
	.menu-toggle__bars span {
		transition: none;
	}
}

.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: 0em;
}

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

.page-content,
.entry-content,
.entry-summary {
	margin: 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;
}


/* Formulaire
--------------------------------------------- */


.advenn-form {
	--af-line: rgba(246, 251, 254, 0.35);
	--af-line-active: var(--color-jaune-ajonc, #FCD700);
	max-width: 940px;
	font-family: var(--font-body, "Sora", sans-serif);
}

.af-field {
	position: relative;
	margin: 0 0 2.4rem;
}

/* Champ : transparent, souligné d'un simple trait */
.af-input {
	width: 100%;
	padding: 0.4em 0 0.5em;
	border: 0;
	border-bottom: 1px solid var(--af-line);
	background: transparent;
	color: var(--color-blanc-alpin, #F6FBFE);
	font-family: inherit;
	font-size: 1.15rem;
	line-height: 1.4;
	outline: none;
	transition: border-color .3s ease;
}

.af-field--textarea .af-input {
	min-height: 180px;
	resize: vertical;
}

/* Le placeholder natif est masqué : c'est le label animé qui le remplace */
.af-input::placeholder {
	color: transparent;
}

/* Label superposé, en position "repos" (dans le champ) */
.af-label {
	position: absolute;
	left: 0;
	top: 0.4em;
	color: var(--color-blanc-alpin, #F6FBFE);
	font-size: 1.15rem;
	pointer-events: none;
	transform-origin: left top;
	transition: transform .25s ease, color .25s ease, opacity .25s ease;
}

/* Animation : au focus OU si le champ est rempli, le label monte et rétrécit */
.af-input:focus + .af-label,
.af-input:not(:placeholder-shown) + .af-label {
	transform: translateY(-1.5em) scale(0.72);
	color: var(--color-jaune-ajonc, #FCD700);
	opacity: 0.9;
}

/* Le trait passe en jaune au focus */
.af-input:focus {
	border-bottom-color: var(--af-line-active);
}

/* Bouton Envoyer */
.af-submit .wpcf7-submit {
	margin-top: 1rem;
	padding: 0.7em 1.4em;
	border: 0;
	border-radius: 6px;
	background: var(--color-jaune-ajonc, #FCD700);
	color: var(--color-bleu-atlantique, #004056);
	font-family: inherit;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	transition: transform .15s ease, opacity .2s ease;
}
.af-submit .wpcf7-submit:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

/* Messages de validation CF7 discrets */
.advenn-form .wpcf7-not-valid-tip {
	color: var(--color-jaune-ajonc, #FCD700);
	font-size: 0.85rem;
	margin-top: 0.3rem;
}
.advenn-form .wpcf7-response-output {
	margin: 1.5rem 0 0;
	padding: 0.8em 1em;
	border-radius: 6px;
	color: var(--color-blanc-alpin, #F6FBFE);
	font-size: 0.9rem;
}


.site-footer .bg-atlantic {
	background: var(--color-bleu-atlantique);
	color: var(--color-blanc-alpin);
}

.site-footer h2 {
	font-family: var(--font-heading);
	font-size:40px;
}

.site-footer h3 {
	font-size:14px;
}

.site-footer h3 {
  color: var(--color-bleu-atlantique);
  border: 1px solid var(--color-bleu-atlantique);
  border-radius: 5px;
  width: auto;
  display: initial;
  padding: 3px 10px;
  font-weight: 400;
  font-size: 16px;
}


.site-footer .bg-atlantic h3 {
  color: var(--color-blanc-alpin);
  border: 1px solid var(--color-blanc-alpin);
}


.site-footer a {
  color: var(--color-bleu-atlantique);
  font-weight: 400;
  font-size: 12px;
  text-decoration: none;
  display: block;
}

.forcelineheight a {
	line-height: 1.7;
}
.forcelineheight br {
  content: "";
  display: block;
  margin-bottom: 0.8em; /* ou margin-top */
}

.site-footer a:hover {
  text-decoration: underline;
}


.site-footer .bg-atlantic a {
  color: var(--color-blanc-alpin);
  font-size: 16px;
}

.site-footer .bg-atlantic {
	padding-top: 40px;
	padding-bottom: 40px;
}

.site-footer p {
	font-size:16px;
}

.site-footer .footerbottom a {
	display: inline-block;
	margin-left:15px;
}

.site-footer .footerbottom p {
  color: var(--color-bleu-atlantique);
  font-weight: 400;
  font-size: 12px;
}

#reducetop-advenn-split {
	padding-top: 40px !important;
}
#reducetop-advenn-split .advenn-split__content > p:first-child {
	font-size: 28px;
	font-weight:700;
	font-family: var(--font-heading) !important;
}

#moresize p,
p.moresize {
	font-size: 28px !important;
}

.titreunpeuplusgros h2 {
	font-size: 70px !important;
}

#plusgrotitre h2.advenn-split__title {
	font-size: 64px !important;
	line-height: 1 !important;
}

.advenn-media-row__title {
  font-size: 40px !important;
}

@media all and (max-width:767px) {
	h2 {
		font-size: 40px;
	}
	h3 {
		font-size: 24px;
	}
	p {
		font-size:16px;
	}
}

#forceancizar p {
	font-family: var(--font-heading) !important;
	font-size: 28px !important;
}
	

/* =========================================================
   Page de résultats de recherche
   Balisage Underscores : .search .site-main > .page-header
   puis un <article> par résultat, puis .navigation.pagination
   ========================================================= */

/* Le header est fixe et il n'y a pas de hero sur cette page :
   on réserve la hauteur du bandeau. */
.search .site-main,
.search-no-results .site-main {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding: 180px 15px 120px;
	font-family: var(--font-body, "Sora", sans-serif);
	color: var(--color-bleu-atlantique, #004056);
}

/* ----- Titre « Résultats de recherche pour : … » ----- */
.search .page-header {
	margin-bottom: 70px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--color-bleu-atlantique-60, rgba(0, 64, 86, 0.6));
}
.search .page-title {
	margin: 0;
	font-family: var(--font-heading, "Ancizar Sans", sans-serif);
	font-size: clamp(1.9rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--color-bleu-atlantique, #004056);
}
/* Le terme recherché est déjà dans un <span> par Underscores */
.search .page-title span {
	color: var(--color-vert-crozon, #009993);
}

/* ----- Un résultat -----
   Grille : titre + méta sur toute la largeur, puis vignette à gauche
   et extrait à droite. */
.search .site-main article {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	column-gap: 40px;
	align-items: start;
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 1px solid rgba(0, 64, 86, 0.2);
}
.search .entry-header {
	grid-column: 1 / -1;
}
.search .post-thumbnail {
	grid-column: 1;
}
.search .entry-summary {
	grid-column: 2;
}
.search .entry-footer {
	grid-column: 1 / -1;
}

/* Sans vignette : l'extrait occupe toute la largeur */
.search .site-main article:not(:has(.post-thumbnail)) {
	grid-template-columns: minmax(0, 1fr);
}
.search .site-main article:not(:has(.post-thumbnail)) .entry-summary {
	grid-column: 1 / -1;
}
.search .site-main article:last-of-type {
	border-bottom: 0;
}

.search .entry-title {
	margin: 0 0 14px;
	font-family: var(--font-heading, "Ancizar Sans", sans-serif);
	font-size: clamp(1.3rem, 2.2vw, 1.8rem);
	font-weight: 700;
	line-height: 1.25;
}
.search .entry-title a {
	color: var(--color-bleu-atlantique, #004056);
	text-decoration: none;
	transition: color .25s ease;
}
.search .entry-title a:hover,
.search .entry-title a:focus-visible {
	color: var(--color-vert-crozon, #009993);
}

/* Date / méta */
.search .entry-meta {
	margin-bottom: 16px;
	font-size: 0.9rem;
	opacity: 0.7;
}
.search .entry-meta a {
	color: inherit;
	text-decoration: none;
}

/* Extrait */
.search .entry-summary {
	max-width: 820px;
	font-size: 1.02rem;
	line-height: 1.6;
}
.search .entry-summary p {
	margin: 0 0 1em;
}
.search .entry-summary p:last-child {
	margin-bottom: 0;
}

/* Vignette si le thème en affiche une */
.search .post-thumbnail {
	display: block;
	margin: 0;
}
.search .post-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
}

/* Le « Lire la suite » que WordPress ajoute parfois aux extraits */
.search .entry-summary .more-link {
	display: inline-block;
	margin-top: 8px;
	font-weight: 700;
	color: var(--color-bleu-atlantique, #004056);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
}
.search .entry-summary .more-link:hover {
	color: var(--color-vert-crozon, #009993);
}

/* ----- Aucun résultat ----- */
.search-no-results .page-content {
	max-width: 700px;
	font-size: 1.05rem;
	line-height: 1.6;
}
.search-no-results .page-content p {
	margin: 0 0 24px;
}

/* Le formulaire de recherche affiché quand il n'y a pas de résultat */
.search .search-form,
.search-no-results .search-form {
	display: flex;
	gap: 12px;
	align-items: flex-end;
	max-width: 560px;
	margin-top: 10px;
}
.search .search-form label,
.search-no-results .search-form label {
	flex: 1 1 auto;
	margin: 0;
}
.search .search-field,
.search-no-results .search-field {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	padding: 12px 4px;
	border: 0;
	border-bottom: 1px solid var(--color-bleu-atlantique, #004056);
	background: transparent;
	color: var(--color-bleu-atlantique, #004056);
	font-family: inherit;
	font-size: 1.05rem;
	outline: none;
}
.search .search-field::placeholder,
.search-no-results .search-field::placeholder {
	color: rgba(0, 64, 86, 0.5);
}
.search .search-submit,
.search-no-results .search-submit {
	flex: 0 0 auto;
	padding: 13px 28px;
	border: 1px solid var(--color-bleu-atlantique, #004056);
	border-radius: 4px;
	background: transparent;
	color: var(--color-bleu-atlantique, #004056);
	font-family: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}
.search .search-submit:hover,
.search-no-results .search-submit:hover {
	background: var(--color-bleu-atlantique, #004056);
	color: var(--color-blanc-alpin, #F6FBFE);
}

/* ----- Pagination ----- */
.search .navigation.pagination {
	margin-top: 70px;
	padding-top: 36px;
	border-top: 1px solid rgba(0, 64, 86, 0.2);
}
.search .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.search .nav-links .page-numbers {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--color-bleu-atlantique-60, rgba(0, 64, 86, 0.6));
	border-radius: 4px;
	color: var(--color-bleu-atlantique, #004056);
	text-decoration: none;
	font-weight: 700;
	transition: background-color .25s ease, color .25s ease;
}
.search .nav-links .page-numbers:hover,
.search .nav-links .page-numbers.current {
	background: var(--color-bleu-atlantique, #004056);
	color: var(--color-blanc-alpin, #F6FBFE);
	border-color: var(--color-bleu-atlantique, #004056);
}
.search .nav-links .page-numbers.dots {
	border: 0;
	background: transparent;
	color: inherit;
}

/* ----- Mobile ----- */
@media (max-width: 767px) {
	.search .site-main,
	.search-no-results .site-main {
		padding: 130px 20px 70px;
	}
	.search .page-header {
		margin-bottom: 44px;
		padding-bottom: 24px;
	}
	.search .site-main article {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 18px;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.search .post-thumbnail,
	.search .entry-summary {
		grid-column: 1 / -1;
	}
	.search .post-thumbnail { max-width: 420px; }
	.search .search-form,
	.search-no-results .search-form {
		flex-direction: column;
		align-items: stretch;
	}
	.search .navigation.pagination {
		margin-top: 46px;
	}
}

.search-results .site-header__inner,
.search-no-results .site-header__inner {
	background-color: var(--color-bleu-atlantique);
}

.nav-links a {
	color: var(--color-bleu-atlantique) !important;
}


.page-id-1351 p,
.page-id-473 p {
	font-size: 16px;
	line-height: 1.4;
}

footer .wpb_single_image img {
  height: 20px;
  width:auto !important;
}

#par2sora.advenn-text .advenn-text__content p:nth-of-type(2) {
	font-family: var(--font-body, "Sora", sans-serif);
	font-size:16px;
	font-weight:400;
}
#forcesora.advenn-text .advenn-text__content p {
  font-family: var(--font-body);
  font-size:16px;
  font-weight:400px;
}

.advenn-split__title {
	font-size:28px !important;
}

a:visited {
  color: var(--color-bleu-atlantique) !important;
}

nav a:visited,
.advenn-stats a:visited,
.bg-atlantic a:visited {
  color: #fff !important;
}

.nomarginbottom {
	margin-bottom:0px !important;
}

.moremargintop {
	margin-top:40px;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(1) { top: 7px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

@media (max-width: 767px) {
	.site-search { display: none; }

	.main-navigation { z-index: 110; }

	/* Burger poussé à droite */
	.menu-toggle {
		margin-left: auto;
	}

	/* Panneau plein écran (recouvre aussi la barre du header) */
	.main-navigation {
		top: 0;
		padding-top: 120px;   /* dégage l'espace du logo/croix par-dessus */
	}

	/* Logo et croix au-dessus du panneau */
	.site-branding {
		z-index: 120;
	}
}

.error404 .site-header,
.error404 .site-main {
	background: var(--color-bleu-atlantique);
	color:#fff !important;
}

.error404 .site-main {
	padding-top:200px;
}

.error404 .page-content h3,
.error404 .page-content p,
.error404 .page-content a {
	color:#fff !important;
}

.error-404.not-found {
  width: 1250px;
  max-width: calc(100% - 30px);
  margin: 0 auto;
  padding-bottom: 200px;
}

.wpcf7 form .wpcf7-response-output {
	color:var(--color-blanc-alpin) !important;
}