.oc-list-box {
	--oc-lb-cols: 3;
	--oc-lb-gap: 24px;
	--oc-lb-box-bg: #f3f0e8;
	--oc-lb-title: #1a1a1a;
	--oc-lb-cta: #1a1a1a;
	--oc-lb-corner: #5a6b56;
	--oc-lb-line: #5a6b56;
	--oc-lb-diamond: #5a6b56;
	--oc-lb-shadow: none;
	position: relative;
	width: 100%;
	padding: 72px 48px;
	background-color: #c9c4b8;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

.oc-list-box *,
.oc-list-box *::before,
.oc-list-box *::after {
	box-sizing: border-box;
}

.oc-list-box__inner {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}

.oc-list-box__grid {
	display: grid;
	grid-template-columns: repeat(var(--oc-lb-cols), minmax(0, 1fr));
	gap: var(--oc-lb-gap);
	align-items: start;
	justify-items: stretch;
}

.oc-list-box__box {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 268px;
	padding: 48px 28px 30px;
	background-color: var(--oc-lb-box-bg);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	box-shadow: var(--oc-lb-shadow);
	text-align: center;
	text-decoration: none;
	color: inherit;
	border: 0;
	outline: none;
	transition: opacity 0.25s ease, transform 0.3s ease;
}

a.oc-list-box__box:hover,
a.oc-list-box__box:focus {
	text-decoration: none;
	color: inherit;
	opacity: 0.96;
}

.oc-list-box__box.is-expandable:hover {
	transform: scale(1.015);
}

.oc-list-box__box.is-expandable.is-open {
	transform: none;
}

.oc-list-box__corner {
	position: absolute;
	z-index: 2;
	color: var(--oc-lb-corner);
	font-size: 6px;
	line-height: 1;
	pointer-events: none;
}

.oc-list-box__corner--tl { top: 12px; left: 12px; }
.oc-list-box__corner--tr { top: 12px; right: 12px; }
.oc-list-box__corner--bl { bottom: 12px; left: 12px; }
.oc-list-box__corner--br { bottom: 12px; right: 12px; }

.oc-list-box__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	width: 100%;
	gap: 20px;
	padding: 8px 0 0;
}

.oc-list-box__title {
	margin: 0;
	max-width: 250px;
	color: var(--oc-lb-title);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.oc-list-box__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 84px;
	flex-shrink: 0;
}

.oc-list-box__line {
	flex: 1 1 auto;
	height: 1px;
	background: var(--oc-lb-line);
	opacity: 0.9;
}

.oc-list-box__diamond {
	display: inline-block;
	color: var(--oc-lb-diamond);
	font-size: 9px;
	line-height: 1;
	flex-shrink: 0;
}

.oc-list-box__content {
	display: grid;
	grid-template-rows: 0fr;
	width: 100%;
	text-align: left;
	transition: grid-template-rows 0.35s ease;
}

.oc-list-box__box.is-open .oc-list-box__content {
	grid-template-rows: 1fr;
}

.oc-list-box__content-inner {
	overflow: hidden;
	min-height: 0;
}

.oc-list-box__content-text {
	--oc-lb-body: #3a3a3a;
	margin: 0;
	padding: 4px 4px 8px;
	color: var(--oc-lb-body);
	font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
}

.oc-list-box__content-text p {
	margin: 0 0 0.9em;
}

.oc-list-box__content-text p:last-child {
	margin-bottom: 0;
}

.oc-list-box__cta {
	display: inline-block;
	margin-top: auto;
	padding-top: 28px;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
	cursor: pointer;
	color: var(--oc-lb-cta);
	font: inherit;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.2s ease;
	/* Keep clickable inside Elementor editor */
	pointer-events: auto;
	position: relative;
	z-index: 5;
	user-select: none;
	-webkit-user-select: none;
}

.oc-list-box__cta.is-toggle:hover,
.oc-list-box__cta.is-toggle:focus,
.oc-list-box__cta.is-toggle:focus-visible,
.oc-list-box__cta.is-toggle:active {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	opacity: 0.75;
	color: var(--oc-lb-cta);
	text-decoration: none;
}

a.oc-list-box__box .oc-list-box__cta,
.oc-list-box__cta:hover,
.oc-list-box__cta:focus {
	color: var(--oc-lb-cta);
	text-decoration: none;
}

/* Elementor editor: allow MORE/CLOSE interaction */
.elementor-editor-active .oc-list-box__cta.is-toggle,
.elementor-edit-area .oc-list-box__cta.is-toggle {
	pointer-events: auto !important;
	cursor: pointer;
}

@media (max-width: 1024px) {
	.oc-list-box {
		padding: 56px 32px;
	}
}

@media (max-width: 640px) {
	.oc-list-box {
		padding: 40px 20px;
	}

	.oc-list-box__box {
		min-height: 240px;
		padding: 40px 24px 28px;
	}

	.oc-list-box__title {
		font-size: 22px;
	}
}
