.ai-media-disclosure {
	box-sizing: border-box;
}

.ai-media-disclosure--overlay,
.ai-media-disclosure--below {
	max-width: 100%;
}

.ai-media-disclosure--overlay {
	display: inline-grid;
	line-height: normal;
	position: relative;
	vertical-align: middle;
}

.ai-media-disclosure--overlay > :not(.ai-media-disclosure__label) {
	grid-area: 1 / 1;
}

.ai-media-disclosure--fluid {
	display: grid;
	width: 100%;
}

.ai-media-disclosure--below {
	display: inline-flex;
	flex-direction: column;
	line-height: normal;
	vertical-align: middle;
}

.ai-media-disclosure--below.ai-media-disclosure--fluid {
	display: flex;
	width: 100%;
}

.ai-media-disclosure--host {
	position: relative;
}

.ai-media-disclosure--overlay > .ai-media-disclosure__label,
.ai-media-disclosure--overlay-host > .ai-media-disclosure__label {
	border-radius: var(--ai-disclosure-radius, 0.375rem) 0 0 0;
	bottom: 0;
	margin: 0;
	max-width: 100%;
	position: absolute;
	right: 0;
}

.ai-media-disclosure--position-bottom-left > .ai-media-disclosure__label,
.ai-media-disclosure--position-top-left > .ai-media-disclosure__label {
	left: 0;
	right: auto;
	text-align: left;
}

.ai-media-disclosure--position-top-left > .ai-media-disclosure__label,
.ai-media-disclosure--position-top-right > .ai-media-disclosure__label {
	bottom: auto;
	top: 0;
}

.ai-media-disclosure--overlay.ai-media-disclosure--position-bottom-left > .ai-media-disclosure__label,
.ai-media-disclosure--overlay-host.ai-media-disclosure--position-bottom-left > .ai-media-disclosure__label {
	border-radius: 0 var(--ai-disclosure-radius, 0.375rem) 0 0;
}

.ai-media-disclosure--overlay.ai-media-disclosure--position-top-left > .ai-media-disclosure__label,
.ai-media-disclosure--overlay-host.ai-media-disclosure--position-top-left > .ai-media-disclosure__label {
	border-radius: 0 0 var(--ai-disclosure-radius, 0.375rem) 0;
}

.ai-media-disclosure--overlay.ai-media-disclosure--position-top-right > .ai-media-disclosure__label,
.ai-media-disclosure--overlay-host.ai-media-disclosure--position-top-right > .ai-media-disclosure__label {
	border-radius: 0 0 0 var(--ai-disclosure-radius, 0.375rem);
}

.ai-media-disclosure__label {
	align-self: end;
	background: var(--ai-disclosure-background, rgba(255, 255, 255, 0.9));
	border-radius: 0.375rem;
	box-sizing: border-box;
	box-shadow: var(--ai-disclosure-shadow, 0 1px 8px rgba(17, 24, 39, 0.12));
	color: var(--ai-disclosure-color, #1f2937);
	font-family: inherit;
	font-size: var(--ai-disclosure-font-size, max(12px, 0.8125rem));
	font-style: normal;
	font-weight: var(--ai-disclosure-weight, 500);
	grid-area: 1 / 1;
	justify-self: end;
	letter-spacing: 0.01em;
	line-height: 1.35;
	margin: 0.75rem;
	max-width: calc(100% - 1.5rem);
	overflow-wrap: anywhere;
	padding: var(--ai-disclosure-padding-y, 0.375rem) var(--ai-disclosure-padding-x, 0.625rem);
	pointer-events: none;
	position: relative;
	text-align: right;
	text-decoration: none;
	text-shadow: var(--ai-disclosure-text-shadow, none);
	text-transform: none;
	z-index: 2;
}

.ai-media-disclosure--below > .ai-media-disclosure__label,
.ai-media-disclosure--below-host > .ai-media-disclosure__label {
	align-self: stretch;
	background: transparent;
	text-shadow: none;
	box-shadow: none;
	color: currentColor;
	display: block;
	grid-area: auto;
	justify-self: stretch;
	margin: 0.3rem 0 0;
	max-width: none;
	padding: 0;
	text-align: right;
}

.ai-media-disclosure__label--below-block {
	background: transparent;
	text-shadow: none;
	box-shadow: none;
	color: currentColor;
	display: block;
	margin: 0.3rem max(1rem, calc((100% - var(--global-content-width, 1200px)) / 2)) 0;
	max-width: none;
	padding: 0;
	position: relative;
	text-align: right;
}

@media (max-width: 767px) {
	.ai-media-disclosure__label {
		font-size: var(--ai-disclosure-font-size-mobile, max(12px, 0.75rem));
		margin: 0.5rem;
		max-width: calc(100% - 1rem);
		padding: var(--ai-disclosure-padding-y, 0.3125rem) var(--ai-disclosure-padding-x, 0.5rem);
	}

	.ai-media-disclosure--below > .ai-media-disclosure__label,
	.ai-media-disclosure--below-host > .ai-media-disclosure__label,
	.ai-media-disclosure__label--below-block {
		margin-top: 0.25rem;
		padding: 0;
	}
}
