@font-face { font-family: 'Betafloor Cards'; src: url('../fonts/HostGrotesk-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Betafloor Cards'; src: url('../fonts/HostGrotesk-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
.elementor-widget-betafloor-cards,
.elementor-widget-betafloor-cards > .elementor-widget-container { min-width: 0; max-width: 100%; }
.bf-cards {
	--bf-accent: #00bfe5;
	--bf-panel: rgba(255, 255, 255, .9);
	--bf-title-color: #001b71;
	--bf-category-color: #666;
	--bf-description-color: #666;
	--bf-stripe: 7.24cqw;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
.bf-cards, .bf-cards * { box-sizing: border-box; }
.bf-cards .bf-card {
	container-type: inline-size;
	position: relative;
	aspect-ratio: 1;
	/* A taller minimum height must never expand the card beyond its grid track. */
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-self: stretch;
	min-height: max(var(--bf-min-height, 0px), var(--bf-content-min, 280px));
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: #ddd;
	font-family: 'Betafloor Cards', Arial, sans-serif;
	text-align: left;
	isolation: isolate;
}
.bf-card .bf-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	object-fit: cover;
	object-position: center;
}
.bf-card__panel {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, var(--bf-panel) 0, var(--bf-panel) calc(100% - var(--bf-stripe)), var(--bf-accent) calc(100% - var(--bf-stripe)), var(--bf-accent) 100%);
	clip-path: polygon(0 55%, 100% 79%, 100% 100%, 0 100%);
	transition: clip-path .4s ease;
	pointer-events: none;
}
.bf-card__content {
	position: absolute;
	left: 8.85%;
	right: calc(var(--bf-stripe) + 9.5%);
	bottom: 7.24%;
	z-index: 1;
	overflow-wrap: anywhere;
	pointer-events: none;
	transition: bottom .4s ease;
}
.bf-card .bf-card__category,
.bf-card .bf-card__title,
.bf-card .bf-card__description {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: normal;
}
.bf-card .bf-card__category {
	margin: 0 0 20px;
	padding: 0;
	color: var(--bf-category-color);
	font: 700 12px/1.2 'Betafloor Cards', Arial, sans-serif;
	letter-spacing: 1px;
	text-transform: uppercase;
	white-space: normal;
}
.bf-card .bf-card__title {
	margin: 0;
	padding: 0;
	color: var(--bf-title-color);
	font: 700 20px/1.2 'Betafloor Cards', Arial, sans-serif;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
}
.bf-card__details {
	display: grid;
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: 0fr;
	visibility: hidden;
	opacity: 0;
	transition: grid-template-rows .4s ease, opacity .25s ease, visibility .4s;
}
.bf-card__details-inner { min-width: 0; min-height: 0; overflow: hidden; }
.bf-card .bf-card__description {
	max-width: 250px;
	margin: 0;
	padding: 20px 0 0;
	color: var(--bf-description-color);
	font: 400 16px/1.02 'Betafloor Cards', Arial, sans-serif;
	letter-spacing: 0;
	white-space: pre-line;
}
.bf-card .bf-card__link {
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
.bf-card .bf-card__toggle {
	appearance: none;
	position: absolute;
	bottom: calc(7.24% - 8px);
	right: var(--bf-stripe);
	z-index: 3;
	display: grid;
	place-items: center;
	width: 42px;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--bf-title-color);
	box-shadow: none;
	cursor: pointer;
	touch-action: manipulation;
}
.bf-card__toggle span { position: relative; width: 17px; height: 17px; transition: opacity .2s; }
.bf-card__toggle span::before, .bf-card__toggle span::after { content: ''; position: absolute; background: currentColor; }
.bf-card__toggle span::before { width: 17px; height: 1.5px; left: 0; top: 7.75px; }
.bf-card__toggle span::after { height: 17px; width: 1.5px; top: 0; left: 7.75px; }
.bf-card.is-open .bf-card__panel { clip-path: polygon(0 0, 100% 24%, 100% 100%, 0 100%); }
.bf-card.is-open .bf-card__content { bottom: 6.43%; }
.bf-card.is-open .bf-card__details { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
.bf-card.is-open .bf-card__toggle span { opacity: 0; }
.bf-card.is-open .bf-card__toggle:focus-visible span { opacity: 1; }
.bf-card.is-open .bf-card__toggle:focus-visible span::after { display: none; }
.bf-card .bf-card__link:focus-visible, .bf-card .bf-card__toggle:focus-visible { outline: 2px solid var(--bf-title-color); outline-offset: 3px; }
/* Hover remains usable if JavaScript is unavailable. */
@media (hover: hover) {
	.bf-cards:not(.is-ready) .bf-card:hover .bf-card__panel { clip-path: polygon(0 0, 100% 24%, 100% 100%, 0 100%); }
	.bf-cards:not(.is-ready) .bf-card:hover .bf-card__details { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
	.bf-cards:not(.is-ready) .bf-card:hover .bf-card__toggle span { opacity: 0; }
}
@media (max-width: 1024px) { .bf-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .bf-cards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) {
	.bf-card__panel, .bf-card__content, .bf-card__details, .bf-card__toggle span { transition: none; }
}
/* Only JavaScript marks pending items; without it, all content stays visible. */
.bf-cards > .bf-card.bf-entrance-pending { opacity: 0; }
@media (prefers-reduced-motion: reduce), print {
	.bf-cards[data-bf-entrance] > .bf-card { opacity: 1 !important; transform: none !important; }
}
