@media (max-width: 1180px) {
	.site-header__inner {
		width: min(100% - 40px, 1280px);
		gap: 28px;
	}
}

@media (min-width: 917px) and (max-width: 1379px) {
	.category-archive .category-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		justify-content: stretch;
		gap: 24px;
	}
}

@media (max-width: 916px) {
	.category-archive .category-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: stretch;
		gap: 20px;
	}

	.single-related-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 860px) {
	.site-header {
		min-height: auto;
	}

	.site-header__inner {
		flex-wrap: wrap;
		gap: 0 18px;
		min-height: 78px;
		padding: 12px 0 0;
	}

	.site-brand img {
		width: 190px;
		max-height: 54px;
	}

	.site-header__actions {
		gap: 12px;
	}

	.site-nav {
		order: 3;
		flex-basis: 100%;
		justify-content: flex-start;
		gap: 24px;
		margin-top: 8px;
	}

	.site-nav a {
		min-height: 48px;
		font-size: 16px;
	}

	.site-search:focus-within {
		width: min(210px, 45vw);
	}

	.footer-inner {
		width: min(100% - 40px, 1280px);
	}

	.footer-card {
		padding: 24px;
	}

	.home-content {
		width: min(100% - 40px, 1280px);
		padding-top: 38px;
	}

	.home-section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.home-status-nav {
		justify-content: flex-start;
		width: auto;
		overflow: visible;
	}

	.home-status-menu {
		right: auto;
		left: 0;
	}

	.home-event-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.category-archive {
		width: min(100% - 40px, 1280px);
		padding-top: 34px;
	}

	.category-archive .category-title {
		min-height: 88px;
		margin-bottom: 38px;
	}

	.category-archive .category-list {
		gap: 20px;
	}

	.schedule-page {
		padding: 34px 0 52px;
	}

	.schedule-toolbar,
	.ranking-topbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.schedule-toolbar-actions,
	.schedule-league-panel,
	.schedule-league-toggle {
		width: 100%;
	}

	.schedule-date-tabs,
	.schedule-type-tabs {
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.schedule-date-tabs::-webkit-scrollbar,
	.schedule-type-tabs::-webkit-scrollbar {
		display: none;
	}

	.schedule-result-head,
	.schedule-result-row {
		grid-template-columns: 92px minmax(92px, 1fr) 68px minmax(92px, 1fr) 58px 58px;
		gap: 8px;
		min-width: 600px;
	}

	.schedule-match-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.schedule-match-card {
		min-height: 200px;
	}

	.schedule-result-head {
		padding: 14px 12px;
		font-size: 16px;
	}

	.schedule-result-row {
		min-height: 64px;
		padding: 10px 12px;
	}

	.schedule-result-row time {
		min-width: 0;
		padding: 6px 8px;
		font-size: 11px;
	}

	.schedule-result-team {
		gap: 5px;
		font-size: 12px;
	}

	.schedule-result-team img {
		width: 18px;
		height: 18px;
	}

	.schedule-result-score {
		min-width: 54px;
		gap: 5px;
		padding: 6px 8px;
		font-size: 13px;
	}

	.schedule-result-pill {
		min-width: 0;
		padding: 6px 4px;
		font-size: 11px;
	}

	.schedule-result-head > span:nth-child(7),
	.schedule-result-head > span:nth-child(8),
	.schedule-result-row > .schedule-result-pill.yellow,
	.schedule-result-row > .schedule-result-pill.red {
		display: none;
	}

	.ranking-table-wrap {
		padding: 12px;
	}

	.ranking-table {
		min-width: 720px;
		font-size: 12px;
	}

	.ranking-table th {
		padding: 10px 6px;
		font-size: 11px;
	}

	.ranking-table td {
		padding: 10px 6px;
	}

	.ranking-table th:first-child,
	.ranking-table td:first-child {
		position: sticky;
		left: 0;
		z-index: 2;
		width: 42px;
		min-width: 42px;
		max-width: 42px;
		background: #111;
	}

	.ranking-table th:nth-child(2),
	.ranking-table td:nth-child(2) {
		position: sticky;
		left: 42px;
		z-index: 2;
		width: 136px;
		min-width: 136px;
		max-width: 136px;
		background: #111;
		box-shadow: 8px 0 14px rgba(0, 0, 0, 0.22);
	}
}

@media (max-width: 680px) {
	.category-archive .category-list {
		grid-template-columns: 1fr;
	}

	.single-hero {
		min-height: 430px;
	}

	.single-meta {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 14px;
	}

	.single-related-card {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	.single-related-thumb {
		min-height: 118px;
	}

	.schedule-result-head > span:nth-child(6),
	.schedule-result-row > .schedule-result-pill.corner {
		display: none;
	}

	.schedule-result-head,
	.schedule-result-row {
		grid-template-columns: 82px minmax(86px, 1fr) 64px minmax(86px, 1fr) 52px;
		min-width: 500px;
	}
}

@media (max-width: 520px) {
	.content {
		width: min(100% - 24px, 1328px);
	}

	.site-header__inner {
		width: min(100% - 24px, 1280px);
	}

	.site-brand img {
		width: 160px;
	}

	.site-search:focus-within {
		width: min(180px, 52vw);
	}

	.footer {
		padding-bottom: 28px;
	}

	.footer-inner {
		width: min(100% - 24px, 1280px);
	}

	.footer-card {
		padding: 20px;
		border-radius: 14px;
	}

	.footer-menu {
		gap: 10px 16px;
	}

	.footer-desc,
	.footer-bottom p {
		font-size: 12px;
	}

	.footer-socials a {
		width: 34px;
		height: 34px;
	}

	.home-content {
		width: min(100% - 24px, 1280px);
		padding-top: 28px;
	}

	.home-section-title h1 {
		font-size: 25px;
	}

	.home-event-list {
		grid-template-columns: 1fr;
	}

	.category-archive {
		width: min(100% - 24px, 1280px);
		padding-top: 28px;
	}

	.category-archive .category-title {
		gap: 12px;
		min-height: 74px;
		margin: 0 0 30px;
		padding: 0;
	}

	.category-archive .category-title i {
		width: 38px;
		height: 38px;
		font-size: 16px;
	}

	.category-archive .category-title h1 {
		font-size: 28px;
	}

	.category-archive .category-list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.category-card-title {
		font-size: 17px;
	}

	.category-card-body {
		padding: 16px;
	}

	.single-hero-inner,
	.single-wrap {
		width: min(100% - 24px, 880px);
	}

	.single-hero {
		min-height: 390px;
	}

	.single-hero.no-cover {
		padding-top: 34px;
	}

	.single-hero-inner,
	.single-hero.no-cover .single-hero-inner {
		padding-bottom: 34px;
	}

	.single-title {
		font-size: 34px;
	}

	.single-excerpt {
		font-size: 15px;
	}

	.single-card {
		padding-top: 36px;
	}

	.single-related {
		margin: 46px 0 56px;
	}

	.single-related-head h2 {
		font-size: 22px;
	}

	.single-related-card {
		grid-template-columns: 1fr;
	}

	.single-related-thumb {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.pagination {
		margin-top: 28px;
	}

	.pagination > li > a,
	.pagination > li > span {
		width: 38px;
		height: 38px;
	}

	.home-event-card {
		min-height: 236px;
	}

	.home-event-score {
		font-size: 25px;
	}

	.home-status-trigger {
		height: 42px;
		font-size: 16px;
	}

	.home-status-menu {
		width: calc(100vw - 24px);
		max-width: 240px;
	}

	.schedule-page {
		padding-top: 28px;
	}

	.schedule-page-title,
	.ranking-title-block h1 {
		font-size: 25px;
	}

	.schedule-toolbar,
	.ranking-topbar {
		padding: 14px;
	}

	.schedule-type-tab {
		flex: 1 0 auto;
		height: 40px;
	}

	.schedule-result-head > span:nth-child(5),
	.schedule-result-row > .schedule-result-pill.half {
		display: none;
	}

	.schedule-result-head,
	.schedule-result-row {
		grid-template-columns: 74px minmax(76px, 1fr) 58px minmax(76px, 1fr);
		min-width: 0;
	}

	.schedule-result-body {
		overflow-x: visible;
	}

	.schedule-result-head,
	.schedule-result-row {
		gap: 6px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.schedule-result-team span {
		max-width: 58px;
	}

	.schedule-match-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.schedule-match-card__media {
		min-height: 112px;
		padding: 22px;
	}

	.schedule-match-card__content {
		padding: 20px 16px 22px;
	}

	.schedule-match-card__teams {
		grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
		gap: 10px;
	}

	.schedule-match-card__team img {
		width: 46px;
		height: 46px;
	}

	.schedule-match-card__team strong {
		font-size: 14px;
	}

	.schedule-league-panel,
	.schedule-league-toggle {
		width: 100%;
	}

	.schedule-league-tabs {
		right: auto;
		left: 0;
		width: min(320px, calc(100vw - 24px));
	}
}

@media (max-width: 1180px) {
	.matchinfo-page {
		width: 100%;
	}

	.matchinfo-page .live-grid {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}

@media (max-width: 860px) {
	.matchinfo-page {
		padding-top: 16px;
	}

	.matchinfo-page .score-row {
		grid-template-columns: minmax(0, 1fr) 126px minmax(0, 1fr);
		gap: 16px;
	}

	.matchinfo-page .team-logo {
		width: 54px;
		height: 54px;
	}

	.matchinfo-page .team-name {
		max-width: 168px;
	}

	.matchinfo-page .score-text {
		font-size: 34px;
	}

	.matchinfo-page .live-grid,
	.matchinfo-page .lineup-grid {
		grid-template-columns: 1fr;
	}

	.matchinfo-page .chat-wrapper {
		height: auto !important;
	}

	.matchinfo-page .main-chat {
		height: 360px;
	}
}

@media (max-width: 680px) {
	.matchinfo-page .summary {
		padding: 22px 18px 20px;
	}

	.matchinfo-page .score-row {
		grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
		gap: 10px;
	}

	.matchinfo-page .team-logo {
		width: 48px;
		height: 48px;
	}

	.matchinfo-page .team-name {
		max-width: 118px;
		font-size: 12px;
	}

	.matchinfo-page .score-text {
		font-size: 28px;
	}

	.matchinfo-page .score-center.vs .team-name {
		font-size: 20px;
	}

	.matchinfo-page .meta {
		font-size: 10px;
	}

	.matchinfo-page .article {
		padding: 12px;
	}

	.matchinfo-page .stat-row {
		padding: 12px;
	}

	.matchinfo-page .stat-values {
		grid-template-columns: 48px minmax(0, 1fr) 48px;
	}
}

@media (max-width: 520px) {
	.matchinfo-page {
		padding-bottom: 40px;
	}

	.matchinfo-page .score-card {
		min-height: 136px;
	}

	.matchinfo-page .summary {
		min-height: 136px;
	}

	.matchinfo-page .score-row {
		grid-template-columns: minmax(0, 1fr) 76px minmax(0, 1fr);
	}

	.matchinfo-page .team-logo {
		width: 42px;
		height: 42px;
	}

	.matchinfo-page .team-name {
		max-width: 86px;
	}

	.matchinfo-page .score-text {
		font-size: 24px;
	}

	.matchinfo-page .status-text {
		font-size: 10px;
	}

	.matchinfo-page .stream-button,
	.matchinfo-page .tabs span {
		font-size: 11px;
	}

	.matchinfo-page .host-info span {
		max-width: 150px;
	}

	.matchinfo-page .main-chat {
		height: 320px;
		min-height: 320px;
	}

	.matchinfo-page .history-head,
	.matchinfo-page .history-card {
		grid-template-columns: 128px minmax(130px, 1fr) minmax(130px, 1fr) repeat(3, 58px);
	}
}

@media (max-width: 768px) {
	body {
		padding-bottom: calc(74px + env(safe-area-inset-bottom));
	}

	.site-nav {
		display: none;
	}

	.site-header__inner {
		min-height: 72px;
		padding: 10px 0;
	}

	.mobile-nav {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1200;
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		height: calc(74px + env(safe-area-inset-bottom));
		padding: 8px 4px calc(8px + env(safe-area-inset-bottom));
		border-top: 1px solid #202020;
		background: rgba(5, 5, 5, 0.96);
		box-shadow: 0 -12px 30px rgba(0, 0, 0, 0.38);
		backdrop-filter: blur(18px);
	}

	.mobile-item {
		flex: 1 1 0;
		min-width: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
		height: 100%;
		margin: 0;
		padding: 0 2px;
		border: 0;
		background: transparent;
		color: #a7a7ad;
		font-size: 11px;
		font-weight: 900;
		line-height: 1.1;
		text-align: center;
		cursor: pointer;
		transition: color 0.18s ease;
	}

	.mobile-item i {
		font-size: 21px;
		line-height: 1;
	}

	.mobile-item img {
		width: 24px;
		height: 24px;
		object-fit: contain;
		opacity: 0.84;
		filter: grayscale(1) brightness(1.65);
		transition: opacity 0.18s ease, filter 0.18s ease;
	}

	.mobile-item span {
		width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.mobile-item:hover,
	.mobile-item:focus-visible,
	.mobile-item.active,
	.mobile-item-more.is-active {
		color: var(--site-green);
	}

	.mobile-item:hover img,
	.mobile-item:focus-visible img,
	.mobile-item.active img {
		opacity: 1;
		filter: none;
	}

	.mobile-item:focus-visible,
	.more-popup__close:focus-visible,
	.popup-item:focus-visible {
		outline: 2px solid var(--site-green);
		outline-offset: -2px;
		border-radius: 8px;
	}

	.more-popup {
		position: fixed;
		right: 12px;
		bottom: calc(84px + env(safe-area-inset-bottom));
		left: 12px;
		z-index: 1199;
		display: grid;
		overflow: hidden;
		max-height: min(55vh, 360px);
		border: 1px solid #242424;
		border-radius: 16px;
		background: #101010;
		box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(16px);
		transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
	}

	.more-popup.show {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.more-popup__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		min-height: 56px;
		padding: 0 22px;
		border-bottom: 1px solid #242424;
	}

	.more-popup__title {
		color: #f4f4f4;
		font-size: 18px;
		font-weight: 900;
		line-height: 1;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	.more-popup__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #b8b8bd;
		font-size: 21px;
		line-height: 1;
		cursor: pointer;
		transition: color 0.18s ease;
	}

	.more-popup__close:hover {
		color: var(--site-green);
	}

	.more-popup__items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 18px;
		overflow-y: auto;
		padding: 10px 22px 18px;
	}

	.popup-item {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 10px;
		min-width: 0;
		min-height: 52px;
		color: #a7a7ad;
		font-size: 14px;
		font-weight: 900;
		line-height: 1.15;
		transition: color 0.18s ease;
	}

	.popup-item img {
		flex: 0 0 auto;
		width: 22px;
		height: 22px;
		object-fit: contain;
		filter: grayscale(1) brightness(1.65);
	}

	.popup-item span {
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.popup-item:hover,
	.popup-item:focus-visible,
	.popup-item.active {
		color: var(--site-green);
	}

	.popup-item:hover img,
	.popup-item:focus-visible img,
	.popup-item.active img {
		filter: none;
	}
}
