/* =========================================================
   또바기 스피치 — 명예의 전당 (Frontend)
   - All selectors are scoped under `.thof-page` so that
     external theme/plugin CSS cannot bleed into our markup.
   - All class names are prefixed with `thof-`.
   ========================================================= */

/* ---------- HARD SCOPE RESET ----------
   Reset every element inside `.thof-page` so that aggressive
   theme/plugin rules (line-height, font-size, color, paddings,
   list bullets, link decorations, button chrome, etc.) cannot
   leak in.  We rely on the cascade re-establishing our own rules
   below.                                                                       */
.thof-page,
.thof-page *,
.thof-page *::before,
.thof-page *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	font-weight: inherit;
	font-style: normal;
	letter-spacing: normal;
	text-transform: none;
	text-shadow: none;
	box-shadow: none;
	background: transparent;
	border: 0;
	outline: 0;
	color: inherit;
	float: none;
	clear: none;
	max-width: none;
	min-width: 0;
	vertical-align: baseline;
}

.thof-page a,
.thof-page a:hover,
.thof-page a:visited,
.thof-page a:focus,
.thof-page a:active {
	text-decoration: none;
	color: inherit;
	background: transparent;
	box-shadow: none;
}

.thof-page button {
	background: transparent;
	border: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}

.thof-page input,
.thof-page select,
.thof-page textarea {
	background: transparent;
	border: 0;
	font: inherit;
	color: inherit;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}

.thof-page table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
.thof-page th,
.thof-page td {
	background: transparent;
	border: 0;
	font-weight: normal;
	text-align: left;
}

.thof-page svg { display: inline-block; vertical-align: middle; }
.thof-page img { display: inline-block; max-width: 100%; height: auto; border: 0; }

.thof-page ul,
.thof-page ol { list-style: none; }

/* ---------- TOKENS / PAGE BG ---------- */
.thof-page {
	/* --thof-bg-page: #0a1322;  (제거됨 — 투명 배경) */
	/* --thof-bg-card: #131c30;  (제거됨 — 투명 배경) */
	--thof-border: #1e2a44;
	--thof-text: #ffffff;
	--thof-text-mute: #b9c2d1;
	--thof-text-mute-2: #8590a3;
	--thof-gold: #d6a85a;

	width: 100%;
	max-width: 1055px;
	margin: 0 auto;
	color: var(--thof-text);
	font-size: 14px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: transparent;
	position: relative;
	overflow: hidden;
}

/* Stars */
.thof-page::before {
	content: "";
	position: absolute; inset: 0;
	background-image:
		radial-gradient(1px 1px at 12% 8%,  rgba(255,255,255,.45), transparent 50%),
		radial-gradient(1px 1px at 22% 18%, rgba(255,255,255,.30), transparent 50%),
		radial-gradient(1px 1px at 88% 6%,  rgba(255,255,255,.40), transparent 50%),
		radial-gradient(1px 1px at 70% 14%, rgba(255,255,255,.25), transparent 50%),
		radial-gradient(1px 1px at 5%  35%, rgba(255,255,255,.35), transparent 50%),
		radial-gradient(1px 1px at 95% 32%, rgba(255,255,255,.25), transparent 50%),
		radial-gradient(1px 1px at 50% 45%, rgba(255,255,255,.30), transparent 50%),
		radial-gradient(1px 1px at 30% 58%, rgba(255,255,255,.30), transparent 50%),
		radial-gradient(1px 1px at 78% 62%, rgba(255,255,255,.25), transparent 50%),
		radial-gradient(1px 1px at 12% 78%, rgba(255,255,255,.30), transparent 50%),
		radial-gradient(1px 1px at 60% 80%, rgba(255,255,255,.30), transparent 50%),
		radial-gradient(1px 1px at 40% 92%, rgba(255,255,255,.25), transparent 50%);
	pointer-events: none;
	z-index: 0;
}
.thof-page > * { position: relative; z-index: 1; }

/* =========================================================
   NAVBAR
   ========================================================= */
.thof-page .thof-navbar {
	position: relative;
	width: 100%;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 28px;
}

.thof-page .thof-nav-left { display: flex; align-items: center; gap: 10px; min-width: 0; }

.thof-page .thof-nav-logo {
	position: relative;
	width: 24px; height: 24px;
	display: inline-flex;
	align-items: center; justify-content: center;
}

.thof-page .thof-logo-leaf {
	position: absolute;
	width: 13px; height: auto;
	opacity: 0.88;
	top: 4px;
	filter: brightness(0.85) saturate(1.05) contrast(1.05);
}
.thof-page .thof-logo-leaf-l { left: -1px; transform: rotate(-15deg); }
.thof-page .thof-logo-leaf-r { right: -1px; transform: scaleX(-1) rotate(-15deg); }

.thof-page .thof-nav-tagline {
	color: #cfd6e2;
	font-size: 12px;
	font-weight: 400;
}

.thof-page .thof-nav-right { display: flex; align-items: center; gap: 32px; }

.thof-page .thof-nav-item {
	color: #b9c2d1;
	font-size: 12.5px;
	font-weight: 400;
	text-decoration: none;
	position: relative;
	padding: 8px 0;
}

.thof-page .thof-nav-item.thof-active {
	color: #ffffff;
	font-weight: 600;
}
.thof-page .thof-nav-item.thof-active::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 4px;
	height: 1.5px;
	background: linear-gradient(90deg, #c89343, #e9c98a);
	border-radius: 2px;
}

/* =========================================================
   HERO
   ========================================================= */
.thof-page .thof-hero {
	padding: 40px 0 30px;
	text-align: center;
}

.thof-page .thof-hero-inner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
}

.thof-page .thof-hero-leaf {
	width: 95px;
	height: auto;
	filter:
		sepia(0.95)
		saturate(2.5)
		hue-rotate(-25deg)
		brightness(0.92)
		contrast(1.05)
		drop-shadow(0 0 5px rgba(200,140,70,0.6))
		drop-shadow(0 0 16px rgba(200,140,70,0.22));
}
.thof-page .thof-hero-leaf-r { transform: scaleX(-1); }

.thof-page .thof-hero-text {
	text-align: center;
	min-width: 320px;
	position: relative;
	z-index: 2;
}

.thof-page .thof-hero-title {
	font-size: 38px;
	font-weight: 700;
	letter-spacing: 4px;
	color: #ffffff;
	margin-bottom: 12px;
}

.thof-page .thof-hero-sub {
	color: #b6bdcb;
	font-size: 13px;
	font-weight: 300;
	letter-spacing: 0.2px;
}

/* =========================================================
   SECTION TITLES
   ========================================================= */
.thof-page .thof-winners-section {
	padding: 0 28px;
	margin-top: 28px;
}

.thof-page .thof-section-title {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 14px;
}

.thof-page .thof-section-title span:first-child {
	position: relative;
	padding-bottom: 4px;
}
.thof-page .thof-section-title span:first-child::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 1.5px;
	background: linear-gradient(90deg, #d6a85a, transparent);
}

.thof-page .thof-section-title .thof-title-line {
	flex: 0 0 60px;
	height: 1px;
	background: linear-gradient(90deg, rgba(214,168,90,0.5), transparent);
}

/* "대표 소식" 섹션 제목만 다른 섹션(16px)보다 한 단계 작게 */
.thof-page .thof-featured-section .thof-section-title {
	font-size: 14px;
	margin-bottom: 12px;
	gap: 10px;
}

/* =========================================================
   FEATURED NEWS ("대표 소식") — TOP TREADMILL CAROUSEL
   - 4 cards visible per row on desktop (responsive on smaller screens).
   - Slides 1 card at a time on a timer (admin-configurable, default 3s).
   - Infinite loop: JS clones every original card once onto the end
     of the track and snaps back when the index wraps.
   - The cards themselves use the standard `.thof-winner-card` look
     (transparent bg + navy border + leaves) so the section blends in
     with the rest of the page. `.thof-featured-card` only owns the
     flex sizing inside the carousel track.
   - Carousel chrome uses !important so the host theme's content
     styles can't collapse the row.
   ========================================================= */
.thof-page .thof-featured {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	overflow: visible !important;
}

.thof-page .thof-featured-viewport {
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
}

.thof-page .thof-featured-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 18px !important;
	will-change: transform !important;
	transform: translate3d(0, 0, 0);
}

/* 4 cards visible per row on desktop.
   Card width = (100% - 3*gap) / 4. The track gap is 18px. */
.thof-page .thof-featured-card {
	flex: 0 0 calc((100% - 54px) / 4) !important;
	width: calc((100% - 54px) / 4) !important;
	min-width: 0 !important;
	height: 138px !important;
	min-height: 138px !important;
}

/* 대표 소식 본문(수상·합격 한 줄) — 다른 카드 `.thof-card-name` 과 분리 */
.thof-page .thof-featured-card-name {
	color: #ffffff !important;
	font-size: 16px !important;
	margin: 0 !important;
}

/* lead → 본문 → 강조 순서: 강조 줄 위 여백만 살짝 */
.thof-page .thof-featured-card-name + .thof-card-highlight {
	margin-top: 6px !important;
	margin-bottom: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
	.thof-page .thof-featured-track {
		transition: none !important;
	}
}

/* =========================================================
   2026 CARDS — PAGED CAROUSEL (2 columns × 2 rows per page)
   - Each "page" is a 2×2 grid of up to 4 cards.
   - Pages slide as a whole every N seconds (admin-configurable).
   - Mobile: 1 card per page (single column).
   - Track has gap=0 so pages slide as a continuous filmstrip;
     internal card spacing comes from the page's own grid gap.
   - Infinite loop is implemented in JS by cloning the first
     page onto the end and the last page onto the start, then
     snapping back without animation when the user crosses the
     edge.
   - Every layout-critical property uses !important so that the
     host theme's `.entry-content`, `.site-content button`,
     `.wp-block-*`, etc. cannot override the carousel chrome.
   ========================================================= */
.thof-page .thof-cards-2026 {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	overflow: visible !important; /* arrows protrude on the sides */
}

.thof-page .thof-cards-2026-viewport {
	position: relative !important;
	overflow: hidden !important;
	width: 100% !important;
}

.thof-page .thof-cards-2026-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	will-change: transform !important;
	transform: translate3d(0, 0, 0); /* initial value before JS sets one */
}

.thof-page .thof-cards-2026-page {
	flex: 0 0 100% !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	grid-template-rows: 130px 130px !important;
	gap: 18px !important;
	align-content: start !important;
}

.thof-page .thof-winner-card {
	position: relative !important;
	background: transparent !important;
	border: 1px solid #1e2a44 !important;
	border-radius: 10px !important;
	height: 130px !important;
	min-height: 130px !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	margin: 0 !important;
}

.thof-page .thof-winner-card.thof-small {
	height: 120px !important;
	min-height: 120px !important;
}

.thof-page .thof-badge-new {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	background: linear-gradient(180deg, #2a3a5c, #20304e) !important;
	color: #cfd6e2 !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	padding: 2px 7px !important;
	border-radius: 3px !important;
	letter-spacing: 0.5px !important;
	border: 1px solid rgba(255,255,255,0.05) !important;
	z-index: 3 !important;
	line-height: 1 !important;
}

.thof-page .thof-card-leaf {
	position: absolute;
	top: 50%;
	width: 125px;
	height: auto;
	opacity: 0.24;
	pointer-events: none;
	filter: grayscale(0.25) brightness(0.55) contrast(1.12) saturate(1.3);
}

.thof-page .thof-card-leaf-l {
	left: 32px;
	transform: translateY(-50%);
}
.thof-page .thof-card-leaf-r {
	right: 32px;
	transform: translateY(-50%) scaleX(-1);
}

.thof-page .thof-winner-card.thof-small .thof-card-leaf {
	width: 115px;
	opacity: 0.18;
}
.thof-page .thof-winner-card.thof-small .thof-card-leaf-l { left: 24px; }
.thof-page .thof-winner-card.thof-small .thof-card-leaf-r { right: 24px; }

.thof-page .thof-card-body {
	position: relative;
	z-index: 1;
	text-align: center;
}

.thof-page .thof-card-sub {
	color: #b9c2d1 !important;
	font-size: 12px !important;
	margin-bottom: 4px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}
.thof-page .thof-card-sub.thof-small-title {
	color: #d8dde7 !important;
	font-size: 13px !important;
	margin-bottom: 10px !important;
}

.thof-page .thof-card-highlight {
	color: #d6a85a !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
	line-height: 1.4 !important;
}

.thof-page .thof-pill {
	display: inline-block !important;
	background: rgba(214,168,90,0.10) !important;
	color: #d6a85a !important;
	border: 1px solid rgba(214,168,90,0.50) !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
	padding: 4px 12px !important;
	border-radius: 14px !important;
	margin-bottom: 12px !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
}

.thof-page .thof-card-name {
	color: #ffffff !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	letter-spacing: 0.5px !important;
	line-height: 1.3 !important;
}

/* =========================================================
   2025 CAROUSEL
   ========================================================= */
.thof-page .thof-subcat-label {
	font-size: 13px;
	font-weight: 500;
	color: #cfd6e2;
	margin: 4px 0 12px;
}

.thof-page .thof-carousel { position: relative; }

.thof-page .thof-carousel-viewport {
	overflow: hidden;
}

.thof-page .thof-carousel-track {
	display: flex;
	gap: 18px;
	transition: transform 0.4s ease;
	will-change: transform;
}

.thof-page .thof-carousel-track > .thof-winner-card.thof-small {
	flex: 0 0 calc((100% - 36px) / 3);
}

/* Carousel arrow buttons.
   Every dimension/visual property is !important-locked because
   WordPress themes that target generic `button`, `.button`,
   `.entry-content button`, `.wp-block-button__link`, etc. can
   otherwise inject padding, min-height, line-height, font-size,
   border-radius, background, or even `pointer-events:none` and
   either deform the circle or block clicks. */
.thof-page .thof-car-arrow {
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	max-width: 22px !important;
	max-height: 22px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: rgba(255,255,255,0.06) !important;
	border: 1px solid rgba(255,255,255,0.18) !important;
	border-radius: 50% !important;
	color: #b9c2d1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	z-index: 10 !important;
	box-sizing: border-box !important;
	line-height: 1 !important;
	font-size: 0 !important;             /* SVG-only; ignore inherited type metrics */
	flex-shrink: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	text-decoration: none !important;
	overflow: hidden !important;
	pointer-events: auto !important;     /* defeat any inherited `pointer-events:none` */
	opacity: 1 !important;
	visibility: visible !important;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
	-webkit-appearance: none !important;
	   -moz-appearance: none !important;
	        appearance: none !important;
	outline: 0 !important;
}
.thof-page .thof-car-arrow svg {
	width: 10px !important;
	height: 10px !important;
	flex-shrink: 0 !important;
	display: block !important;
	pointer-events: none !important;     /* clicks always reach the button */
	stroke: currentColor !important;
}
.thof-page .thof-car-arrow-l { left: -26px !important; right: auto !important; }
.thof-page .thof-car-arrow-r { right: -26px !important; left: auto !important; }
.thof-page .thof-car-arrow:hover,
.thof-page .thof-car-arrow:focus {
	color: #fff !important;
	background: rgba(214,168,90,0.20) !important;
	border-color: rgba(214,168,90,0.60) !important;
	outline: 0 !important;
}
.thof-page .thof-car-arrow:active {
	transform: translateY(-50%) scale(0.92) !important;
	background: rgba(214,168,90,0.32) !important;
}
.thof-page .thof-car-arrow.thof-disabled {
	opacity: 0.25 !important;
	cursor: default !important;
	pointer-events: none !important;
}

.thof-page .thof-carousel-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
}
.thof-page .thof-dot {
	width: 5px; height: 5px;
	border-radius: 50%;
	background: rgba(255,255,255,0.18);
	cursor: pointer;
	transition: background 0.2s;
}
.thof-page .thof-dot:hover { background: rgba(255,255,255,0.4); }
.thof-page .thof-dot.thof-active { background: rgba(255,255,255,0.85); }

/* =========================================================
   STUDENT SECTION
   ========================================================= */
.thof-page .thof-student-block { margin-top: 24px; }

.thof-page .thof-filters-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.thof-page .thof-tab-list { display: flex; gap: 8px; }

.thof-page .thof-tab {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.10);
	color: #b9c2d1;
	font-size: 11.5px;
	font-family: inherit;
	padding: 6px 12px;
	border-radius: 14px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.thof-page .thof-tab .thof-tab-count { color: #8590a3; font-size: 10.5px; }

.thof-page .thof-tab.thof-active {
	background: rgba(214,168,90,0.10);
	border-color: rgba(214,168,90,0.50);
	color: #d6a85a;
}
.thof-page .thof-tab.thof-active .thof-tab-count { color: #d6a85a; }

.thof-page .thof-search-box { position: relative; width: 250px; }

.thof-page .thof-search-box input {
	width: 100%;
	height: 30px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 16px;
	color: #cfd6e2;
	font-size: 11.5px;
	padding: 0 36px 0 14px;
	font-family: inherit;
	outline: none;
}
.thof-page .thof-search-box input::placeholder { color: #5e6878; }

.thof-page .thof-search-icon {
	position: absolute;
	right: 12px; top: 50%;
	transform: translateY(-50%);
	width: 13px; height: 13px;
	color: #8590a3;
}

/* table */
.thof-page .thof-table-wrap {
	position: relative;
	background: rgba(255,255,255,0.018);
	border: 1px solid rgba(255,255,255,0.07);
	border-radius: 8px;
	overflow: hidden;
	scrollbar-width: thin;
	scrollbar-color: rgba(200, 147, 67, 0.6) rgba(255, 255, 255, 0.06);
}
.thof-page .thof-table-wrap::-webkit-scrollbar {
	height: 6px;
}
.thof-page .thof-table-wrap::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 100px;
	margin: 0 6px;
}
.thof-page .thof-table-wrap::-webkit-scrollbar-thumb {
	background: linear-gradient(90deg, rgba(200, 147, 67, 0.75), rgba(233, 201, 138, 0.55));
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 0 8px rgba(214, 168, 90, 0.2);
}
.thof-page .thof-table-wrap::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(90deg, rgba(214, 168, 90, 0.9), rgba(233, 201, 138, 0.75));
}

.thof-page .thof-winners-table {
	width: 100%;
	border-collapse: collapse;
}

.thof-page .thof-winners-table thead { background: rgba(255,255,255,0.02); }

.thof-page .thof-winners-table th {
	text-align: center;
	font-size: 12.5px;
	font-weight: 600;
	color: #cfd6e2;
	padding: 12px 10px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.thof-page .thof-winners-table th:first-child { padding-left: 30px; }

.thof-page .thof-winners-table td {
	text-align: center;
	font-size: 12px;
	color: #b9c2d1;
	padding: 11px 10px;
	border-bottom: 1px solid rgba(255,255,255,0.04);
}
.thof-page .thof-winners-table td:first-child { padding-left: 30px; }

.thof-page .thof-winners-table tbody tr:last-child td { border-bottom: none; }

.thof-page .thof-row-fade td { color: #4a5469; }

.thof-page .thof-empty-row td {
	text-align: center;
	color: #6e7b91;
	padding: 30px 10px;
	font-size: 12px;
}

.thof-page .thof-more-btn {
	width: 100%;
	height: 38px;
	border: none;
	background: linear-gradient(180deg, rgba(8,14,28,0.0), rgba(10,16,30,0.95) 60%);
	color: #b9c2d1;
	font-size: 11.5px;
	font-family: inherit;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin-top: -22px;
	position: relative;
	transition: color 0.2s;
}
.thof-page .thof-more-btn:hover { color: #d6a85a; }
.thof-page .thof-more-btn svg {
	width: 11px;
	height: 11px;
	transition: transform 0.25s;
}
.thof-page .thof-more-btn.thof-expanded {
	background: rgba(8,14,28,0.4);
	margin-top: 0;
}
.thof-page .thof-more-btn.thof-expanded svg { transform: rotate(180deg); }

/* =========================================================
   FOOTER
   ========================================================= */
.thof-page .thof-site-footer {
	padding: 0 28px;
	margin: 22px 0 22px;
}

.thof-page .thof-footer-inner {
	background: rgba(255,255,255,0.020);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 10px;
	padding: 24px 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
}

.thof-page .thof-footer-icon {
	position: relative;
	width: 80px; height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.thof-page .thof-footer-icon .thof-ftr-trophy {
	width: 28px; height: 32px;
	position: relative; z-index: 2;
}
.thof-page .thof-ftr-leaf {
	position: absolute;
	width: 36px;
	height: auto;
	opacity: 0.62;
	filter: grayscale(0.65) brightness(1.18) saturate(1.25) contrast(1.05);
	top: 50%;
}
.thof-page .thof-ftr-leaf-l { left: 0;  transform: translateY(-50%); }
.thof-page .thof-ftr-leaf-r { right: 0; transform: translateY(-50%) scaleX(-1); }

.thof-page .thof-footer-text p {
	color: #b9c2d1;
	font-size: 13px;
	line-height: 1.7;
	font-weight: 400;
}

/* =========================================================
   RESPONSIVE — TABLET (<= 900px)
   ========================================================= */
@media (max-width: 900px) {
	.thof-page .thof-navbar { padding: 0 20px; }
	.thof-page .thof-nav-right { gap: 22px; }
	.thof-page .thof-nav-item { font-size: 12px; }

	.thof-page .thof-hero { padding: 32px 0 24px; }
	.thof-page .thof-hero-leaf { width: 80px; }
	.thof-page .thof-hero-title { font-size: 32px; letter-spacing: 3px; }

	.thof-page .thof-winners-section { padding: 0 20px; }
	.thof-page .thof-site-footer { padding: 0 20px; }

	.thof-page .thof-car-arrow-l { left: -6px !important; right: auto !important; background: rgba(0,0,0,0.4) !important; }
	.thof-page .thof-car-arrow-r { right: -6px !important; left: auto !important; background: rgba(0,0,0,0.4) !important; }

	.thof-page .thof-search-box { width: 200px; }

	/* Featured carousel: 2 cards per row on tablet. */
	.thof-page .thof-featured-track { gap: 14px !important; }
	.thof-page .thof-featured-card {
		flex: 0 0 calc((100% - 14px) / 2) !important;
		width: calc((100% - 14px) / 2) !important;
		height: 132px !important;
		min-height: 132px !important;
	}

	.thof-page .thof-winners-table th,
	.thof-page .thof-winners-table td { font-size: 11.5px; padding: 10px 6px; }
	.thof-page .thof-winners-table th:first-child,
	.thof-page .thof-winners-table td:first-child { padding-left: 16px; }
}

/* =========================================================
   RESPONSIVE — MOBILE (<= 640px)
   ========================================================= */
@media (max-width: 640px) {

	.thof-page { font-size: 14px; }

	.thof-page .thof-navbar {
		height: auto;
		min-height: 50px;
		padding: 10px 16px 12px;
		flex-wrap: wrap;
		row-gap: 8px;
		align-items: center;
	}
	.thof-page .thof-nav-left {
		flex: 1;
		min-width: 0;
	}
	.thof-page .thof-nav-tagline {
		display: none;
	}
	.thof-page .thof-nav-right {
		display: flex;
		flex-basis: 100%;
		width: 100%;
		flex-wrap: nowrap;
		gap: 16px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
		margin: 0 -16px;
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
	.thof-page .thof-nav-right::-webkit-scrollbar {
		display: none;
	}
	.thof-page .thof-nav-item {
		flex-shrink: 0;
		white-space: nowrap;
		font-size: 11px;
		padding: 6px 0 8px;
	}

	.thof-page .thof-hero {
		padding: 28px 16px 24px;
	}
	.thof-page .thof-hero-inner {
		gap: 6px;
	}
	.thof-page .thof-hero-leaf {
		width: 56px;
		filter:
			sepia(0.95) saturate(2.5) hue-rotate(-25deg) brightness(0.92) contrast(1.05)
			drop-shadow(0 0 4px rgba(200,140,70,0.55))
			drop-shadow(0 0 10px rgba(200,140,70,0.20));
	}
	.thof-page .thof-hero-text { min-width: 0; }
	.thof-page .thof-hero-title {
		font-size: 24px;
		letter-spacing: 2px;
		margin-bottom: 8px;
	}
	.thof-page .thof-hero-sub {
		font-size: 11px;
		padding: 0 8px;
		line-height: 1.5;
	}

	.thof-page .thof-winners-section {
		padding: 0 16px;
		margin-top: 22px;
	}
	.thof-page .thof-section-title {
		font-size: 14px;
		margin-bottom: 12px;
	}
	.thof-page .thof-section-title .thof-title-line { flex: 1; }

	.thof-page .thof-featured-section .thof-section-title {
		font-size: 12px;
		margin-bottom: 10px;
	}

	/* Featured carousel: 1 card per row on mobile. */
	.thof-page .thof-featured-track { gap: 12px !important; }
	.thof-page .thof-featured-card {
		flex: 0 0 100% !important;
		width: 100% !important;
		height: 124px !important;
		min-height: 124px !important;
	}

	/* 2026 carousel: 1 card per page on mobile, smaller gap */
	.thof-page .thof-cards-2026-page {
		grid-template-columns: 1fr;
		grid-template-rows: 120px;
		gap: 12px;
	}
	.thof-page .thof-winner-card {
		height: 120px;
	}
	.thof-page .thof-winner-card.thof-small { height: 110px; }

	.thof-page .thof-card-leaf {
		width: 90px;
		opacity: 0.16;
	}
	.thof-page .thof-card-leaf-l { left: 14px; }
	.thof-page .thof-card-leaf-r { right: 14px; }
	.thof-page .thof-winner-card.thof-small .thof-card-leaf {
		width: 80px;
		opacity: 0.12;
	}
	.thof-page .thof-winner-card.thof-small .thof-card-leaf-l { left: 12px; }
	.thof-page .thof-winner-card.thof-small .thof-card-leaf-r { right: 12px; }

	.thof-page .thof-badge-new {
		top: 10px; right: 10px;
		font-size: 9px;
		padding: 2px 6px;
	}
	.thof-page .thof-pill {
		font-size: 11px;
		padding: 3px 10px;
		margin-bottom: 8px;
	}
	.thof-page .thof-card-sub {
		font-size: 11px;
	}
	.thof-page .thof-card-sub.thof-small-title { font-size: 12px; margin-bottom: 6px; }
	.thof-page .thof-card-highlight { font-size: 13px; }
	.thof-page .thof-card-name {
		font-size: 18px;
	}

	.thof-page .thof-carousel-track { gap: 12px; }
	.thof-page .thof-carousel-track > .thof-winner-card.thof-small {
		flex: 0 0 100%;
	}
	.thof-page .thof-car-arrow {
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		min-height: 30px !important;
		max-width: 30px !important;
		max-height: 30px !important;
		background: rgba(0,0,0,0.55) !important;
		border-color: rgba(255,255,255,0.25) !important;
	}
	.thof-page .thof-car-arrow svg { width: 12px !important; height: 12px !important; }
	.thof-page .thof-car-arrow-l { left: 4px !important; right: auto !important; }
	.thof-page .thof-car-arrow-r { right: 4px !important; left: auto !important; }

	.thof-page .thof-student-block { margin-top: 20px; }

	.thof-page .thof-filters-row {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.thof-page .thof-tab-list {
		gap: 6px;
		overflow-x: auto;
		padding-bottom: 2px;
		-webkit-overflow-scrolling: touch;
	}
	.thof-page .thof-tab-list::-webkit-scrollbar { display: none; }
	.thof-page .thof-tab {
		flex-shrink: 0;
		font-size: 11px;
		padding: 6px 10px;
	}
	.thof-page .thof-search-box { width: 100%; }

	.thof-page .thof-table-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.thof-page .thof-winners-table {
		min-width: 560px;
	}
	.thof-page .thof-winners-table th,
	.thof-page .thof-winners-table td {
		font-size: 11px;
		padding: 9px 8px;
		white-space: nowrap;
	}
	.thof-page .thof-winners-table th:first-child,
	.thof-page .thof-winners-table td:first-child { padding-left: 14px; }
	.thof-page .thof-winners-table th:last-child,
	.thof-page .thof-winners-table td:last-child { padding-right: 14px; }

	.thof-page .thof-more-btn {
		font-size: 11px;
		height: 36px;
	}

	.thof-page .thof-site-footer {
		padding: 0 16px;
		margin: 18px 0 18px;
	}
	.thof-page .thof-footer-inner {
		padding: 18px 16px;
		gap: 14px;
		flex-direction: column;
	}
	.thof-page .thof-footer-icon { width: 70px; height: 44px; }
	.thof-page .thof-footer-icon .thof-ftr-trophy { width: 24px; height: 28px; }
	.thof-page .thof-ftr-leaf { width: 30px; }
	.thof-page .thof-footer-text p {
		font-size: 12px;
		text-align: center;
		line-height: 1.7;
	}
}

/* =========================================================
   RESPONSIVE — SMALL MOBILE (<= 380px)
   ========================================================= */
@media (max-width: 380px) {
	.thof-page .thof-hero-title { font-size: 22px; letter-spacing: 1.5px; }
	.thof-page .thof-hero-leaf { width: 48px; }
	.thof-page .thof-card-name { font-size: 17px; }
	.thof-page .thof-card-leaf { width: 76px; }
	.thof-page .thof-card-leaf-l { left: 10px; }
	.thof-page .thof-card-leaf-r { right: 10px; }
}
