/* Mobile bar. Loaded with media="( max-width: <alovesinh_cta_get_mobile_breakpoint()> )" by the Style component, so the
	breakpoint is never written here. Overrides the dock layout and adds the bar's own switches. */
.alv-cta {
	right: 0;
	bottom: 0;
	left: 0;
	align-items: stretch;
	gap: 0;
}

.alv-cta-dock,
.alv-cta-list {
	flex-direction: row;
	gap: 4px;
}

.alv-cta-dock {
	align-items: stretch;
	width: auto;
	padding: 8px 8px calc( 8px + env( safe-area-inset-bottom, 0px ) );
	border: 0;
	border-top: var( --alv-bd-hairline ) solid var( --alv-c-border );
	border-radius: 0;
	box-shadow: 0 -8px 24px color-mix( in srgb, var( --alv-c-ink ) 6%, transparent );
}

.alv-cta-desktop-off .alv-cta-dock {
	display: flex;
}

.alv-cta-mobile-off .alv-cta-dock {
	display: none;
}

.alv-cta-title {
	display: none;
}

/* Scrollable when more channels than fit; the fade tells the thumb there is more. */
.alv-cta-list {
	flex: 1 1 0;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient( 90deg, var( --alv-c-black ) calc( 100% - 20px ), transparent );
	mask-image: linear-gradient( 90deg, var( --alv-c-black ) calc( 100% - 20px ), transparent );
}

.alv-cta-list::-webkit-scrollbar {
	display: none;
}

.alv-cta-item,
.alv-cta-call {
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	height: 56px;
	border-radius: var( --alv-r-2 );
	font-size: 10.5px;
}

.alv-cta-item {
	flex: 1 0 72px;
	padding: 0 4px;
	color: var( --alv-c-text-2 );
}

/* Bar badges are the tinted glyph alone, no disc. */
.alv-cta-item .alv-cta-icon {
	width: auto;
	height: auto;
	background: none;
	color: var( --alv-cta-color );
}

.alv-cta-icon svg {
	width: 22px;
	height: 22px;
}

.alv-cta-call {
	flex: 0 0 104px;
	margin-top: 0;
	font-size: var( --alv-fs-1 );
}

/* Bar shows the short label; the full one stays for assistive tech. */
.alv-cta-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset( 50% );
}

.alv-cta-short {
	display: block;
}

/* Out of flow, so the fixed container never grows a tap-blocking strip above the bar. */
.alv-cta-top {
	display: none;
	position: absolute;
	right: var( --alv-cta-top-edge );
	bottom: calc( 100% + var( --alv-cta-top-bottom ) );
}

.alv-cta-top-left {
	right: auto;
	left: var( --alv-cta-top-edge );
}

.alv-cta-top-mobile {
	display: flex;
}
