/* Grid container setup */
.tile-grid-8330046b {
	display: grid;
	/* columns are set via Elementor settings */
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

/* Individual Tile using CSS Subgrid for row alignment across siblings */
.tile-item-8330046b {
	display: grid;
	/* span 3 rows defined by the parent grid (for title, divider, text) */
	grid-template-rows: subgrid;
	grid-row: span 3;
	
	/* Layout specifics for fallback if subgrid unsupported */
	text-decoration: none;
	position: relative;
	transition: all 0.3s ease;
	background: #fff;
	padding: 30px;
	border: 1px solid #eee;
}

.tile-item-8330046b:hover,
.tile-item-8330046b:focus-within {
	text-decoration: none;
}

/* For browsers that do NOT support CSS subgrid, fallback to internal layout */
@supports not (grid-template-rows: subgrid) {
	.tile-item-8330046b {
		grid-template-rows: auto auto 1fr;
	}
}

/* Content wrappers */
.tile-title-wrapper-8330046b,
.tile-divider-wrapper-8330046b,
.tile-desc-wrapper-8330046b {
	/* reset default margins if any inside */
	display: flex;
	flex-direction: column;
}

/* Handle flex alignment for different values */
.tile-title-wrapper-8330046b[style*="align-items: center"],
.tile-divider-wrapper-8330046b[style*="align-items: center"],
.tile-desc-wrapper-8330046b[style*="align-items: center"] {
    align-items: center;
}

.tile-title-wrapper-8330046b[style*="align-items: right"],
.tile-divider-wrapper-8330046b[style*="align-items: right"],
.tile-desc-wrapper-8330046b[style*="align-items: right"] {
    align-items: flex-end;
}


/* Title styles */
.tile-title-8330046b {
	margin: 0;
	padding: 0;
}

.tile-title-wrapper-8330046b {
	padding-bottom: 15px;
}

/* Divider styles */
.tile-divider-8330046b {
	width: 40px;
	height: 2px;
	background-color: #333;
}

.tile-divider-wrapper-8330046b {
	padding-bottom: 15px;
}

/* Description styles */
.tile-desc-8330046b {
	color: #666;
	line-height: 1.6;
}
.tile-desc-8330046b p:last-child {
	margin-bottom: 0;
}

/* Number position options */
.tile-number-8330046b {
	font-size: 1.5rem;
	font-weight: bold;
	color: #ccc;
	line-height: 1;
	--num-x: 20px;
	--num-y: 20px;
}

.tile-num-pos-absolute-tr .tile-number-8330046b {
	position: absolute;
	top: var(--num-y);
	right: var(--num-x);
}

.tile-num-pos-absolute-tl .tile-number-8330046b {
	position: absolute;
	top: var(--num-y);
	left: var(--num-x);
}

.tile-num-pos-relative-tl .tile-number-8330046b {
	position: relative;
	margin-bottom: 10px;
}

/* Accessible focus outline for links */
a.tile-item-linked-8330046b:focus-visible {
	outline: 2px solid var(--e-global-color-accent, #000);
	outline-offset: 2px;
}
