@charset "UTF-8";

/**
 * spacing.css 2.0.0
 * Author: hybrid.
 *
 * Vertical rhythm and content flow — margin-top between sibling elements.
 * Uses lobotomized owl pattern (A + B) on an explicit list.
 *
 * Two levels:
 * --content-spacing      — between sibling elements
 * --content-spacing * 2  — before h1, h2 (thematic break)
 *
 * Sections
 * CONFIG      — tokens
 * CORE        — native HTML elements and reusable framework classes
 * THEME       — project-specific overrides, classes and custom rules
 *
 * Tokens
 * --content-spacing   vertical rhythm between sibling elements (p, h, ul...)
 *
 * Dependencies
 * --gutter-gap        defined in structure.css
 * --section-gap       defined in structure.css
 * --content-max-width defined in structure.css
 */



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

:root {
	--content-spacing: 1.25rem;
}

@media (min-width: 760px) {
	:root {
		--content-spacing: 1.5rem;
	}
}
@media (min-width: 1000px) {
	:root {
		--content-spacing: 2rem;
	}
}



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


/* ============================== FLOW ============================== */

h1:not(.short) + *,
h2:not(.short) + *,
h3:not(.short) + *,
h4:not(.short) + *,
h5:not(.short) + *,
h6:not(.short) + *,

p + *,
pre + *,
blockquote + *,
hr + *,
ul + *,
ol + *,
figure + *,
img + *,
svg + * {
	margin-top: var(--content-spacing);
}


/* ============================== COMPONENTS ============================== */

.columns + *,
.columnizer + *,

.is-limited + *,

.grid-container + *,
.grid + *,
.grid .items + *,
.results + *,
.results-title + *,

.swiper-container + *,

nav + *,
.buttons + *,
.button + *,

* + hr,

.table + *,
* + .table,

.mediaplayer + *,

.collapsible + *,
.collapsible-toggle + *,

fieldset + *,
form + *,
form > * + * {
	margin-top: var(--content-spacing);
}

form label + * {
	margin-top: calc(var(--content-spacing) / 3);
}



/* ================================================================================================= */
/* ============================================= THEME ============================================= */
/* ================================================================================================= */


/* ============================== OVERRIDES ============================== */

/*h1:first-child,
h2:first-child,*/
h1.short + *,
h2.short + *,
h3.short + *,
h4.short + *,
h5.short + *,
h6.short + *,
.hidden:not(h1) + *,
h1.hidden + .main-title,

section.banner,
section:not([class*='-background-color']) + h1,
section:not([class*='-background-color']) + h2,
section + section,
section:not(.banner):not([class*='-background-color']) + section:not(.focus):not([class*='-background-color']) .section-content,
.background + *,
* + section[class*='-background-color'],
label.hidden + * {
	margin-top: 0 !important;
}
/*
h1,
h2 {
	margin-top: calc(var(--content-spacing) * 2) !important;
}
*/
.focus + h1,
.focus + h2 {
	margin-top: var(--content-spacing) !important;
}

section[class*='-background-color'] + * {
	margin-top: var(--content-spacing);
}

* + label.hidden {
	position: relative;
}


/* ============================== THEME ============================== */

.post-title + *,
.post-metas + *,
.post-meta + *,
.post-day + *,
.post-date + *,
.post-time + *,
.post-location + *,
.post-country + *,
.post-price + *,
.post-production + *,
.post-tag + *,

.infos + *,
.images + *,
.description + *,
.important + * {
	margin-top: var(--content-spacing);
}