/**
 * AIA Category Blocks — stiluri frontend (mobile-first).
 *
 * @package AIA_Pro
 */

.aia-pro-category-blocks {
	--aia-cat-block-color: #fff;
	--aia-cat-block-icon-size: 28px;
	--aia-cat-bracket-color: #000;
	--aia-cat-bracket-width: 3px;
	--aia-cat-bracket-arm: 36px;
	--aia-cat-frame-bg: #fff;
	--aia-cat-hover-overlay: rgba(0, 0, 0, 0.45);
	--aia-cat-hover-duration: 450ms;
	width: 100%;
	font-family: 'Roboto Slab', Georgia, serif;
}

.aia-category-blocks__frame {
	position: relative;
	padding: 24px 32px;
	border-left: var(--aia-cat-bracket-width) solid var(--aia-cat-bracket-color);
	border-right: var(--aia-cat-bracket-width) solid var(--aia-cat-bracket-color);
}

.aia-category-blocks__corner {
	position: absolute;
	width: var(--aia-cat-bracket-arm);
	pointer-events: none;
}

.aia-category-blocks__corner--tl,
.aia-category-blocks__corner--tr {
	top: 0;
	height: 0;
	border-top: var(--aia-cat-bracket-width) solid var(--aia-cat-bracket-color);
}

.aia-category-blocks__corner--bl,
.aia-category-blocks__corner--br {
	bottom: 0;
	height: 0;
	border-bottom: var(--aia-cat-bracket-width) solid var(--aia-cat-bracket-color);
}

.aia-category-blocks__corner--tl,
.aia-category-blocks__corner--bl {
	left: 0;
}

.aia-category-blocks__corner--tr,
.aia-category-blocks__corner--br {
	right: 0;
}

.aia-category-blocks__heading {
	position: absolute;
	top: 0;
	left: calc(var(--aia-cat-bracket-arm) + 10px);
	z-index: 2;
	margin: 0;
	padding: 0 10px;
	transform: translateY(-50%);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #0c0c0c;
	background-color: var(--aia-cat-frame-bg);
}

.aia-category-blocks__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
}

.aia-category-block {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 10px;
	padding: 16px;
	border-radius: 0;
	color: var(--aia-cat-block-color);
	text-decoration: none;
	text-align: left;
	transition: color 0.2s ease;
}

.aia-category-block__hover-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
}

.aia-category-block__hover-bg-inner {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transform: translateX(0);
	will-change: transform;
}

.aia-category-block__hover-bg-inner::after {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--aia-cat-hover-overlay);
}

.aia-category-block:hover,
.aia-category-block:focus-visible {
	color: var(--aia-cat-block-color);
	text-decoration: none;
}

.aia-category-block__icon-wrap,
.aia-category-block__title {
	position: relative;
	z-index: 1;
}

.aia-category-block__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-shrink: 0;
	line-height: 1;
}

.aia-category-block__icon {
	width: var(--aia-cat-block-icon-size);
	height: var(--aia-cat-block-icon-size);
	font-size: var(--aia-cat-block-icon-size);
	color: var(--aia-cat-block-color);
	fill: currentColor;
}

.aia-category-block__icon svg {
	width: var(--aia-cat-block-icon-size);
	height: var(--aia-cat-block-icon-size);
}

.aia-category-block__title {
	display: block;
	width: 100%;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* Tabletă: 2 sau 3 coloane */
@media (max-width: 1023px) {
	.aia-pro-category-blocks--tablet-3 .aia-category-block {
		flex: 0 0 calc(33.333% - 7px);
		max-width: calc(33.333% - 7px);
		aspect-ratio: 1 / 1;
	}

	.aia-pro-category-blocks--tablet-2 .aia-category-block {
		flex: 0 0 calc(50% - 5px);
		max-width: calc(50% - 5px);
		aspect-ratio: 1 / 1;
	}
}

/* Mobil: 1 sau 2 coloane */
@media (max-width: 767px) {
	.aia-pro-category-blocks--mobile-2 .aia-category-block {
		flex: 0 0 calc(50% - 5px);
		max-width: calc(50% - 5px);
		aspect-ratio: 1 / 1;
	}

	.aia-pro-category-blocks--mobile-1 .aia-category-block {
		flex: 0 0 100%;
		max-width: 100%;
		aspect-ratio: 1 / 1;
	}
}
