/*
 * [solongo_procedures] — "Мэс заслын 5 төрөл" (inc/procedures.php). Зөвхөн tokens.css-ийн утгууд.
 * ≥1200: bento 7/12 + 5/12 · 768–1199: онцлох бүтэн өргөн + жижиг 2 багана · <768: scroll-snap carousel
 */

/* Section-ий дэвсгэр (Elementor container .sl-procedures-section) — хөрш section-уудаас ялгарна. */
.sl-v2 .e-con.sl-procedures-section {
	background: linear-gradient(180deg, var(--sl-color-tint) 0%, var(--sl-color-surface) 100%);
}

.sl-proc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--sl-space-4);
}

/* Grid-ийн хүүхдүүд carousel/хүснэгтийн өргөнөөр тэлэхгүй. */
.sl-proc > *,
.sl-proc__groups > *,
.sl-proc-compare > * {
	min-width: 0;
}

.sl-proc__groups {
	grid-template-columns: minmax(0, 1fr);
}

/* ---- Толгой ---- */
.sl-proc__head {
	display: grid;
	justify-items: center;
	gap: var(--sl-space-2);
	text-align: center;
}

.sl-proc__eyebrow {
	margin: 0;
	color: var(--sl-color-primary);
	font-size: 13px;
	font-weight: var(--sl-font-weight-bold);
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sl-v2 .sl-proc .sl-proc__title {
	margin: 0;
	color: var(--sl-color-text);
	font-size: clamp(28px, 2.4vw + 12px, 40px);
	line-height: var(--sl-leading-heading);
	font-weight: var(--sl-font-weight-bold);
	text-wrap: balance;
}

.sl-proc__lead {
	max-width: 60ch;
	margin: 0;
	color: var(--sl-color-text-muted);
	font-size: var(--sl-text-base);
	line-height: var(--sl-leading-body);
}

@media (min-width: 1200px) {
	.sl-v2 .sl-proc .sl-proc__title {
		white-space: nowrap; /* desktop-д 1 мөр */
	}
}

/* ---- Segmented toggle ---- */
.sl-proc-toggle {
	display: inline-flex;
	justify-self: center;
	gap: 4px;
	padding: 4px;
	border: 1px solid var(--sl-color-border);
	border-radius: var(--sl-radius-pill);
	background: var(--sl-color-bg);
	box-shadow: var(--sl-shadow-card);
}

.sl-proc-toggle__btn {
	min-height: 44px;
	padding: 10px var(--sl-space-3);
	border: 0;
	border-radius: var(--sl-radius-pill);
	background: transparent;
	color: var(--sl-color-text-muted);
	font: inherit;
	font-size: 15px;
	font-weight: var(--sl-font-weight-semibold);
	line-height: 1.2;
	cursor: pointer;
	transition: background-color var(--sl-transition), color var(--sl-transition);
}

.sl-proc-toggle__btn:hover {
	color: var(--sl-color-primary);
}

.sl-proc-toggle__btn[aria-pressed="true"] {
	background: var(--sl-color-primary);
	color: var(--sl-color-on-primary);
}

.sl-proc-toggle__count {
	font-weight: var(--sl-font-weight-regular);
	opacity: .8;
}

.sl-proc-toggle__btn:focus-visible,
.sl-proc-compare__btn:focus-visible,
.sl-proc-card a:focus-visible,
.sl-proc-table-wrap:focus-visible {
	outline: 3px solid var(--sl-focus-ring);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--sl-color-bg);
}

/* ---- Бүлэг (stacked хувилбарт гарчигтай) ---- */
.sl-proc__groups {
	display: grid;
	gap: var(--sl-space-5);
}

.sl-proc-group[hidden] {
	display: none;
}

.sl-proc-group.is-entering {
	animation: sl-proc-in 220ms ease-out both;
}

@keyframes sl-proc-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: none; }
}

.sl-v2 .sl-proc .sl-proc-group__title {
	display: flex;
	align-items: center;
	gap: var(--sl-space-2);
	margin: 0 0 var(--sl-space-2);
	color: var(--sl-color-text);
	font-size: var(--sl-text-h5);
	line-height: 1.3;
}

.sl-v2 .sl-proc .sl-proc-group__title::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--sl-color-border);
}

/* ---- Bento grid ---- */
.sl-proc-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--sl-space-3);
}

.sl-proc-card--featured {
	grid-column: 1 / span 7;
	grid-row: 1 / span 2;
}

.sl-proc-card--small {
	grid-column: 8 / span 5;
}

/* 2 карттай бүлэг: жижиг карт бүтэн өндрийг эзэлнэ. */
.sl-proc-grid--2 .sl-proc-card--small {
	grid-row: 1 / span 2;
}

/* ---- Карт ---- */
.sl-proc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: var(--sl-space-3);
	border-radius: var(--sl-radius);
	transition: transform var(--sl-transition), box-shadow var(--sl-transition);
}

.sl-proc-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--sl-shadow-card-hover);
}

.sl-proc-card--small {
	border: 1px solid var(--sl-color-border);
	background: var(--sl-color-surface);
	box-shadow: var(--sl-shadow-card);
}

.sl-proc-card--featured {
	gap: var(--sl-space-2);
	padding: var(--sl-space-3);
	background: linear-gradient(150deg, var(--sl-color-primary-dark) 0%, var(--sl-color-primary) 100%);
	color: var(--sl-color-on-primary);
	box-shadow: var(--sl-shadow-card);
	overflow: hidden;
}

.sl-proc-card__media {
	overflow: hidden;
	border-radius: calc(var(--sl-radius) - 4px);
	aspect-ratio: 16 / 8;
	background: var(--sl-color-primary-dark);
}

.sl-proc-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 300ms ease;
}

.sl-proc-card--featured:hover .sl-proc-card__media img {
	transform: scale(1.03);
}

.sl-proc-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
}

.sl-proc-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sl-space-1);
	margin: 0;
}

.sl-proc-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: var(--sl-radius-pill);
	background: var(--sl-color-tint);
	color: var(--sl-color-primary);
	font-size: 13px;
	font-weight: var(--sl-font-weight-semibold);
	line-height: 1.3;
}

.sl-proc-card--featured .sl-proc-badge {
	background: color-mix(in srgb, var(--sl-color-bg) 16%, transparent);
	color: var(--sl-color-on-primary);
}

.sl-proc-card--featured .sl-proc-badge--accent {
	background: var(--sl-color-bg);
	color: var(--sl-color-primary-dark);
}

.sl-v2 .sl-proc .sl-proc-card__title {
	margin: 0;
	color: var(--sl-color-text);
	font-size: var(--sl-text-h4);
	line-height: 1.25;
}

.sl-v2 .sl-proc .sl-proc-card--featured .sl-proc-card__title {
	color: var(--sl-color-on-primary);
	font-size: var(--sl-text-h3);
}

.sl-proc-card__desc {
	margin: 0;
	color: var(--sl-color-text-muted);
	font-size: 16px;
	line-height: 1.55;
}

.sl-proc-card--featured .sl-proc-card__desc {
	color: color-mix(in srgb, var(--sl-color-on-primary) 88%, transparent);
	font-size: 17px;
}

/* Жижиг карт: тайлбар 2 мөр. */
.sl-proc-card--small .sl-proc-card__desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* ---- Spec chip ---- */
.sl-proc-specs {
	display: grid;
	gap: var(--sl-space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sl-proc-specs li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--sl-color-text);
}

.sl-proc-icon {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--sl-color-primary);
}

.sl-proc-card--featured .sl-proc-specs {
	padding: var(--sl-space-2);
	border-radius: calc(var(--sl-radius) - 4px);
	background: color-mix(in srgb, var(--sl-color-bg) 10%, transparent);
}

.sl-proc-card--featured .sl-proc-specs li {
	color: var(--sl-color-on-primary);
}

.sl-proc-card--featured .sl-proc-specs .sl-proc-icon {
	color: var(--sl-color-on-primary);
	opacity: .85;
}

/* ---- CTA (доод талд тэгшилнэ) ---- */
.sl-proc .sl-proc-card__cta {
	align-self: flex-start;
	margin-top: auto;
	background: var(--sl-color-bg);
	border-color: var(--sl-color-bg);
	color: var(--sl-color-primary);
}

.sl-proc .sl-proc-card__cta:hover {
	background: var(--sl-color-tint);
	border-color: var(--sl-color-tint);
	color: var(--sl-color-primary-dark);
}

.sl-proc .sl-proc-card__cta .sl-proc-icon,
.sl-proc .sl-proc-card__link .sl-proc-icon {
	margin-top: 0;
	color: currentColor;
	transition: transform var(--sl-transition);
}

.sl-proc .sl-proc-card__cta:hover .sl-proc-icon,
.sl-proc .sl-proc-card__link:hover .sl-proc-icon {
	transform: translateX(3px);
}

.sl-proc .sl-proc-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	min-height: 44px;
	margin-top: auto;
	padding: 0 var(--sl-space-1);
	margin-left: calc(-1 * var(--sl-space-1));
	border-radius: var(--sl-radius);
	color: var(--sl-color-primary);
	font-weight: var(--sl-font-weight-semibold);
	text-decoration: none;
}

.sl-proc .sl-proc-card__link:hover {
	background: var(--sl-color-tint);
	color: var(--sl-color-primary-dark);
}

/* ---- Carousel цэгүүд (mobile) ---- */
.sl-proc-dots {
	display: none;
}

/* ---- Харьцуулах ---- */
.sl-proc-compare {
	display: grid;
	justify-items: center;
	gap: var(--sl-space-3);
}

.sl-proc .sl-proc-compare__btn .sl-proc-icon {
	margin-top: 0;
	color: currentColor;
	transition: transform var(--sl-transition);
}

.sl-proc .sl-proc-compare__btn[aria-expanded="true"] .sl-proc-icon {
	transform: rotate(180deg);
}

.sl-proc-compare__panel {
	position: relative;
	width: 100%;
}

.sl-proc-compare__panel[hidden] {
	display: none;
}

.sl-proc-compare__panel.is-entering {
	animation: sl-proc-in 220ms ease-out both;
}

.sl-proc-table-wrap {
	overflow-x: auto;
	border: 1px solid var(--sl-color-border);
	border-radius: var(--sl-radius);
	background: var(--sl-color-bg);
	box-shadow: var(--sl-shadow-card);
	-webkit-overflow-scrolling: touch;
}

/* Баруун талын fade: "гүйлгэж болно" */
.sl-proc-compare__panel::after {
	content: "";
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
	width: 48px;
	border-radius: 0 var(--sl-radius) var(--sl-radius) 0;
	background: linear-gradient(90deg, transparent, var(--sl-color-bg));
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--sl-transition);
}

.sl-proc-compare__panel.is-scrollable:not(.is-at-end)::after {
	opacity: 1;
}

.sl-proc-table {
	width: 100%;
	min-width: 860px;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 15px;
	line-height: 1.45;
}

.sl-proc-table th,
.sl-proc-table td {
	padding: 14px var(--sl-space-2);
	border: 0;
	border-bottom: 1px solid var(--sl-color-border);
	text-align: left;
	vertical-align: top;
}

.sl-proc-table tbody tr:last-child th,
.sl-proc-table tbody tr:last-child td {
	border-bottom: 0;
}

.sl-proc-table thead th {
	background: var(--sl-color-surface);
	font-size: 15px;
}

.sl-proc-table__method a {
	display: block;
	color: var(--sl-color-text);
	font-weight: var(--sl-font-weight-bold);
	text-decoration: none;
}

.sl-proc-table__method a:hover {
	color: var(--sl-color-primary);
	text-decoration: underline;
}

.sl-proc-table__method span {
	display: block;
	margin-top: 2px;
	color: var(--sl-color-text-muted);
	font-size: 13px;
	font-weight: var(--sl-font-weight-regular);
}

/* Бүлгийн өнгө: зүслэггүй баганууд tint. */
.sl-proc-table__method--flapless,
.sl-proc-table td.sl-proc-table__cell--flapless {
	background: color-mix(in srgb, var(--sl-color-tint) 60%, var(--sl-color-bg));
}

.sl-proc-table thead .sl-proc-table__method--flapless {
	background: var(--sl-color-tint);
	box-shadow: inset 0 3px 0 var(--sl-color-primary);
}

.sl-proc-table thead .sl-proc-table__method--flap {
	box-shadow: inset 0 3px 0 var(--sl-color-border-strong);
}

/* Эхний багана sticky */
.sl-proc-table tbody th,
.sl-proc-table__corner {
	position: sticky;
	left: 0;
	z-index: 1;
	min-width: 150px;
	background: var(--sl-color-bg);
	box-shadow: 1px 0 0 var(--sl-color-border);
	color: var(--sl-color-text);
	font-weight: var(--sl-font-weight-semibold);
	white-space: nowrap;
}

.sl-proc-table thead .sl-proc-table__corner {
	background: var(--sl-color-surface);
	color: var(--sl-color-text-muted);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.sl-proc-table tbody th .sl-proc-icon {
	margin-right: 6px;
	vertical-align: -3px;
}

.sl-proc-yes,
.sl-proc-no {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	font-weight: var(--sl-font-weight-semibold);
}

.sl-proc-yes {
	color: var(--sl-color-primary);
}

.sl-proc-no {
	color: var(--sl-color-text-muted);
}

.sl-proc-yes .sl-proc-icon,
.sl-proc-no .sl-proc-icon {
	margin-top: 0;
	color: currentColor;
}

.sl-proc-table__text {
	display: block;
	color: var(--sl-color-text);
}

.sl-proc-table__ask {
	display: block;
	color: var(--sl-color-text-muted);
	font-style: italic;
}

/* ---- Доод CTA ---- */
.sl-proc-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sl-space-2) var(--sl-space-3);
	padding: var(--sl-space-3);
	border: 1px solid var(--sl-color-border);
	border-radius: var(--sl-radius);
	background: var(--sl-color-bg);
	box-shadow: var(--sl-shadow-card);
}

.sl-proc-cta p {
	margin: 0;
	color: var(--sl-color-text);
	font-size: var(--sl-text-h6);
	font-weight: var(--sl-font-weight-semibold);
}

.sl-proc-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ---- 768–1199: онцлох бүтэн өргөн, жижиг 2 багана ---- */
@media (max-width: 1199px) {
	.sl-proc-card--featured {
		grid-column: 1 / -1;
		grid-row: auto;
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		align-items: stretch;
	}

	.sl-proc-card--featured .sl-proc-card__media {
		aspect-ratio: auto;
		min-height: 100%;
	}

	.sl-proc-card--small,
	.sl-proc-grid--2 .sl-proc-card--small {
		grid-column: span 6;
		grid-row: auto;
	}

	.sl-proc-grid--2 .sl-proc-card--small {
		grid-column: 1 / -1;
	}
}

/* ---- <768: carousel ---- */
@media (max-width: 767px) {
	.sl-proc {
		gap: var(--sl-space-3);
	}

	.sl-proc-toggle {
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-self: stretch;
	}

	.sl-proc-toggle__btn {
		padding: 10px 8px;
		font-size: 14px;
	}

	.sl-proc-grid {
		display: flex;
		gap: 12px;
		margin: 0 calc(-1 * var(--sl-space-2));
		padding: 4px var(--sl-space-2) var(--sl-space-2);
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--sl-space-2);
		scrollbar-width: none;
	}

	.sl-proc-grid::-webkit-scrollbar {
		display: none;
	}

	.sl-proc-card,
	.sl-proc-card--featured,
	.sl-proc-card--small,
	.sl-proc-grid--2 .sl-proc-card--small {
		flex: 0 0 85%; /* дараагийн картын ~15% харагдана */
		display: flex;
		scroll-snap-align: start;
	}

	.sl-proc-card:hover {
		transform: none;
	}

	.sl-proc-card--featured .sl-proc-card__media {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.sl-v2 .sl-proc .sl-proc-card--featured .sl-proc-card__title {
		font-size: var(--sl-text-h4);
	}

	.sl-proc-dots {
		display: flex;
		justify-content: center;
		gap: var(--sl-space-1);
		margin-top: var(--sl-space-1);
	}

	.sl-proc-dots span {
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: var(--sl-color-border-strong);
		opacity: .45;
		transition: opacity var(--sl-transition), transform var(--sl-transition);
	}

	.sl-proc-dots span.is-active {
		background: var(--sl-color-primary);
		opacity: 1;
		transform: scale(1.25);
	}

	.sl-proc-table {
		min-width: 0;
	}

	.sl-proc-table td,
	.sl-proc-table__method {
		min-width: 180px;
	}

	.sl-proc-table tbody th,
	.sl-proc-table__corner {
		min-width: 0;
		width: 112px;
		white-space: normal;
	}

	.sl-proc-cta {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.sl-proc-cta__actions {
		flex-direction: column;
	}

	.sl-proc-cta__actions .sl-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sl-proc-group.is-entering,
	.sl-proc-compare__panel.is-entering {
		animation: none;
	}

	.sl-proc-card,
	.sl-proc-card__media img,
	.sl-proc-toggle__btn,
	.sl-proc-icon,
	.sl-proc-dots span {
		transition: none;
	}

	.sl-proc-card:hover,
	.sl-proc-card--featured:hover .sl-proc-card__media img {
		transform: none;
	}
}
