/* TMC 15 x ADIDAS 모집 페이지 전용 스타일
   event/tmc15_adidas.html 전용. tmc.css / custom.css는 수정하지 않고
   .tmc15x-wrap 스코프 안에서만 덮어쓴다 (원본 event/tmc.html 영향 없음). */

/* ------------------------------------------------------------
   00. 공통 컨테이너 폭 통일
   원본 디자인은 cds-row(1500px) / side-title(1200px) / table-area(1500px) 등
   섹션마다 기준폭이 달라 좌측 정렬이 어긋남 → 이 페이지에서는 전부 1400px로 통일
------------------------------------------------------------ */
.tmc15x-wrap .cds-row,
.tmc15x-wrap .tmc-section .text-area .main-title,
.tmc15x-wrap .tmc-section .text-area .side-title,
.tmc15x-wrap .tmc-section .text-area .side-desc,
.tmc15x-wrap .tmc-section .text-area .desc,
.tmc15x-wrap .tmc-section .wrap-flex,
.tmc15x-wrap .tmc-section .list-area,
.tmc15x-wrap .ts-tennis-club,
.tmc15x-wrap .tmc-section .toggle-area,
.tmc15x-wrap .tmc-section .table-area {
	max-width: 1400px;
}

/* ------------------------------------------------------------
   01. HERO — 좌우 꽉 찬 배너 + 좌하단 텍스트
------------------------------------------------------------ */
.tmc15x-hero {
	position: relative;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	min-height: 760px;
	overflow: hidden;
	background-color: #0a0a0a;
	box-sizing: border-box;
}

.tmc15x-hero__bg {
	position: absolute;
	inset: 0;
	background-image: url(https://tm.ajlabs.co.kr/common/event/261002-tmc15-adidas/adidas-main-pc.jpg);
	background-size: cover;
	background-position: center right;
}

.tmc15x-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top right, rgba(0,0,0,.92) 0%, rgba(0,0,0,.55) 32%, rgba(0,0,0,.15) 55%, rgba(0,0,0,0) 72%);
}

.tmc15x-hero__content {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100%;
	max-width: 1400px;
	box-sizing: border-box;
	padding: 0 0 70px;
	z-index: 2;
}

.tmc15x-hero__brand {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 50px;
}

.tmc15x-hero__brand-logo {
	height: 56px;
	width: auto;
	display: block;
	filter: brightness(0) invert(1);
}

.tmc15x-hero__title-row {
	display: flex;
	align-items: center;
	gap: 20px;
}

.tmc15x-hero__adidas-logo {
	height: 50px;
	width: auto;
	display: block;
	filter: brightness(0) invert(1);
}

.tmc15x-hero__divider {
	width: 1px;
	height: 52px;
	background: rgba(255, 255, 255, .4);
}

.tmc15x-hero__content .cds-font-h1 {
	color: #fff;
	font-size: 32px;
	line-height: 1.4;
	margin: 0 0 6px;
}

.tmc15x-hero__desc {
	color: rgba(255, 255, 255, .85);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -0.5px;
	margin: 0;
}

.tmc15x-hero__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
}

.tmc15x-hero__apply {
	border-radius: 999px;
	padding: 11px 26px;
	font-size: 16px;
	font-weight: bold;
}

.tmc15x-hero__tags .badge-btn {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .35);
	color: #fff;
	font-size: 15px;
	padding: 8px 18px;
}

.tmc15x-hero__tags .badge-btn:hover {
	background: var(--tmgr700, #00CC41);
	border-color: var(--tmgr700, #00CC41);
	color: #fff;
}

@media (max-width: 1440px) {
	.tmc15x-hero__content { padding: 0 20px 50px; }
}

@media (max-width: 1200px) {
	.tmc15x-hero { min-height: 560px; }
}

/* ------------------------------------------------------------
   02. 영상 / 지원 섹션
------------------------------------------------------------ */
.tmc15x-wrap .tmc-youtube-section {
	position: relative;
	overflow: hidden;
	background-color: #f3f3f3;
	padding: 100px 0;
}

.tmc15x-wrap .tmc-youtube-section .tmc-youtube__wrap {
	position: relative;
	z-index: 2;
}

.tmc15x-youtube-marquee {
	position: absolute;
	left: 50%;
	bottom: 70px;
	transform: translate(-50%, 50%);
	width: 100vw;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}

.tmc15x-youtube-marquee__track {
	display: flex;
	width: max-content;
	animation: tmc15x-youtube-marquee 50s linear infinite;
}

.tmc15x-youtube-marquee__track span {
	flex: none;
	font-family: 'Microgramma D Bold Extended', 'Arial Narrow', sans-serif;
	font-size: 180px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1;
	white-space: nowrap;
	color: rgba(10, 10, 10, .06);
	padding-right: 60px;
}

@keyframes tmc15x-youtube-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.tmc15x-wrap .tmc-youtube-section .tmc-youtube__wrap {
	gap: 48px;
}

.tmc15x-wrap .tmc-youtube-section .desc {
	flex: 0 0 460px;
}

.tmc15x-wrap .tmc-youtube-section .ytSwiper {
	flex: 1;
	min-width: 0;
}

.tmc15x-wrap .list-area-desc {
	width: 100%;
	margin: 25px 0 0;
	background-color: #0a0a0a;
	color: #fff;
	font-weight: bold;
	padding: 10px 24px;
	border-radius: 0;
	box-sizing: border-box;
}

.tmc15x-video-title {
	font-size: 40px;
	line-height: 1.3;
	font-weight: 900;
	margin-bottom: 20px;
}

.tmc15x-highlight {
	display: inline-block;
	background-color: #0a0a0a;
	color: #fff;
	padding: 2px 10px;
	border-radius: 4px;
}

/* 영상 크기/크롭 보정: 전역 .tmc-video의 top:-35vw 오프셋을 무력화하고
   슬라이드 폭에 맞춰 16:9로 깔끔하게 보이도록 재정의 */
.tmc15x-wrap .tmc-youtube-section .ytSwiper .swiper-slide {
	width: 100%;
}

.tmc15x-wrap .tmc-video-wrap {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 20px;
}

.tmc15x-wrap .tmc-video {
	position: static;
	width: 100%;
	height: 100%;
	border-radius: 0;
}

.tmc15x-wrap .tmc-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 지도 이미지가 박스를 꽉 채우지 못하던 문제 보정 (전역 .ts-tennis-club img에
   width/height 규칙이 없어 원본 이미지 크기로만 표시되던 것) */
.tmc15x-wrap .ts-tennis-club__item.location-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ------------------------------------------------------------
   02-1. 혜택 스와이퍼 — 이미지 배경 + 하단 그라데이션 + 번호
------------------------------------------------------------ */
.tmc15x-wrap .table-area-row .swiper-slide {
	position: relative;
	aspect-ratio: 0.7;
	overflow: hidden;
	border-radius: 14px;
	background: #111;
}

.tmc15x-wrap .table-area-row-wrapper-image {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.tmc15x-wrap .table-area-row-wrapper-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.tmc15x-wrap .table-area-row-wrapper-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.15) 55%, rgba(0,0,0,0) 100%);
}

.tmc15x-wrap .table-area-row-wrapper-desc {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 100%;
	height: 180px;
	padding: 28px 28px 24px;
	box-sizing: border-box;
}

.tmc15x-wrap .table-area-row-wrapper-desc h3 {
	color: #fff !important;
	font-size: 30px !important;
}

.tmc15x-wrap .table-area-row-wrapper-desc p {
	color: rgba(255, 255, 255, .85) !important;
	font-size: 18px !important;
}

.tmc15x-benefit-num {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 2;
	font-family: 'Microgramma D Bold Extended', 'Arial Narrow', sans-serif;
	font-size: 20px;
	color: #fff;
	opacity: .85;
}

/* ------------------------------------------------------------
   03. TMC UNIVERSE — 15.0 모집 카드 (이미지 대신 블랙 로고 카드)
------------------------------------------------------------ */
.tmc15x-wrap .tmc-universe-sect__scroll {
	background-color: #0a0a0a;
}

.tmc15x-wrap .tmc-universe-sect__scroll-item h4,
.tmc15x-wrap .tmc-universe-sect__scroll-item p {
	color: #fff;
}

.tmc15x-universe-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 22px;
	width: 100%;
	aspect-ratio: 6 / 7;
	background: #0a0a0a;
	border: 1px solid var(--tmgr700, #00CC41);
	text-decoration: none;
	box-sizing: border-box;
}

.tmc15x-universe-card__brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

/* mask-image 방식은 일부 브라우저에서 렌더링이 안 돼 img + 화이트 필터로 변경 */
.tmc15x-universe-card__logo {
	display: block;
	height: 34px;
	width: auto;
	filter: brightness(0) invert(1);
}

.tmc15x-universe-card__x {
	color: var(--tmgr700, #00CC41);
	opacity: .7;
	font-size: 20px;
	font-weight: 300;
}

.tmc15x-universe-card__name {
	font-family: 'Microgramma D Bold Extended', 'Arial Narrow', sans-serif;
	font-size: 22px;
	letter-spacing: 2px;
	color: var(--tmgr700, #00CC41);
	text-transform: uppercase;
}

.tmc15x-universe-card__cta {
	display: inline-flex;
	align-items: center;
	padding: 10px 24px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid var(--tmgr700, #00CC41);
	color: var(--tmgr700, #00CC41);
	font-size: 14px;
	font-weight: bold;
	letter-spacing: -0.3px;
}

/* ============================================================
   TEMP: #00CC41 포인트 컬러 제거 버전 (비교용)
   되돌릴 땐 이 블록만 지우면 됨
============================================================ */
.tmc15x-wrap .text-tennismetro {
	color: #0a0a0a;
}

.tmc15x-wrap .scedule-frame.grbg {
	background: #0a0a0a !important;
	border-color: #0a0a0a !important;
}

.tmc15x-wrap .scedule-frame.grbg .scedule-frame-sub,
.tmc15x-wrap .scedule-frame.grbg .scedule-frame-desc {
	color: #999 !important;
}

.tmc15x-wrap .scedule-frame.grbg .scedule-frame-desc li {
	border-bottom-color: rgba(255, 255, 255, .15) !important;
}

.tmc15x-wrap .cds-btn-tm-box {
	background: #0a0a0a;
	border-color: #0a0a0a;
}

.tmc15x-wrap .cds-btn-tm-box:hover {
	background: #333;
	border-color: #333;
}

.tmc15x-wrap .tmc15x-hero__tags .badge-btn:hover {
	background: #0a0a0a;
	border-color: #0a0a0a;
}

/* 히어로 "신청하기" CTA : 배경 없이 라인 + 텍스트만 (고스트 버튼) */
.tmc15x-wrap .tmc15x-hero__apply {
	background: transparent;
	border: 1px solid var(--tmgr700, #00CC41);
	color: var(--tmgr700, #00CC41);
}

.tmc15x-wrap .tmc15x-hero__apply:hover {
	background: var(--tmgr700, #00CC41);
	color: #fff;
}
