/* QarDU raqamlarda — infografikalar
   Hero stat kartalari shablonning o'zidagi haqiqiy komponentidan olindi:
   .grid-ibx--style-lined-center (demos.hogash.com/kallyas-template/
   elements-icon-box-grid.php, "GridIconBox Styles - Lined Center",
   template.css satr ~12147). 3 tadan 2 qatorli katakcha panjara, katakchalar
   orasida yupqa ajratuvchi chiziqlar (rgba(0,0,0,.1)), ikonka standart
   holatda kulrang (#e2e2e2), sichqoncha ustiga kelganda shablonning asosiy
   rangiga (--main-bg-color: #1a247e) o'tadi va katakcha katta soya bilan
   ko'tariladi — bularning barchasi shablonning o'zidagi tayyor CSS
   qoidalari orqali ishlaydi, faqat pastdagi (.qs-stat-tile__value) — bu
   sahifaga xos raqam ko'rsatish uchun qo'shilgan yagona qo'shimcha.
   - Asosiy rang: #1a247e (--main-bg-color)
   - Qizil #cd2122 — saytdagi boshqa joylardagi kabi faqat kichik
     hover/ikkinchi darajali urg'ular uchun (jadval havolasi, xato xabari)
   - Matn ranglari: .black (#2d2d2d), .gray (#7c7c7c), .gray2 (#545d60)
   - Karta radiusi/soyasi: .related-news-card konvensiyasi bilan bir xil (6px, 0 1px 6px rgba(0,0,0,.08)) */

.qs-section {
	margin-top: 60px;
}

.qs-section .kl-title-block {
	padding-bottom: 20px;
}

/* Hero stat tiles — .grid-ibx--style-lined-center uslubi, faqat balandligi
   torroq (ikonka+raqam+yorliq uchun 300px shart emas) */
.qs-hero-grid.grid-ibx .grid-ibx__item {
	height: 220px;
}

.qs-hero-grid .grid-ibx__icon-wrp {
	margin-bottom: 14px;
}

.qs-stat-tile__value {
	font-family: 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2.1rem;
	font-weight: 800;
	color: #2d2d2d;
	line-height: 1;
	margin-bottom: 10px;
}

/* Card grid */
.qs-grid-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 20px;
}

.qs-card {
	position: relative;
	background: #fff;
	border-radius: 6px;
	padding: 26px;
	transition: box-shadow .25s cubic-bezier(.215, .61, .355, 1);
}

.qs-card__ghelper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	border: 1px solid rgba(0, 0, 0, .2);
	border-bottom: 0;
	border-radius: 4px 4px 0 0;
	transition: border-color .25s ease;
}

.qs-card::before,
.qs-card::after {
	content: '';
	position: absolute;
	top: 4px;
	width: 1px;
	height: 60px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, .2) 60%, transparent 100%);
	transition: background .25s ease;
}

.qs-card::before {
	left: 0;
}

.qs-card::after {
	right: 0;
}

.qs-card:hover {
	box-shadow: 0 -10px 30px -10px rgba(0, 0, 0, .29);
}

.qs-card:hover .qs-card__ghelper {
	border-color: #1a247e;
}

.qs-card:hover::before,
.qs-card:hover::after {
	background: linear-gradient(to bottom, #1a247e 0%, transparent 100%);
}

.qs-card__title {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-weight: 600;
	font-size: 1.1rem;
	color: #2d2d2d;
	margin: 0 0 18px;
}

/* Donut chart */
.qs-donut-card__body {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.qs-donut {
	--size: 168px;
	width: var(--size);
	height: var(--size);
	border-radius: 50%;
	position: relative;
	flex-shrink: 0;
	animation: qs-pop .6s ease-out both;
}

.qs-donut__hole {
	position: absolute;
	inset: 19%;
	background: #fff;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.qs-donut__total {
	font-family: 'Montserrat', "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.4rem;
	font-weight: 800;
	color: #2d2d2d;
	line-height: 1.1;
}

.qs-donut__total-label {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: .66rem;
	color: #7c7c7c;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-top: 2px;
}

.qs-legend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	min-width: 180px;
}

.qs-legend li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: .92rem;
	color: #545d60;
	flex-wrap: wrap;
}

.qs-legend__swatch {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	flex-shrink: 0;
}

.qs-legend__label {
	margin-right: auto;
}

.qs-legend__value {
	font-weight: 700;
	color: #2d2d2d;
}

.qs-legend__pct {
	color: #7c7c7c;
	font-size: .82rem;
	min-width: 42px;
	text-align: right;
}

/* Bar chart */
.qs-bars {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.qs-bar {
	display: flex;
	align-items: center;
	gap: 12px;
}

.qs-bar__label {
	flex: 0 0 148px;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: .86rem;
	color: #545d60;
}

.qs-bar__track {
	flex: 1;
	height: 10px;
	background: #f1f1f1;
	border-radius: 6px;
	overflow: hidden;
}

.qs-bar__fill {
	display: block;
	height: 100%;
	border-radius: 6px;
	background: linear-gradient(90deg, #1a247e 0%, #472f8c 100%);
	transform-origin: left;
	animation: qs-grow .9s cubic-bezier(.16, 1, .3, 1) both;
}

.qs-bar__value {
	flex: 0 0 auto;
	min-width: 44px;
	text-align: right;
	font-weight: 700;
	color: #2d2d2d;
	font-size: .88rem;
}

/* Table fallback */
.qs-table-toggle {
	margin-top: 16px;
}

.qs-table-toggle summary {
	cursor: pointer;
	color: #cd2122;
	font-size: .85rem;
	font-weight: 600;
	outline: none;
}

.qs-table-toggle summary:hover {
	text-decoration: underline;
}

.qs-table {
	width: 100%;
	margin-top: 10px;
	border-collapse: collapse;
	font-size: .85rem;
}

.qs-table th,
.qs-table td {
	text-align: left;
	padding: 6px 8px;
	border-bottom: 1px solid #eee;
}

.qs-table th {
	color: #7c7c7c;
	font-weight: 600;
}

/* Source note */
.qs-source-note {
	margin-top: 40px;
	color: #a0a0a0;
	font-size: .82rem;
	text-align: center;
}

/* Fallback notice when API is unavailable */
.qs-fallback {
	background: #fdf5f5;
	border-left: 3px solid #cd2122;
	border-radius: 6px;
	padding: 24px;
	color: #545d60;
	text-align: center;
	margin-top: 24px;
}

@keyframes qs-grow {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

@keyframes qs-pop {
	from {
		opacity: 0;
		transform: scale(.9);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.qs-bar__fill,
	.qs-donut {
		animation: none;
	}
}

@media (max-width: 575px) {
	.qs-bar__label {
		flex-basis: 108px;
		font-size: .8rem;
	}

	.qs-donut-card__body {
		justify-content: center;
	}
}
