/* AT Custom Blocks — extensions des blocs natifs. Source 1: columns-horizontal-scroll.css */
.wp-block-columns.has-at-columns-before,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns {
	--at-columns-before-size: 120px;
	--at-columns-before-align: left;
	--at-columns-before-weight: 800;
	--at-columns-before-opacity: 0.14;
	--at-columns-before-color: currentColor;
	--at-columns-before-top: 0px;
	counter-reset: at-columns-before;
	overflow: visible !important;
}

.wp-block-columns.has-at-columns-before > .wp-block-column,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"],
.editor-styles-wrapper .wp-block-columns.has-at-columns-before > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"] {
	position: relative;
	overflow: visible !important;
	isolation: isolate;
	counter-increment: at-columns-before;
}

.wp-block-columns.has-at-columns-before > .wp-block-column:not(.has-no-at-column-before)::before,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"]:not(.has-no-at-column-before)::before,
.editor-styles-wrapper .wp-block-columns.has-at-columns-before > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"]:not(.has-no-at-column-before)::before {
	content: counter(at-columns-before, decimal-leading-zero);
	position: absolute;
	top: var(--at-columns-before-top);
	left: 0;
	right: 0;
	z-index: 0;
	display: block;
	width: 100%;
	color: var(--at-columns-before-color);
	font-family: inherit;
	font-size: var(--at-columns-before-size);
	font-weight: var(--at-columns-before-weight);
	line-height: 0.82;
	text-align: var(--at-columns-before-align);
	letter-spacing: -0.06em;
	opacity: var(--at-columns-before-opacity);
	pointer-events: none;
}

.wp-block-columns.has-at-columns-before > .wp-block-column[data-at-column-before]:not(.has-no-at-column-before)::before,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"][data-at-column-before]:not(.has-no-at-column-before)::before,
.editor-styles-wrapper .wp-block-columns.has-at-columns-before > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"][data-at-column-before]:not(.has-no-at-column-before)::before {
	content: attr(data-at-column-before);
}

.wp-block-columns.has-at-columns-before > .wp-block-column.has-no-at-column-before::before,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"].has-no-at-column-before::before,
.editor-styles-wrapper .wp-block-columns.has-at-columns-before > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"].has-no-at-column-before::before {
	content: none !important;
}

.wp-block-columns.has-at-columns-before > .wp-block-column:not(.has-no-at-column-before) > *,
.editor-styles-wrapper .block-editor-block-list__block.has-at-columns-before > .wp-block-columns > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"]:not(.has-no-at-column-before) > *,
.editor-styles-wrapper .wp-block-columns.has-at-columns-before > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="core/column"]:not(.has-no-at-column-before) > * {
	position: relative;
	z-index: 1;
}

.wp-block-columns.has-at-horizontal-scroll {
	--at-columns-scroll-default-width-tablet: 360px;
	--at-columns-scroll-default-width-mobile: 82vw;
	--at-columns-scroll-gap-tablet: 20px;
	--at-columns-scroll-gap-mobile: 16px;
	--at-columns-scroll-padding-top-tablet: 0px;
	--at-columns-scroll-padding-right-tablet: 32px;
	--at-columns-scroll-padding-bottom-tablet: 0px;
	--at-columns-scroll-padding-left-tablet: 32px;
	--at-columns-scroll-padding-top-mobile: 0px;
	--at-columns-scroll-padding-right-mobile: 20px;
	--at-columns-scroll-padding-bottom-mobile: 0px;
	--at-columns-scroll-padding-left-mobile: 20px;
}

@media (max-width: 767px) {
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column {
		order: 999;
	}

	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(1) { order: 1; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(2) { order: 2; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(3) { order: 3; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(4) { order: 4; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(5) { order: 5; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(6) { order: 6; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(7) { order: 7; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(8) { order: 8; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(9) { order: 9; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(10) { order: 10; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(11) { order: 11; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(12) { order: 12; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(13) { order: 13; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(14) { order: 14; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(15) { order: 15; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(16) { order: 16; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(17) { order: 17; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(18) { order: 18; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(19) { order: 19; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(20) { order: 20; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(21) { order: 21; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(22) { order: 22; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(23) { order: 23; }
	.wp-block-columns.has-at-columns-reverse-mobile > .wp-block-column:nth-last-child(24) { order: 24; }
}

@media (max-width: 1024px) {
	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-tablet {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		justify-content: flex-start;
		gap: var(--at-columns-scroll-gap-tablet) !important;
		width: 100%;
		max-width: none !important;
		padding-top: var(--at-columns-scroll-padding-top-tablet) !important;
		padding-right: var(--at-columns-scroll-padding-right-tablet) !important;
		padding-bottom: var(--at-columns-scroll-padding-bottom-tablet) !important;
		padding-left: var(--at-columns-scroll-padding-left-tablet) !important;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-tablet.has-at-horizontal-scroll-full-bleed {
		position: relative;
		left: 50%;
		right: 50%;
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
	}

	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-tablet > .wp-block-column {
		flex: 0 0 var(--at-column-scroll-width-tablet, var(--at-columns-scroll-default-width-tablet)) !important;
		width: var(--at-column-scroll-width-tablet, var(--at-columns-scroll-default-width-tablet)) !important;
		min-width: var(--at-column-scroll-width-tablet, var(--at-columns-scroll-default-width-tablet)) !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-tablet.has-at-horizontal-scroll-hidden-scrollbar {
		scrollbar-width: none;
	}

	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-tablet.has-at-horizontal-scroll-hidden-scrollbar::-webkit-scrollbar {
		display: none;
	}
}

@media (max-width: 767px) {
	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-mobile {
		gap: var(--at-columns-scroll-gap-mobile) !important;
		padding-top: var(--at-columns-scroll-padding-top-mobile) !important;
		padding-right: var(--at-columns-scroll-padding-right-mobile) !important;
		padding-bottom: var(--at-columns-scroll-padding-bottom-mobile) !important;
		padding-left: var(--at-columns-scroll-padding-left-mobile) !important;
	}

	.wp-block-columns.has-at-horizontal-scroll.has-at-horizontal-scroll-mobile > .wp-block-column {
		flex-basis: var(--at-column-scroll-width-mobile, var(--at-columns-scroll-default-width-mobile)) !important;
		width: var(--at-column-scroll-width-mobile, var(--at-columns-scroll-default-width-mobile)) !important;
		min-width: var(--at-column-scroll-width-mobile, var(--at-columns-scroll-default-width-mobile)) !important;
	}
}

.editor-styles-wrapper .wp-block-columns.has-at-horizontal-scroll {
	outline: 1px dashed rgba(30, 113, 184, 0.35);
	outline-offset: 2px;
}

/* Source 2: global-separators.css */
.has-at-block-separator,
.editor-styles-wrapper .has-at-block-separator {
	--at-separator-before-width: 48px;
	--at-separator-before-height: 2px;
	--at-separator-before-gap: 18px;
	--at-separator-before-color: currentColor;
	--at-separator-before-opacity: 1;
	--at-separator-before-x: 0px;
	--at-separator-before-y: 0px;
	--at-separator-before-image: none;
	--at-separator-after-width: 48px;
	--at-separator-after-height: 2px;
	--at-separator-after-gap: 18px;
	--at-separator-after-color: currentColor;
	--at-separator-after-opacity: 1;
	--at-separator-after-x: 0px;
	--at-separator-after-y: 0px;
	--at-separator-after-image: none;
	position: relative;
	overflow: visible;
}

.has-at-separator-before::before,
.has-at-separator-after::after,
.editor-styles-wrapper .has-at-separator-before::before,
.editor-styles-wrapper .has-at-separator-after::after {
	content: "";
	box-sizing: border-box;
	pointer-events: none;
	flex: 0 0 auto;
	line-height: 1;
}

.has-at-separator-before-type-line::before,
.editor-styles-wrapper .has-at-separator-before-type-line::before {
	width: var(--at-separator-before-width);
	height: var(--at-separator-before-height);
	background: var(--at-separator-before-color);
	opacity: var(--at-separator-before-opacity);
}

.has-at-separator-after-type-line::after,
.editor-styles-wrapper .has-at-separator-after-type-line::after {
	width: var(--at-separator-after-width);
	height: var(--at-separator-after-height);
	background: var(--at-separator-after-color);
	opacity: var(--at-separator-after-opacity);
}

.has-at-separator-before-type-image::before,
.editor-styles-wrapper .has-at-separator-before-type-image::before {
	width: var(--at-separator-before-width);
	height: var(--at-separator-before-height);
	background-color: transparent;
	background-image: var(--at-separator-before-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: var(--at-separator-before-opacity);
}

.has-at-separator-after-type-image::after,
.editor-styles-wrapper .has-at-separator-after-type-image::after {
	width: var(--at-separator-after-width);
	height: var(--at-separator-after-height);
	background-color: transparent;
	background-image: var(--at-separator-after-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: var(--at-separator-after-opacity);
}

.has-at-separator-before-mode-flow::before,
.editor-styles-wrapper .has-at-separator-before-mode-flow::before {
	display: block;
	margin-bottom: var(--at-separator-before-gap);
}

.has-at-separator-after-mode-flow::after,
.editor-styles-wrapper .has-at-separator-after-mode-flow::after {
	display: block;
	margin-top: var(--at-separator-after-gap);
}

.has-at-separator-before-mode-flow.has-at-separator-before-align-left::before,
.has-at-separator-after-mode-flow.has-at-separator-after-align-left::after,
.editor-styles-wrapper .has-at-separator-before-mode-flow.has-at-separator-before-align-left::before,
.editor-styles-wrapper .has-at-separator-after-mode-flow.has-at-separator-after-align-left::after {
	margin-right: auto;
	margin-left: 0;
}

.has-at-separator-before-mode-flow.has-at-separator-before-align-center::before,
.has-at-separator-after-mode-flow.has-at-separator-after-align-center::after,
.editor-styles-wrapper .has-at-separator-before-mode-flow.has-at-separator-before-align-center::before,
.editor-styles-wrapper .has-at-separator-after-mode-flow.has-at-separator-after-align-center::after {
	margin-right: auto;
	margin-left: auto;
}

.has-at-separator-before-mode-flow.has-at-separator-before-align-right::before,
.has-at-separator-after-mode-flow.has-at-separator-after-align-right::after,
.editor-styles-wrapper .has-at-separator-before-mode-flow.has-at-separator-before-align-right::before,
.editor-styles-wrapper .has-at-separator-after-mode-flow.has-at-separator-after-align-right::after {
	margin-right: 0;
	margin-left: auto;
}

.has-at-separator-before-mode-inline::before,
.editor-styles-wrapper .has-at-separator-before-mode-inline::before {
	display: inline-block;
	vertical-align: middle;
	margin-right: var(--at-separator-before-gap);
}

.has-at-separator-after-mode-inline::after,
.editor-styles-wrapper .has-at-separator-after-mode-inline::after {
	display: inline-block;
	vertical-align: middle;
	margin-left: var(--at-separator-after-gap);
}

.has-at-separator-before-mode-absolute::before,
.editor-styles-wrapper .has-at-separator-before-mode-absolute::before,
.has-at-separator-after-mode-absolute::after,
.editor-styles-wrapper .has-at-separator-after-mode-absolute::after {
	position: absolute;
	z-index: 0;
	display: block;
}

.has-at-separator-before-mode-absolute.has-at-separator-before-position-top::before,
.editor-styles-wrapper .has-at-separator-before-mode-absolute.has-at-separator-before-position-top::before {
	top: var(--at-separator-before-y);
	bottom: auto;
	left: var(--at-separator-before-x);
	right: auto;
}

.has-at-separator-before-mode-absolute.has-at-separator-before-position-bottom::before,
.editor-styles-wrapper .has-at-separator-before-mode-absolute.has-at-separator-before-position-bottom::before {
	top: auto;
	bottom: var(--at-separator-before-y);
	left: var(--at-separator-before-x);
	right: auto;
}

.has-at-separator-before-mode-absolute.has-at-separator-before-position-left::before,
.editor-styles-wrapper .has-at-separator-before-mode-absolute.has-at-separator-before-position-left::before {
	top: var(--at-separator-before-y);
	bottom: auto;
	left: var(--at-separator-before-x);
	right: auto;
}

.has-at-separator-before-mode-absolute.has-at-separator-before-position-right::before,
.editor-styles-wrapper .has-at-separator-before-mode-absolute.has-at-separator-before-position-right::before {
	top: var(--at-separator-before-y);
	bottom: auto;
	left: auto;
	right: var(--at-separator-before-x);
}

.has-at-separator-after-mode-absolute.has-at-separator-after-position-top::after,
.editor-styles-wrapper .has-at-separator-after-mode-absolute.has-at-separator-after-position-top::after {
	top: var(--at-separator-after-y);
	bottom: auto;
	left: var(--at-separator-after-x);
	right: auto;
}

.has-at-separator-after-mode-absolute.has-at-separator-after-position-bottom::after,
.editor-styles-wrapper .has-at-separator-after-mode-absolute.has-at-separator-after-position-bottom::after {
	top: auto;
	bottom: var(--at-separator-after-y);
	left: var(--at-separator-after-x);
	right: auto;
}

.has-at-separator-after-mode-absolute.has-at-separator-after-position-left::after,
.editor-styles-wrapper .has-at-separator-after-mode-absolute.has-at-separator-after-position-left::after {
	top: var(--at-separator-after-y);
	bottom: auto;
	left: var(--at-separator-after-x);
	right: auto;
}

.has-at-separator-after-mode-absolute.has-at-separator-after-position-right::after,
.editor-styles-wrapper .has-at-separator-after-mode-absolute.has-at-separator-after-position-right::after {
	top: var(--at-separator-after-y);
	bottom: auto;
	left: auto;
	right: var(--at-separator-after-x);
}

.has-at-separator-before-mode-absolute > *,
.has-at-separator-after-mode-absolute > *,
.editor-styles-wrapper .has-at-separator-before-mode-absolute > *,
.editor-styles-wrapper .has-at-separator-after-mode-absolute > * {
	position: relative;
	z-index: 1;
}
