@charset "UTF-8";

/**
 * reset.css 2.0.0
 * Author: hybrid.
 *
 * Reset and base element styles.
 * Figcaption styles live in medias.css.
 * Alignment utilities live in alignment.css.
 * Visibility utilities (.hidden, .only-mobile...) live here.
 * Project overrides live in styles.css.
 *
 * Sections
 * VARS        — tokens (stroke, titles, bullets, anchors, ellipsis, mark)
 * RESET       — box-sizing, font smoothing, base element reset
 * HR          — separator base
 * TITLES      — h1-h6 reset + heading alignment
 * LISTS       — ul, ol, bullet
 * ANCHORS     — inline links, labels, selection
 * HIGHLIGHTED — mark, .highlighted
 * ELLIPSIS    — line-clamp utility
 * VISIBILITY  — only-mobile, only-desktop, for-mobile, hidden, disabled
 *
 * Dependencies
 * --accent-color     defined in colors.css
 * --selection-color  defined in colors.css
 * --font-weight-bold defined in fonts.css
 *
 * Tokens defined here
 * --stroke-width
 * --title-gap / --title-transform
 * --bullet-color / --bullet-size / --bullet-font-size / --bullet-padding
 * --anchor-gap / --anchor-hover-color / --anchor-underline-width / --anchor-underline-color
 * --ellipsis-lines
 * --mark-padding / --mark-gap / --mark-color / --mark-background
 * --disabled-opacity
 */



/* ================================================================================================== */
/* ============================================= CONFIG ============================================= */
/* ================================================================================================== */

:root {

	/* ui */
	--stroke-width: .125rem;

	/* titles */
	--title-gap: 0 1em;
	--title-line-height: 1;
	--title-transform: uppercase;

	/* lists */
	--bullet-font-size: .75rem;
	--bullet-color: currentColor;
	--bullet-size: .5rem;
	--bullet-padding: .5rem;
	--bullet-top: calc(var(--bullet-size) * 2.5); /* 50% if centered */
	--bullet-top-transform: none; /* translateY(-50%) if centered */

	/* anchors */
	--anchor-gap: .5em;
	--anchor-hover-color: var(--accent-color);
	--anchor-underline-width:  calc(var(--stroke-width) / 2);
	--anchor-underline-color: currentColor;

	/* mark */
	--mark-line-height: 1.5;
	--mark-padding: .125em .25em;
	--mark-color: var(--bright-color);
	--mark-background: var(--accent-color);

	/* ellipsis */
	--ellipsis-lines: 3;
	
	/* visibility */
	--disabled-opacity: .33;
}



/* ================================================================================================= */
/* ============================================= RESET ============================================= */
/* ================================================================================================= */


/* ============================== BOX MODEL ============================== */

*,
*:before,
*:after {
	box-sizing: border-box;
}


/* ============================== BASE ============================== */

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ============================== ELEMENTS ============================== */

h1, h2, h3, h4, h5, h6,
ul, ol,
p, a, span,
blockquote,
img, figure,
fieldset {
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: inherit;
}
a {
	position: relative;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	outline: 0;
	text-decoration: none;
}
p {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
b, strong,
i, em, del {
	line-height: inherit;
}
sup {
	line-height: 0;
}
ul, ol {
    list-style: none;
}
img, svg, picture,
video, audio, iframe, canvas {
	display: block;
}
img, figure,
iframe,
fieldset {
	border: 0;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	margin: 0;
}



/* ================================================================================================ */
/* ============================================= CORE ============================================= */
/* ================================================================================================ */


/* ============================== HR ============================== */

hr {
	position: relative;
	width: 100%;
	border: 0;
	color: inherit;
}
hr:not(.blank) {
	border-bottom: solid var(--stroke-width);
}


/* ============================== TITLES ============================== */

h1, h2, h3, h4, h5, h6 {
	/*display: inline-flex;
	align-items: center;
	gap: var(--title-gap);*/ /*0 1em;*/
	/*line-height: 1;*/
	line-height: var(--title-line-height);
	text-transform: var(--title-transform);
	/*width: 100%;*/
}


/* =============== ALIGNMENT =============== */


h1.inline, h2.inline, h3.inline, h4.inline, h5.inline, h6.inline {
    align-items: center;
    gap: var(--title-gap);
}

/*h1.text-left,   h2.text-left,   h3.text-left,   h4.text-left,   h5.text-left,   h6.text-left   { justify-content: flex-start; }
h1.text-center, h2.text-center, h3.text-center, h4.text-center, h5.text-center, h6.text-center { justify-content: center; }
h1.text-right,  h2.text-right,  h3.text-right,  h4.text-right,  h5.text-right,  h6.text-right  { justify-content: flex-end; }*/


/* ============================== LISTS ============================== */

/* =============== UL =============== */

ul:not(nav ul):not(.list):not(.inline) li {
	position: relative;
	display: block;
	padding: var(--bullet-size) 0 var(--bullet-size) calc(var(--bullet-size) * 3);
}
ul:not(nav ul):not(.list):not(.inline) li::before {
	content: '';
	position: absolute;
	top: var(--bullet-top);
	left: 0;
	transform: var(--bullet-top-transform);
	height: var(--bullet-size);
	aspect-ratio: 1/1;
	background: var(--bullet-color);
	border-radius: 50%;
}


/* =============== OL =============== */

ol li {
	position: relative;
	display: block;
	counter-increment: step-counter;
	padding: var(--bullet-padding) 0 var(--bullet-padding) calc(var(--bullet-padding) * 5);
}
ol li::before {
	position: absolute;
	top: var(--bullet-top);
	left: 0;
	transform: var(--bullet-top-transform);
	content: counter(step-counter);
	display: inline-block;
	text-align: center;
	color: var(--bright-color);
	background: var(--bullet-color);
	font-size: var(--bullet-font-size);
	line-height: 1;
	width: 1em;
	aspect-ratio: 1/1;
	padding: var(--bullet-padding);
	border-radius: 50%;
}


/* ============================== ANCHORS ============================== */

a {
	display: inline-flex;
	gap: var(--anchor-gap);
}


/* =============== CONTENT =============== */

/*
 * Option A — ::after (animation scaleX, position: relative requis sur a)
 * Option B — text-decoration (multiligne natif, pas d'animation scaleX)
 */

p a::after, figcaption a::after, blockquote a::after, li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: var(--anchor-underline-width);
	background: var(--anchor-underline-color);
	transform: scaleX(1);
	transform-origin: left;
}

/*
p a, figcaption a, blockquote a, li a {
	text-decoration: underline;
	text-decoration-thickness: var(--anchor-underline-width);
	text-underline-position: from-font;
}
*/

/* =============== ACTIVE =============== */

p a.active, figcaption a.active, blockquote a.active, li a.active {
	color: var(--anchor-hover-color);
}
p a.active::after, figcaption a.active::after, blockquote a.active::after, li a.active::after {
	transform: scaleX(0);
	transform-origin: right;
}

/*
p a.active, figcaption a.active, blockquote a.active, li a.active {
	color: var(--anchor-hover-color);
	text-decoration-color: transparent;
}
*/


/* =============== NAV =============== */

nav li > a::after { display: none; }


/* =============== HOVER =============== */

@media (hover: hover) {
	p a:hover, figcaption a:hover, blockquote a:hover, li a:hover {
		color: var(--anchor-hover-color);
	}
	p a:hover::after, figcaption a:hover::after, blockquote a:hover::after, li a:hover::after {
		transform: scaleX(0);
		transform-origin: right;
	}
}
@media (hover: none) {
	p a.hover, figcaption a.hover, blockquote a.hover, li a.hover {
		color: var(--anchor-hover-color);
	}
	p a.hover::after, figcaption a.hover::after, blockquote a.hover::after, li a.hover::after {
		transform: scaleX(0);
		transform-origin: right;
	}
}

/*
@media (hover: hover) {
	p a:hover, figcaption a:hover, blockquote a:hover, li a:hover {
		color: var(--anchor-hover-color);
		text-decoration-color: transparent;
	}
}
@media (hover: none) {
	p a.hover, figcaption a.hover, blockquote a.hover, li a.hover {
		color: var(--anchor-hover-color);
		text-decoration-color: transparent;
	}
}
*/

/* =============== SELECTION =============== */

::-moz-selection { background: var(--selection-color); }
::selection      { background: var(--selection-color); }


/* ============================== HIGHLIGHTED ============================== */

mark,
.highlighted {
    display: inline;
    color: var(--mark-color);
    background-color: var(--mark-background);
    line-height: var(--mark-line-height);
    padding: var(--mark-padding);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}


/* ============================== ELLIPSIS ============================== */

.ellipsis {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--ellipsis-lines);
	text-overflow: ellipsis;
	overflow: hidden;
}


/* ============================== VISIBILITY ============================== */

/* =============== RESPONSIVE =============== */

@media (min-width: 1000px) {
	.only-mobile { display: none !important; }
}
@media (max-width: 1000px) {
	.only-desktop { display: none !important; }
}


/* =============== JS DETECTION =============== */

body:not(.mobile) .for-mobile, body.mobile .for-desktop {
	display: none !important;
}


/* =============== UTILITIES =============== */

.hidden,
a .label,
button .label {
	position: absolute;
	width: 0;
	height: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	white-space: nowrap;
}
a .label,
button .label {
	font-size: 0;
	flex-shrink: 0;
}

.disabled {
	pointer-events: none;
	opacity: var(--disabled-opacity);
}

[hidden] { display: none !important; }


/* ============================== MULTIMEDIA ============================== */

video, audio {
	width: 100%;
	height: auto;
}
iframe { max-width: 100%; }

/* Hide native browser video controls (download button, panel overflow) */

video::-internal-media-controls-download-button { display: none; }
video::-webkit-media-controls-enclosure { overflow: hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 32px); margin-left: auto; }



/* ============================================================================================== */
/* ============================================= WP ============================================= */
/* ============================================================================================== */


html { margin-top: 0 !important; }
#wpadminbar li a::after { display: none; }
.wp-login-logo a { width: 100%; }