/********************************************************/
/*
/*      Blocks CSS
/*
/********************************************************/
	
	:root .wp-block-post-content:where(.is-layout-constrained) > * {
		margin-block-start: 0;
	}
	
	.wp-block-post-content > .has-background:not(.alignfull) {
		position: relative;
	}
	
	.wp-block-post-content > .has-background:not(.alignfull)::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
		background-color: inherit;
		z-index: -1;
	}
	
	/* Blocks with hardcoded inline margins */
	@media (width <= 800px) {
		.wp-block-post-content :is(p, [class*="wp-block-"])[style*="margin-left:"] {
			margin-inline-start: unset !important;
		}
		
		.wp-block-post-content :is(p, [class*="wp-block-"])[style*="margin-right:"] {
			margin-inline-end: unset !important;
		}
	}
	
	/******************************/
	/* Accordions (Cake block)
	/******************************/
	/* Item */
	.wp-block-cke-accordion-item {
		position: relative;
		color: var(--wp--custom--color--default--text);
		background-color: var(--wp--custom--color--default--bg-2);
		padding: var(--wp--preset--spacing--3-5) var(--wp--preset--spacing--2-5);
		border-radius: var(--wp--custom--border-radius);
		box-sizing: border-box;
	}
	
	.wp-block-cke-accordion-item > .toggle-accordion-btn {
	}
	
	.wp-block-cke-accordion-item > .toggle-accordion-btn {
		position: absolute;
		top: var(--wp--preset--spacing--3-5);
		right: var(--wp--preset--spacing--2-5);
		width: 60px !important;
		height: 60px !important;
		min-height: 60px;
		background-color: var(--wp--custom--color--default--focus) !important;
		padding-block: unset !important;
		padding-inline: unset !important;
		margin-block-start: unset !important;
		border-radius: 50% !important;
		mask: url(../images/arrow.svg) center / 50% auto, linear-gradient(#fff, #fff);
		mask-composite: exclude;
		mask-repeat: no-repeat;
		rotate: 90deg;
		transition: rotate .3s !important;
	}
	
	.wp-block-cke-accordion-item > .toggle-accordion-btn::before {
		display: none !important;
	}
	
	input:is([type="checkbox"],[type="radio"]):checked + .wp-block-cke-accordion-item > .toggle-accordion-btn {
		rotate: -90deg;
	}
	
	/* Head */
	.wp-block-cke-accordion-head {
		display: inline-block;
		width: max-content;	
		max-width: calc(100% - (60px + var(--wp--preset--spacing--2)));
	}
	
	.wp-block-cke-accordion-head > * {
		width: 100%;
		max-width: 100% !important;
	}
	
	/* Responsive */
	@media (width <= 1200px) {
		/* Item */
		.wp-block-cke-accordion-item {
			padding: var(--wp--preset--spacing--2-5);
		}
		
		.wp-block-cke-accordion-item~.wp-block-cke-accordion-item {
			margin-block-start: var(--wp--preset--spacing--5);
		}
		
		.wp-block-cke-accordion-item > .toggle-accordion-btn {
			top: var(--wp--preset--spacing--2);
		}
	}
	
	@media (width <= 800px) {
		/* Item */
		.wp-block-cke-accordion-item~.wp-block-cke-accordion-item {
			margin-block-start: var(--wp--preset--spacing--3);
		}
		
		/* Head */
		.wp-block-cke-accordion-head > h2 {
			font-size: var(--wp--preset--font-size--large);
		}
		
		.wp-block-cke-accordion-head > h3 {
			font-size: var(--wp--preset--font-size--medium-large);
		}
	}
	
	@media (width <= 600px) {
		/* Item */
		.wp-block-cke-accordion-item {
			padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--2-5);
		}
		
		.wp-block-cke-accordion-item > .toggle-accordion-btn {
			width: 50px !important;
			height: 50px !important;
			min-height: 50px;
		}
		
		/* Head */
		.wp-block-cke-accordion-head {
			max-width: calc(100% - (50px + var(--wp--preset--spacing--1)));
		}
	}
	
	@media (width <= 450px) {
		/* Item */
		.wp-block-cke-accordion-item {
			padding: var(--wp--preset--spacing--2);
		}
		
		.wp-block-cke-accordion-item~.wp-block-cke-accordion-item {
			margin-block-start: var(--wp--preset--spacing--2);
		}
		
		.wp-block-cke-accordion-item > .toggle-accordion-btn {
			right: var(--wp--preset--spacing--2);
			width: 44px !important;
			height: 44px !important;
			min-height: 44px;
		}
		
		/* Head */
		.wp-block-cke-accordion-head {
			max-width: calc(100% - (44px + var(--wp--preset--spacing--1)));
		}
	}
	
	@media (width <= 350px) {
		/* Head */
		.wp-block-cke-accordion-head > h2 {
			font-size: var(--wp--preset--font-size--medium-large);
		}
		
		.wp-block-cke-accordion-head > h3 {
			font-size: var(--wp--preset--font-size--medium);
		}
	}
	
	/******************************/
	/* Group
	/******************************/
	/* Group link hover color inheritance */
	.wp-block-group.is-linked[class*="focus-"] > :is(p, .wp-block-heading) {
		color: inherit !important;
		transition: color .3s !important;
	}
	
	/******************************/
	/* Image
	/******************************/
	.wp-block-image img:not([src$=".svg"]) {
		border-radius: var(--wp--custom--border-radius);
		overflow: clip;
	}
	
	/* --- Fill style variations --- */
	:has(> .wp-block-image[class*="is-style-fill"]) {
		position: relative;
	}
	
	.wp-block-column:has(> .wp-block-image[class*="is-style-fill"]) {
		align-self: stretch;
	}
	
	.wp-block-image[class*="is-style-fill"]:not(.cover, .contain) * {
		object-fit: cover;
	}
	
	/* Fill width */
	.wp-block-image.is-style-fill-width,
	.wp-block-image.is-style-fill-width * {
		width: 100% !important;
	}
	
	/* Fill height */
	.wp-block-image.is-style-fill-height,
	.wp-block-image.is-style-fill-height * {
		height: 100% !important;
	}
	
	/* Fill both */
	.wp-block-image.is-style-fill-both,
	.wp-block-image.is-style-fill-both * {
		width: 100% !important;
		height: 100% !important;
	}
	
	.wp-block-image.is-style-fill-both * {
		position: absolute;
		inset: 0;
	}
	
	/* Backend style */
	.wp-block-image[class*="is-style-fill"]:not(.is-resized) .components-resizable-box__container {
		display: contents !important;
	}
	
	/* Responsive */
	@media (width <= 781px) {
		/* --- Fill style variations --- */
		.wp-block-image[class*="is-style-fill"]:has(> img[src$=".svg"]) {
			max-width: calc(var(--wp--custom--viewport-width) / 2);
		}
	}
	
	@media (width <= 500px) {
		/* --- Fill style variations --- */
		.wp-block-image[class*="is-style-fill"]:has(> img[src$=".svg"]) {
			max-width: calc(var(--wp--custom--viewport-width) * (2/3));
		}
	}
	
	@media (width <= 350px) {
		/* --- Fill style variations --- */
		.wp-block-image[class*="is-style-fill"]:has(> img[src$=".svg"]) {
			max-width: 100%;
		}
	}
	
	/******************************/
	/* List
	/******************************/
	ul.wp-block-list {
		padding-inline-start: unset !important;
	}
	
	ol.wp-block-list {
		padding-inline-start: 16px !important;
	}
	
	ul.wp-block-list > li {
		display: flex;
		align-items: baseline;
		column-gap: var(--wp--preset--spacing--0-25);
		font-weight: bold;
	}
	
	ul.wp-block-list > li {
		list-style: unset;
	}
	
	ul.wp-block-list > li::before {
		content: '-';
	}
	
	.wp-block-list > li + li {
		margin-block-start: var(--wp--preset--spacing--0-25);
	}
	
	.wp-block-list > li :is(div, b, strong, em):not([role="textbox"]) {
		display: contents;
	}
	
	/******************************/
	/* Media-text
	/******************************/
	.wp-block-media-text {
		grid-template-columns: 35% 1fr !important;
		gap: unset;
		align-items: center;
		background-color: var(--wp--custom--color--default--bg-2);
		border-radius: var(--wp--custom--border-radius);
		overflow: clip;
	}
	
	.wp-block-media-text.has-media-on-the-right {	
		grid-template-columns: 1fr 35% !important;
	}
	
	.wp-block-media-text > *,
	.wp-block-media-text > .wp-block-media-text__media img {
		width: 100% !important;
		height: 100% !important;
	}
	
	.wp-block-media-text > .wp-block-media-text__media {
		background-color: var(--wp--custom--color--default--text);
	}
	
	.wp-block-media-text:not(.cover) > .wp-block-media-text__media img {
		object-fit: contain;
	}
	
	.wp-block-media-text > .wp-block-media-text__content {
		padding: var(--wp--preset--spacing--2);
		box-sizing: border-box;
	}
	
	.wp-block-media-text > .wp-block-media-text__content {
		position: relative;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > * {
		margin-block: unset;
	}
	
	.wp-block-media-text > .wp-block-media-text__content > :not(.wp-block-image) + * {
		margin-block-start: 1em;
	}
	
	/* Icon in media-text content */
	.wp-block-media-text > .wp-block-media-text__content > .wp-block-image.icon img,
	.wp-block-media-text > .wp-block-media-text__content > .wp-block-image img[src$=".svg"] {
		position: absolute;
		top: var(--wp--preset--spacing--0-75);
		right: var(--wp--preset--spacing--0-75);
		width: 60px;
		height: auto;
	}
	
	/******************************/
	/* Panels (Column/Group shared 
	/* style variation)
	/******************************/
	:is(.wp-block-column, .wp-block-group).is-style-panel {
		display: flex;
		flex-direction: column;
		gap: unset;
		justify-content: center;
		position: relative;
		color: var(--wp--custom--color--default--text);
		padding: var(--wp--preset--spacing--3-5) var(--wp--preset--spacing--2-5);
		border-radius: var(--wp--custom--border-radius);
		box-sizing: border-box;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:not(.has-background) {
		background-color: var(--wp--custom--color--default--bg-2);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > :is(h1, h2):not(.no-max-width) {
		max-width: 62.75%;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > :is(h3, h4, h5, h6, p):not(.no-max-width) {
		max-width: 85%;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > * {
		margin-block: unset;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > :not(.wp-block-image) + * {
		margin-block-start: 1em;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > :has(+ .wp-block-buttons:last-child) {
		margin-block-end: auto; 
	}
	
	/* Panel with non-SVG image */
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) {
		padding-block: 0 var(--wp--preset--spacing--2);
		padding-inline: unset
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image:has(img:not([src$=".svg"])):first-child + :not(.wp-block-image) {
		margin-block-start: var(--wp--preset--spacing--1-5);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image:not(:has(img[src$=".svg"])) {
		display: contents;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img:not([src$=".svg"]) {
		width: 100%;
		height: auto;
		aspect-ratio: 31/13;
		object-fit: cover;
		border-radius: var(--wp--custom--border-radius) var(--wp--custom--border-radius) 0 0;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :not(.wp-block-image) {
		margin-inline: var(--wp--preset--spacing--2);
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h1, h2):not(.no-max-width) {
		max-width: 42.75%;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h3, h4, h5, h6, p):not(.no-max-width) {
		max-width: 60%;
	}
	
	/* Panel with SVG icon */
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image:has(img[src$=".svg"]) {
		display: contents;
	}
	
	:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img[src$=".svg"] {
		position: absolute;
		top: var(--wp--preset--spacing--2);
		right: var(--wp--preset--spacing--2);
		width: 12.5%;
		height: auto;
	}
	
	/* Panel width control */
	:is(.wp-block-columns, .wp-block-group):has(> .is-style-panel) {
		display: grid !important;
		grid-template-columns: 100%;
	}
	
	:is(.wp-block-columns, .wp-block-group):has(> .is-style-panel:nth-last-child(2)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	
	:is(.wp-block-columns, .wp-block-group):has(> .is-style-panel:nth-last-child(3)) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	
	/* Backend style */
	:is(.edit-post-visual-editor, .editor-styles-wrapper) :is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image .components-resizable-box__container {
		display: contents !important;
	}
	
	/* Responsive */
	@media (width <= 1500px) {
		/* Panel with non-SVG image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h1, h2):not(.no-max-width) {
			max-width: 55%;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h3, h4, h5, h6, p):not(.no-max-width) {
			max-width: 70%;
		}
	}
	
	@media (width <= 1200px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--2);
		}
		
		/* Panel with non-SVG image */
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h1, h2):not(.no-max-width) {
			max-width: 62.75%;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel:has(> .wp-block-image):not(:has(> .wp-block-image img[src$=".svg"])) > :is(h3, h4, h5, h6, p):not(.no-max-width) {
			max-width: 85%;
		}
		
		/* Panel with SVG icon */
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img[src$=".svg"] {
			right: var(--wp--preset--spacing--1-5);
		}
		
		/* Panel width control */
		:is(.wp-block-columns, .wp-block-group):has(> .is-style-panel:nth-last-child(3)) {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}
	
	@media (781px < width <= 1200px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel:not(:has(> .wp-block-image img[src$=".svg"])) > :is(h1, h2):not(.no-max-width) {
			max-width: 70%;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel:not(:has(> .wp-block-image img[src$=".svg"])) > :is(h3, h4, h5, h6, p):not(.no-max-width) {
			max-width: 90%;
		}
	}
	
	@media (781px < width <= 1000px),
		   (width <= 600px) {
		/* Panel with non-SVG image */
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img:not([src$=".svg"]) {
			aspect-ratio: 31/16;
		}
	}
	
	@media (width <= 781px) {
		/* Panel width control */
		:is(.wp-block-columns, .wp-block-group):has(> .is-style-panel) {
			grid-template-columns: 100% !important;
		}
	}
	
	@media (width <= 500px) {
		:is(.wp-block-column, .wp-block-group).is-style-panel {
			padding: var(--wp--preset--spacing--2);
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > :is(h1, h2):not(.no-max-width) {
			max-width: 75% !important;
		}
		
		:is(.wp-block-column, .wp-block-group).is-style-panel > :is(h3, h4, h5, h6, p):not(.no-max-width) {
			max-width: 95% !important;
		}
		
		/* Panel with SVG icon */
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img[src$=".svg"] {
			order: -1;
			position: relative;
			top: unset;
			right: unset;
			width: 20%;
			min-width: 50px;
			margin-block-end: var(--wp--preset--spacing--1);
		}
	}
	
	@media (width <= 400px) {
		/* Panel with non-SVG image */
		:is(.wp-block-column, .wp-block-group).is-style-panel > .wp-block-image img:not([src$=".svg"]) {
			aspect-ratio: 31/19;
		}
	}