/* ==========================================================================
   FUGA — Trang chi tiết vận động viên (single-fuga_athlete.php)
   Khoảng cách co giãn theo màn hình: calc(N * var(--u)) (N = giá trị đo ở 1440px)
   ========================================================================== */
.fg-athlete { padding-bottom: calc(79.5 * var(--u)); background: #fafbfd; }
.fg-athlete__hero-img { display: block; width: 100%; height: auto; }

.fg-athlete__main { padding: calc(93.75 * var(--u)) calc(148.5 * var(--u)) calc(79.5 * var(--u)); background: #f6f7f9; }
.fg-athlete--no-hero .fg-athlete__main { padding-top: calc(135 * var(--u)); }

.fg-athlete__profile {
	display: grid;
	grid-template-columns: minmax(320px, calc(363 * var(--u))) minmax(0, 1fr);
	grid-template-areas: "visual name" "visual info";
	column-gap: calc(123.75 * var(--u));
	align-items: start;
	width: fit-content; max-width: 100%;
	margin-inline: auto;
}
.fg-athlete__visual { grid-area: visual; }
.fg-athlete__portrait { aspect-ratio: 3 / 4; overflow: hidden; background: #d9d9d9; }
.fg-athlete__portrait-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fg-athlete__name { grid-area: name; margin: 0 0 calc(40.5 * var(--u)); font-size: 40px; line-height: normal; font-weight: 500; letter-spacing: normal; }
.fg-athlete__info { grid-area: info; max-width: calc(461.25 * var(--u)); letter-spacing: normal; }

.fg-athlete__facts {
	display: grid;
	grid-template-columns: minmax(calc(135 * var(--u)), calc(213.75 * var(--u))) minmax(0, 1fr);
	margin: 0 0 calc(40.5 * var(--u));
}
.fg-athlete__fact-label, .fg-athlete__fact-value {
	margin: 0; padding: calc(12 * var(--u)) 0;
	border-bottom: 1px solid #e8e8e8;
	font-size: 14px; line-height: 20px;
}
.fg-athlete__fact-label { font-weight: 700; }

.fg-athlete__bio-title { margin: 0 0 calc(9 * var(--u)); font-size: 22px; line-height: 25px; font-weight: 600; }
.fg-athlete__bio-text { font-size: 14px; line-height: 20px; white-space: pre-line; }
.fg-athlete__bio--biography { margin-bottom: calc(28.5 * var(--u)); }
.fg-athlete__bio--results { margin-top: calc(40.5 * var(--u)); }

/* Thư viện ảnh: mỗi trang 2 ảnh (ảnh lớn 70% + ảnh nhỏ) */
.fg-athlete__gallery-block { position: relative; padding-top: calc(93.75 * var(--u)); letter-spacing: normal; }
.fg-athlete__gallery-head { display: flex; align-items: center; gap: 24px; margin-bottom: 25px; }
.fg-athlete__gallery-title { margin-right: auto; font-size: 22px; line-height: 25px; font-weight: 600; }
.fg-athlete__arrows { display: flex; align-items: center; gap: 60px; }
.fg-athlete__arrow { display: inline-flex; color: rgba(0, 0, 0, .38); line-height: 0; transition: opacity .25s; }
.fg-athlete__arrow .fg-icon { width: 24px; height: 14px; }
.fg-athlete__arrow--prev { transform: rotate(180deg); }
.fg-athlete__arrow[disabled] { opacity: .28; cursor: default; }
.fg-athlete__gallery {
	display: flex; overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
}
.fg-athlete__gallery::-webkit-scrollbar { display: none; }
.fg-athlete__group { display: flex; flex: 0 0 100%; gap: 10px; scroll-snap-align: start; }
.fg-athlete__shot { flex: 0 0 calc(70% - 7px); overflow: hidden; background: #d9d9d9; }
.fg-athlete__shot--side { flex: 1 1 0; }
.fg-athlete__shot-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fg-athlete__progress {
	position: relative; left: calc(50% - 50vw + 78px);
	width: calc(100vw - 156px); height: 3px; margin-top: 75px;
	overflow: hidden; background: #d9d9d9;
}
.fg-athlete__progress i { display: block; width: 0; height: 100%; background: #3c3c3c; transition: width .25s; }
.fg-athlete__mnav { display: none; }

@media (max-width: 768px) {
	.fg-athlete__main, .fg-athlete--no-hero .fg-athlete__main { padding: 50px 17px; }
	.fg-athlete__profile { grid-template-columns: 1fr; grid-template-areas: "name" "visual" "info"; column-gap: 0; width: 100%; margin-inline: 0; }
	.fg-athlete__name { margin: 0 0 28px; font-size: 24px; }
	.fg-athlete__visual { margin-bottom: 50px; }
	.fg-athlete__portrait { aspect-ratio: 1 / 1; }
	.fg-athlete__info { max-width: none; }
	.fg-athlete__facts { grid-template-columns: 158px minmax(0, 1fr); margin: 0 0 50px; }
	.fg-athlete__fact-label, .fg-athlete__fact-value { padding: 9px 0; border-bottom: 0; font-size: 12px; line-height: 17px; }
	.fg-athlete__fact-label:nth-last-of-type(1), .fg-athlete__fact-value:nth-last-of-type(1) { padding-bottom: 20px; border-bottom: 1px solid #e8e8e8; }
	.fg-athlete__bio-title { margin-bottom: 6px; font-size: 14px; line-height: 16px; }
	.fg-athlete__bio-text { font-size: 12px; line-height: 17px; }
	.fg-athlete__bio--biography { margin-bottom: 24px; }
	.fg-athlete__bio--results { margin-top: 50px; }
	.fg-athlete__gallery-block { margin-right: -17px; padding-top: 50px; }
	.fg-athlete__gallery-title { font-size: 14px; line-height: 16px; }
	.fg-athlete__arrows, .fg-athlete__progress { display: none; }
	.fg-athlete__gallery { gap: 12px; }
	.fg-athlete__group { display: contents; }
	.fg-athlete__shot, .fg-athlete__shot--side { flex: 0 0 284px; scroll-snap-align: start; }
	.fg-athlete__mnav { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 25px; padding-right: 17px; }
	.fg-athlete__mbar { width: 220px; height: 4px; overflow: hidden; background: #b9b9b9; }
	.fg-athlete__mbar i { display: block; width: 0; height: 100%; background: #3c3c3c; transition: width .25s; }
	.fg-athlete__mnext { display: inline-flex; color: #3c3c3c; line-height: 0; transition: opacity .25s; }
	.fg-athlete__mnext .fg-icon { width: 21px; height: 14px; }
	.fg-athlete__mnext[disabled] { opacity: .3; cursor: default; }
}
