/**
 * Styles for the wt-careers__positions-widget widget
 * 
 * @since 2026-10-08
 * @author Designs and Codes, LLC
 */

.wt-careers__positions-widget :is( :first-child, #foo#bar#baz ) {
	margin-block-start: 0;
}

.wt-careers__positions-widget :is( :last-child, #foo#bar#baz ) {
	margin-block-end: 0;
}

.wt-careers__positions-widget__role-filters,
.wt-careers__positions-widget__locations {
	margin-block: var( --fluffle-block__spacing-v, 1.5rem );
}

.wt-careers__positions-widget__role-filters {
	display: flex;
	align-items: stretch;
	flex-flow: row wrap;
	gap: var( --fluffle-line__spacing-v, 0.5rem ) var( --fluffle-flexbox__gap-h, 30px );
	justify-content: center;
}

.wt-careers__positions-widget__role-filter {
	display: block;
}

.wt-careers__positions-widget__role-filter-label,
.wt-careers__positions-widget__position-link {
	display: inline-block;
	border-color: currentcolor;
	border-radius: var(--fluffle-button__border-radius, 1rem) !important;
	border-style: var( --fluffle-button__border-style, solid ) !important;
	border-width: var( --fluffle-button__border-width, 1px ) !important;
	padding-block: var( --fluffle-button__padding-v, 0.75em ) !important;
	padding-inline: var( --fluffle-button__padding-h, 1em ) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	background-color: var( --fluffle__color-bg, white );
	color: var( --fluffle-button__color-fg, black );
	text-align: center;
}

.wt-careers__positions-widget__role-filter-input:checked + .wt-careers__positions-widget__role-filter-label {
	border-color: var( --fluffle-button__color-fg, black );
	background-color: var( --fluffle-button__color-fg, black );
	color: var( --fluffle__color-bg, white );
}

:is( .wt-careers__positions-widget__role-filter-label, .wt-careers__positions-widget__position-link ):is( :active, :focus-visible, :hover ) {
	border-color: var( --fluffle-button__color-bg, black );
	background-color: var( --fluffle-button__color-bg, white );
	color: var( --fluffle-button__color-fg, black );
}

.wt-careers__positions-widget__location {
	margin-block: var( --fluffle-block__spacing-v, 1.5rem );
}

.wt-careers__positions-widget__location-header,
.wt-careers__positions-widget__position {
	margin-block: var( --fluffle-para__spacing-v, 1.0rem );
}

.wt-careers__positions-widget__location-header {
	display: flex;
	align-items: baseline;
	flex-flow: row nowrap;
	gap: var( --fluffle-line__spacing-v, 0.5rem ) var( --fluffle-flexbox__gap-h, 30px );
	justify-content: space-between;
	border-block-end: var( --fluffle__border-color, currentcolor ) var( --fluffle__border-style, solid ) var( --fluffle__border-width, 1px );
	padding-block-end: var( --fluffle-line__spacing-v, 1.0rem );
}

.wt-careers__positions-widget__location-header-text {
	flex: 1 1 0%;
	margin: 0;
}

.wt-careers__positions-widget__location-header-openings {
	flex: 0 0 auto;
}

.wt-careers__positions-widget__position {
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	gap: var( --fluffle-para__spacing-v, 1.0rem ) var( --fluffle-flexbox__gap-h, 30px );
	justify-content: space-between;
	margin-block: var( --fluffle-para__spacing-v, 1.0rem );
	border-color: var( --fluffle__border-color, currentcolor );
	border-radius: var( --fluffle__border-radius, 1rem );
	border-style: var( --fluffle__border-style, solid );
	border-width: var( --fluffle__border-width, 1px );
	padding-block: var( --fluffle-para__spacing-v, 1.0rem );
	padding-inline: var( --fluffle-flexbox__gap-h, 30px );
}

.wt-careers__positions-widget__position-leading,
.wt-careers__positions-widget__position-trailing {
	flex: 0 0 100%;
}

.wt-careers__positions-widget__position-role,
.wt-careers__positions-widget__position-metas {
	margin-block: var( --fluffle-line__spacing-v, 0.5rem );
}

.wt-careers__positions-widget__position-metas {
	display: flex;
	align-items: baseline;
	flex-flow: row wrap;
	gap: var( --fluffle-line__spacing-v, 0.5rem ) var( --fluffle-flexbox__gap-h, 30px );
	list-style: none;
	padding-block: 0;
	padding-inline: 1ch;
}

.wt-careers__positions-widget__position-trailing {
	text-align: end;
}

.wt-careers__positions-widget__position-link {
	text-decoration: none !important;
}

.wt-careers__positions-widget__no-locations {
	font-style: italic;
}

.wt-careers__positions-widget__role-filter-input,
.wt-careers__positions-widget__location:not( [data-location-visible] ),
.wt-careers__positions-widget__locations:not( [data-locations-visible] ),
.wt-careers__positions-widget__position:not( [data-position-visible] ),
[data-locations-visible] + .wt-careers__positions-widget__no-locations {
	display: none;
}

@supports( container-type: inline-size ) {
	.wt-careers__positions-widget__positions {
		container: wt-careers__positions-widget / inline-size;
	}
	
	@container wt-careers__positions-widget ( min-inline-size: 720px ) {
		.wt-careers__positions-widget__position {
			flex-wrap: nowrap;
		}
		
		.wt-careers__positions-widget__position-leading {
			flex: 1 1 0%;
		}
		
		.wt-careers__positions-widget__position-trailing {
			flex-basis: auto;
		}
		
		.wt-careers__positions-widget__position-link {
			border-color: transparent;
			font-weight: bold;
		}
	}
}

@supports not ( container-type: inline-size ) {
	@media( min-width: 768px ) {
		.wt-careers__positions-widget__position {
			flex-wrap: nowrap;
		}
		
		.wt-careers__positions-widget__position-leading {
			flex: 1 1 0%;
		}
		
		.wt-careers__positions-widget__position-trailing {
			flex-basis: auto;
		}
		
		.wt-careers__positions-widget__position-link {
			border-color: transparent;
			font-weight: bold;
		}
	}
}
