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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	line-height: 1.5;
}

img,
video {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

button {
	font: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	color: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	top: var(--space-sm);
	left: var(--space-sm);
	width: auto;
	height: auto;
	clip: auto;
	background: var(--color-gold);
	color: var(--color-black);
	padding: var(--space-xs) var(--space-sm);
	z-index: 999;
}

.container {
	max-width: var(--container-width);
	margin-inline: auto;
	/* 2rem hai bên chiếm tới 1/6 màn hình 375px — co xuống 1.25rem trên mobile để nội dung thở hơn */
	padding-inline: clamp(1.25rem, 4vw, 2rem);
}


/* VÙNG CHẠM TRÊN MOBILE
   Đo ở khung 375×812 thấy 11 link/nút có cạnh dưới 32px — chủ yếu là icon mạng xã hội
   và nút chuyển ngôn ngữ. Google khuyến nghị vùng chạm 48px, chuẩn tiếp cận tối thiểu
   24px; dưới ngưỡng đó ngón tay hay bấm trượt sang phần tử bên cạnh.

   Dùng ::after phủ vô hình thay vì đổi kích thước thật, để không xô lệch bố cục đã căn. */
@media (max-width: 767px) {
	.lang-switch a,
	.social-links a,
	.site-footer__social a,
	.about-social a {
		position: relative;
	}

	.lang-switch a::after,
	.social-links a::after,
	.site-footer__social a::after,
	.about-social a::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: max(100%, 44px);
		height: max(100%, 44px);
		transform: translate(-50%, -50%);
	}
}
