
.blocks-gallery-grid, .wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.blocks-gallery-grid {
	--wp--style--unstable-gallery-gap: var(--wp--style--gallery-gap-default, 16px);
	gap: var(--wp--style--unstable-gallery-gap);
}

.wp-block-gallery.has-nested-images {
	align-items: normal;
}

.blocks-gallery-grid .blocks-gallery-image, .blocks-gallery-grid .blocks-gallery-item, .wp-block-gallery .blocks-gallery-image, .wp-block-gallery .blocks-gallery-item, .wp-block-gallery .wp-block-image {
	margin: 0;
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
}

.blocks-gallery-image figure, .blocks-gallery-item figure {
	margin: 0;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	position: relative;
}

.blocks-gallery-image img, .blocks-gallery-item img {
	display: block;
	max-width: 100%;
	height: auto;
	width: auto;
}

.blocks-gallery-image figure:has(figcaption):before, .blocks-gallery-item figure:has(figcaption):before, .wp-block-gallery figure.wp-block-image:has(figcaption):before {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	-webkit-backdrop-filter: blur(1px);
	backdrop-filter: blur(1px);
	content: "";
	height: 100%;
	-webkit-mask-image: linear-gradient(0deg, #000 20%, rgba(0, 0, 0, 0));
	mask-image: linear-gradient(0deg, #000 20%, rgba(0, 0, 0, 0));
	max-height: 25%;
}

.blocks-gallery-image figcaption, .blocks-gallery-item figcaption, .wp-block-gallery figure.wp-block-image figcaption {
	background: linear-gradient(0deg, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0));
	bottom: 0;
	color: #fff;
	font-size: min(.75em, .875rem);
	left: 0;
	margin: 0;
	max-height: 100%;
	overflow: auto;
	padding: 12px;
	position: absolute;
	scrollbar-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
	scrollbar-gutter: stable both-edges;
	scrollbar-width: thin;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
	text-shadow: 0 0 1.5px #000;
	will-change: transform;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar {
	height: 12px;
	width: 12px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track {
	background-color: initial;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb {
	background-clip: padding-box;
	background-color: initial;
	border: 3px solid rgba(0, 0, 0, 0);
	border-radius: 8px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb {
	background-color: rgba(255, 255, 255, .8);
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover {
	scrollbar-color: rgba(255, 255, 255, .8) rgba(0, 0, 0, 0);
}

@media (hover:none) {
	.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
		scrollbar-color: rgba(255, 255, 255, .8) rgba(0, 0, 0, 0);
	}
}

.wp-block-gallery a + figcaption {
	pointer-events: none;
}

.blocks-gallery-image figcaption img, .blocks-gallery-item figcaption img, .wp-block-gallery .wp-block-image figcaption img {
	display: inline;
}

.blocks-gallery-grid figcaption, .wp-block-gallery figcaption {
	flex-grow: 1;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img {
	box-sizing: border-box;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:where(.has-custom-border, .is-style-rounded)>a, .wp-block-gallery.has-nested-images figure.wp-block-image:where(.has-custom-border, .is-style-rounded)>div {
	flex: 1 1 auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:where(.has-custom-border, .is-style-rounded) figcaption {
	background: none;
	color: inherit;
	flex: initial;
	margin: 0;
	padding: 12px 12px 0;
	position: relative;
	text-shadow: none;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:where(.has-custom-border, .is-style-rounded):before {
	content: none;
}

.is-cropped .blocks-gallery-image a, .is-cropped .blocks-gallery-image img, .is-cropped .blocks-gallery-item a, .is-cropped .blocks-gallery-item img {
	width: 100%;
	height: 100%;
	flex: 1;
	-o-object-fit: cover;
	object-fit: cover;
}

.columns-1:is(.wp-block-gallery, .blocks-gallery-grid) .blocks-gallery-image, .columns-1:is(.wp-block-gallery, .blocks-gallery-grid) .blocks-gallery-item {
	width: 100%;
}

@media (min-width:768px) {
	.columns-3 .blocks-gallery-image, .columns-3 .blocks-gallery-item, .wp-block-gallery.columns-3 .wp-block-image, .wp-block-gallery.columns-default .wp-block-image {
		width: calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px) * .66667);
	}
	
	.columns-4 .blocks-gallery-image, .columns-4 .blocks-gallery-item, .wp-block-gallery.columns-4 .wp-block-image {
		width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * .75);
	}
	
	.columns-5 .blocks-gallery-image, .columns-5 .blocks-gallery-item, .wp-block-gallery.columns-5 .wp-block-image {
		width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px) * .8);
	}
	
	.columns-6 .blocks-gallery-image, .columns-6 .blocks-gallery-item, .wp-block-gallery.columns-6 .wp-block-image {
		width: calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px) * .83333);
	}
	
	.columns-7 .blocks-gallery-image, .columns-7 .blocks-gallery-item, .wp-block-gallery.columns-7 .wp-block-image {
		width: calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px) * .85714);
	}
	
	.columns-8 .blocks-gallery-image, .columns-8 .blocks-gallery-item, .wp-block-gallery.columns-8 .wp-block-image {
		width: calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px) * .875);
	}
	
	.wp-block-gallery.columns-default .wp-block-image:first-child:nth-last-child(2), .wp-block-gallery.columns-default .wp-block-image:first-child:nth-last-child(2) ~ .wp-block-image {
		width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * .5);
	}
	
	.wp-block-gallery.columns-default .wp-block-image:first-child:nth-last-child(1) {
		width: 100%;
	}
}

.blocks-gallery-grid.alignleft, .blocks-gallery-grid.alignright, .wp-block-gallery.alignleft, .wp-block-gallery.alignright {
	max-width: 420px;
	width: 100%;
}

.blocks-gallery-grid.aligncenter .blocks-gallery-item figure, .wp-block-gallery.aligncenter .blocks-gallery-item figure {
	justify-content: center;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
	align-self: flex-start;
}

.wp-block-gallery:not(.is-cropped) .wp-block-image {
	margin-top: 0;
	margin-bottom: auto;
}

.wp-block-gallery .wp-block-image > a, .wp-block-gallery .wp-block-image > div {
	margin: 0;
	flex-direction: column;
	flex-grow: 1;
}

.wp-block-gallery .wp-block-image img {
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

.wp-block-gallery .wp-block-image.is-style-rounded > a, .wp-block-gallery .wp-block-image.is-style-rounded > div {
	flex: 1 1 auto;
}

.wp-block-gallery .wp-block-image.is-style-rounded figcaption {
	flex: initial;
	background: none;
	color: inherit;
	margin: 0;
	padding: 10px 10px 9px;
	position: relative;
}

.wp-block-gallery.has-nested-images figcaption {
	flex-grow: 1;
	flex-basis: 100%;
}

.wp-block-gallery.is-cropped .wp-block-image {
	align-self: inherit;
}

.wp-block-gallery.is-cropped .wp-block-image > a {
	display: flex;
}

.wp-block-gallery.is-cropped .wp-block-image a, .wp-block-gallery.is-cropped .wp-block-image img {
	width: 100%;
	flex: 1 0 0%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.wp-block-gallery.columns-1 .wp-block-image {
	width: 100%;
}

.wp-block-gallery.has-nested-images.aligncenter {
	justify-content: center;
}

@media (max-width:767px) {
	.wp-block-gallery.tw-cols-large .wp-block-image, .wp-block-gallery.tw-stack-sm :where(.blocks-gallery-item, .wp-block-image) {
		width: 100% !important;
		margin-inline: 0;
		align-items: center;
	}
	
	.wp-block-gallery:is(.tw-medium-gap, .tw-large-gap):not(.columns-1):not(.tw-stack-sm):not(.tw-cols-large) {
		--wp--style--unstable-gallery-gap: 16px;
		gap: 16px;
	}
	
	.wp-block-gallery.tw-large-gap:is(.columns-1, .tw-cols-large, .tw-stack-sm) {
		--wp--style--unstable-gallery-gap: 32px;
		gap: 32px;
	}
}

@media (min-width:768px) and (max-width:1023px) {
	.wp-block-gallery.tw-cols-small:is(.columns-3, .columns-default) .wp-block-image, .wp-block-gallery.tw-stack-sm .blocks-gallery-grid:not(.columns-1) .blocks-gallery-item, .wp-block-gallery:is(.tw-cols-large, .tw-stack-sm):not(.columns-1) .wp-block-image {
		width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
	}
	
	.wp-block-gallery:is(.tw-large-gap):not(.columns-1) {
		gap: 32px;
		--wp--style--unstable-gallery-gap: 32px;
	}
	
	.wp-block-gallery.tw-cols-small:is(.columns-4, .columns-5, .columns-6, .columns-7, .columns-8) .wp-block-image {
		width: calc(33.333% - var(--wp--style--unstable-gallery-gap, 16px) * .66667);
	}
}

@media (min-width:1024px) and (max-width:1199px) {
	.wp-block-gallery.tw-cols-large:is(.columns-3, .columns-default) .wp-block-image {
		width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
	}
	
	.wp-block-gallery.tw-cols-large.columns-4 .wp-block-image {
		width: calc(33.333% - var(--wp--style--unstable-gallery-gap, 16px) * .66667);
	}
	
	.wp-block-gallery:is(.tw-cols-large, .tw-cols-small):is(.columns-5, .columns-6, .columns-7, .columns-8) .wp-block-image {
		width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * .75);
	}
}

.wp-block-gallery.tw-gutter-no {
	--wp--style--gallery-gap-default: 0px;
}

.wp-block-gallery.tw-gutter-medium {
	--wp--style--gallery-gap-default: clamp(16px, 4vw, 32px);
}

.wp-block-gallery.tw-gutter-large {
	--wp--style--gallery-gap-default: clamp(16px, 4vw, 48px);
}

@media (max-width:767px) {
	.wp-block-gallery.columns-1:where(.tw-gutter-medium, .tw-gutter-large) {
		--wp--style--gallery-gap-default: 32px;
	}
}
