/********************************************************/
/*
/*      Blocks CSS
/*
/********************************************************/

	/***************************/
	/* Page header
	/***************************/
	.cake-block-page-header [data-part="inner"] {
		max-height: 350px;
	}
	
	.cake-block-page-header .wp-block-cover {
		width: 100%;
		padding: var(--padding-l) var(--padding-2xl);
	}
	
	.cake-block-page-header .wp-block-cover__inner-container {
		color: var(--color-light-gray);
	}
	
	.cake-block-page-header .wp-block-cover__inner-container > :not(:last-child) {
		margin-bottom: calc(var(--margin-s) * 1.5);
	}
	
	/***************************/
	/* Header gallery
	/***************************/
	.cake-block-header-gallery [data-part="inner"] {
		grid-column: full;
	}
	
	.cake-block-header-gallery [data-part="inner"]>div,
	.cake-block-header-gallery .gallery-content {
		position: relative;
		display: flex;
		flex-direction: column;
	}
	
	.cake-block-header-gallery [data-part="inner"]>div {
		width: var(--viewport-width);
		min-height: 650px;
	}

	
	.cake-block-header-gallery [data-part="inner"]>div> :not(.mask, .gallery-slides) {
		z-index: 1;
	}
	
	.cake-block-header-gallery .mask,
	.cake-block-header-gallery .gallery-controls,
	.cake-block-header-gallery .gallery-indicators,
	.cake-block-header-gallery .slide {
		position: absolute;
	}
	
	.cake-block-header-gallery .mask,
	.cake-block-header-gallery .slide {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	
	.cake-block-header-gallery .mask {
		background-color: black;
		opacity: .3;
		z-index: 0;
	}
	
	.cake-block-header-gallery .gallery-content {
		width: calc(var(--grid-width) * .4);
		margin: auto auto calc(var(--margin-xl) * 1.5);
		align-items: center;
		text-align: center;
	}
	
	.cake-block-header-gallery .gallery-content h1 {
		margin-bottom: calc(var(--margin-m) * 1.5);
	}
	
	.cake-block-header-gallery .gallery-content h4 {
		color: var(--color-light-gray);
		margin-bottom: var(--margin-xl);
	}
	
	.cake-block-header-gallery .gallery-controls {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 0 calc(var(--grid-pad) + var(--grid-gap) + var(--padding-xl));
		top: 50%;
		transform: translateY(-50%);
	}
	
	.cake-block-header-gallery .gallery-indicators {
		display: flex;
		flex-direction: column;
		gap: calc(var(--margin-s) * 1.5);
		bottom: calc(var(--margin-xl) * 1.5);
		right: calc(var(--margin-s) * 1.5);
	}
	
	.cake-block-header-gallery .gallery-indicators > div {
		width: 20px;
		height: 20px;
		border-style: solid;
		border-width: 1px;
		border-radius: 50%;
		
		transition: border-color .6s, background-color .6s;
		border-color: var(--color-charcoal);
		background-color: transparent;
	}
	
	.cake-block-header-gallery .gallery-indicators > div.active {
		border-color: var(--color-main-1);
		background-color: var(--color-main-1);
	}
	
	.cake-block-header-gallery .gallery-slides {
		display: contents;
	}
	
	.cake-block-header-gallery .slide {
		object-fit: cover;
	
		transition: opacity .6s;
		opacity: 0;
	}
	
	.cake-block-header-gallery .slide.active {
		opacity: 1;
	}
	
	/***************************/
	/* 3 col
	/***************************/
	.cake-block-3-col [data-part="inner"] {
		position: relative;
		display: flex;
		flex-direction: column;
		overflow: visible;
		background-color: var(--color-black);
		margin: 0 calc(var(--margin-xl) * 1.25);
		padding: calc(var(--padding-xl) * 1.75) calc(var(--padding-xl) * 1.25) 0;
		margin-bottom: calc(var(--margin-2xl) * 2.5);
	}
	
	.cake-block-3-col [data-part="inner"] > .title {
		margin-bottom: calc(var(--margin-xl) * -1.4);
	}
	
	.cake-block-3-col .wp-block-column {
		width: 100%;
		height: auto;
		min-height: 350px;
		aspect-ratio: 6/5;
		transform: translateY(calc(var(--margin-2xl)));
	}
	
	.cake-block-3-col .wp-block-column:nth-child(2) {
		transform: translateY(calc(var(--margin-2xl) * 1.75));
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block {
		position: relative;
		height: 100%;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block > div {
		display: contents;
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block .wp-block-image {
		position: absolute;
		inset: 0;
		z-index: -1;
		
		transition: transform .6s;
		transform: scale(1);
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block .wp-block-image * {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block:is(:hover, :focus) .wp-block-image {
		transform: scale(1.05);
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block :not(.wp-block-image) {
		color: var(--color-light-gray);
	}
	
	.cake-block-3-col .wp-block-tiptip-hyperlink-group-block :not(.wp-block-image, :last-child) {
		margin-bottom: var(--margin-s);
	}
	
	/* Alt version */
	.cake-block-3-col.cake-alt [data-part="inner"] {
		position: relative;
		background-color: unset;
		margin-bottom: calc(var(--margin-3xl) * 1.25);
	}
	
	.cake-block-3-col.cake-alt [data-part="inner"]::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 60%;
		background-color: var(--color-light-gray);
		z-index: -1;
	}
	
	.cake-block-3-col.cake-alt [data-part="inner"] > .title {
		margin-bottom: calc(var(--margin-xl)* -1);
	}
	
	.cake-block-3-col.cake-alt .wp-block-columns {
		flex-direction: column;
		flex-wrap: wrap !important;
		justify-content: center;
		gap: var(--margin-m);
		max-height: calc(700px + var(--margin-m));
		transform: translateY(calc(var(--margin-2xl)));
	}
	
	.cake-block-3-col.cake-alt .wp-block-column {
		width: calc(50% - var(--margin-m));
		min-height: 350px;
		max-height: 350px;
		transform: unset !important;
	}
	
	/***************************/
	/* Text-media
	/***************************/
	.cake-block-text-media [data-part="inner"] {
		grid-column: 3 / 13;
		padding: 0 calc(var(--padding-xl) * 2.5);
		margin-bottom: calc(var(--padding-xl) * 1.25);
	}
	
	.cake-block-text-media .wp-block-columns {
		gap: 0;
	}
	
	.cake-block-text-media .wp-block-column {
		min-height: 80%;
		height: 80%;
	}
	
	.cake-block-text-media .wp-block-column:has(> div) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: end;
	}	
	
	.cake-block-text-media .wp-block-column > div {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: calc(var(--margin-m) * 1.5);
		width: calc(100% + var(--margin-3xl));
		height: auto;
		aspect-ratio: 8/7;
		/* transform: translateX(calc(var(--margin-2xl) * -1)); */
		padding: var(--padding-l);
		background-color: var(--color-black);
	}
	
	.cake-block-text-media .wp-block-column > div > :not(.btn) {
		color: var(--color-light-gray);
	}
	
	/***************************/
	/* Coordinates
	/***************************/
	.cake-block-coordinates [data-part="inner"] {
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	}
	
	.cake-block-coordinates .coordinates {
		padding-left: var(--padding-2xl);
	}
	
	.cake-block-coordinates .coordinates h6 {
		color: var(--color-charcoal);
		text-transform: uppercase;
		margin-bottom: calc(var(--margin-m) * 1.5);
	}
	
	.cake-block-coordinates .coordinates p {
		color: #7E7E7E;
	}
	
	.cake-block-coordinates .coordinates a {
		display: block;
		font: var(--stack-menu-s);
		text-transform: uppercase;
		color: var(--color-main-1);
		margin-bottom: var(--margin-s);
	}
	
	.cake-block-coordinates .coordinates a:hover {
		color: var(--color-main-1-200);
	}
	
	.cake-block-coordinates .coordinates adress {
		display: block;
		margin-bottom: calc(var(--margin-xl) * 1.75);
	}
	
	.cake-block-coordinates .coordinates adress p {
		margin-bottom: var(--margin-l);
	}
	
	.cake-block-coordinates .hours span.day::after {
		content: " - ";
		display: inline;
	}
	
	.cake-block-coordinates #map {
		margin-right: var(--margin-xl);
		width: 650px;
		height: 650px;
		transform: translateY(var(--margin-xl));
		z-index: 3;
	}
	
	.cake-block-coordinates .bottom-pad {
		z-index: 2;
		flex: 100%;
		height: calc(var(--padding-xl) * 1.5);
		transform: translateY(10px); /* Overlap block after to ensure smooth bg transition */
	}
	
	/***************************/
	/* Banner
	/***************************/
	.cake-block-banner .wp-block-cover {
		justify-content: start;
	}
	
	.cake-block-banner .wp-block-cover__inner-container {
		width: calc(100% / 3);
		height: 100%;
		padding-left: var(--padding-3xl);
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: var(--margin-l);
	}
	
	.cake-block-banner .wp-block-cover__inner-container, .cake-block-banner .wp-block-cover__inner-container > *, .cake-block-banner .wp-block-cover__inner-container p > a {
		color: var(--color-light-gray);
	}
	
	.cake-block-banner .wp-block-cover__inner-container h6 {
		margin-bottom: var(--margin-l);
	}
	
	/***************************/
	/* Images
	/***************************/
	.cake-block-images [data-part="inner"] {
		padding: var(--padding-xl);
	}
	
	.cake-block-images .wp-block-columns {
		gap: var(--margin-xl);
	}
	
	.cake-block-images :is(figure, img) {
		height: 100%;
		object-fit: cover;
	}
	
	/***************************/
	/* Form
	/***************************/
	.cake-block-form [data-part="inner"] {
		background-color: var(--color-light-gray);
		padding: var(--padding-2xl) var(--padding-3xl);
		flex-wrap: wrap;
	}
	
	.cake-block-form [data-part="inner"] > h6 {
		width: 100%;
		margin-bottom: calc(var(--margin-xl) * 1.5);
	}
	
	.cake-block-form .wp-block-columns {
		gap: calc(var(--margin-xl) * 1.5);
	}
	
	.cake-block-form .wp-block-column > :not(:last-child) {
		margin-bottom: var(--margin-l);
	}
	
	.cake-block-form .wp-block-column > :not(.gform_wrapper) {
		width: 75%;
	}
	
	/***************************/
	/* Products carousel
	/***************************/
	.cake-block-products-carousel [data-part="inner"] {
		position: relative;
		flex-direction: column;
		align-items: center;
		padding: var(--padding-xl) 0 calc(var(--padding-xl) * 1.5);
		margin: 0 var(--margin-2xl);
	}
	
	.cake-block-products-carousel [data-part="inner"] > :not(.carousel-controls) {
		margin-bottom: var(--margin-xl);
	}
	
	.cake-block-products-carousel .carousel-items-container {
		overflow: hidden;
		width: 100%;
	}
	
	.cake-block-products-carousel .carousel-items {
		display: flex;
		gap: var(--margin-m);
		height: 400px;
		
		transition: transform .5s;
		transform: translateX(0);
	}
	
	.cake-block-products-carousel .carousel-item {
		min-width: calc(((var(--grid-width) - (var(--margin-2xl) * 2) - (var(--spacing) * 2)) - (var(--margin-m) * 4)) / 5);
	}
	
	.cake-block-products-carousel .carousel-controls br {
		display: none;
	}
	
	.cake-block-products-carousel .next-btn,
	.cake-block-products-carousel .prev-btn {
		position: absolute;
		top: 45%;
		border: 1px solid var(--color-charcoal);
		padding: 6px 12px 10px 12px;
	}
	
	.cake-block-products-carousel .prev-btn {
		left: calc(var(--margin-2xl) * -1);
	}
	
	.cake-block-products-carousel .next-btn {
		right: calc(var(--margin-2xl) * -1);
	}
	
	/* Product archive specific CSS */
	.cake-block-products-carousel.product-archive [data-part="inner"] {
		padding: 0;
	}