/* =========================================================================
   TOWN & TAILGATE — archive.css
   Shared styles for hub pages, CPT archives, and search results.
   Enqueued only on archives / search / hub page templates.
   Reuses the global tokens, bands, cards, and section heads from main.css.
   ========================================================================= */

/* ---- HUB HERO ----------------------------------------------------------- */
.tnt-hub-hero {
	background: linear-gradient(160deg, #0c1119 0%, var(--tnt-black) 100%);
	color: var(--tnt-cream);
	padding-block: clamp(48px, 7vw, 96px);
	border-bottom: 1px solid var(--tnt-line);
	position: relative; isolation: isolate; overflow: hidden;
}
.tnt-hub-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: .5;
	background: radial-gradient(120% 90% at 85% 0%, rgba(180,81,42,.28), transparent 60%);
}
.tnt-hub-hero__eyebrow {
	font-family: var(--tnt-display); font-weight: 500; font-size: clamp(.74rem, 1.3vw, .9rem);
	letter-spacing: .16em; text-transform: uppercase; color: var(--tnt-gold); margin: 0 0 14px;
}
.tnt-hub-hero__title {
	font-family: var(--tnt-display); font-weight: 700;
	font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: .96; letter-spacing: -.01em;
	text-transform: uppercase; color: var(--tnt-white); margin: 0;
}
.tnt-hub-hero__subhead { margin: 18px 0 0; max-width: 680px; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.5; color: rgba(244,239,228,.88); }

/* ---- FEATURED CARD (horizontal) ---------------------------------------- */
.tnt-hub-feature {
	display: grid; grid-template-columns: 1.15fr 1fr; gap: 0;
	background: var(--tnt-navy); border-radius: var(--tnt-radius-lg); overflow: hidden;
	box-shadow: var(--tnt-shadow-sm); margin-bottom: clamp(28px, 4vw, 44px);
}
.tnt-hub-feature__media { position: relative; min-height: 280px; }
.tnt-hub-feature__media img,
.tnt-hub-feature__media .tnt-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tnt-hub-feature__media .tnt-badge { position: absolute; top: 16px; left: 16px; }
.tnt-hub-feature__body { padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.tnt-hub-feature__eyebrow { font-family: var(--tnt-display); font-weight: 600; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tnt-gold); margin-bottom: 12px; }
.tnt-hub-feature__title { font-family: var(--tnt-display); font-weight: 700; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.04; text-transform: uppercase; color: var(--tnt-white); margin: 0; }
.tnt-hub-feature__title a { color: inherit; }
.tnt-hub-feature__excerpt { margin: 14px 0 22px; font-size: 1.04rem; line-height: 1.6; color: rgba(244,239,228,.82); }

/* ---- FILTER PILLS ------------------------------------------------------- */
.tnt-hub-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 28px; }
.tnt-hub-filters__label { font-family: var(--tnt-display); font-weight: 600; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tnt-muted); margin-right: 4px; }
.tnt-hub-filter {
	font-family: var(--tnt-display); font-weight: 500; font-size: .8rem; letter-spacing: .04em;
	text-transform: uppercase; color: var(--tnt-charcoal); background: var(--tnt-white);
	border: 1px solid var(--tnt-cream-2); padding: 8px 14px; border-radius: 100px; transition: all .15s ease;
}
.tnt-hub-filter:hover { border-color: var(--tnt-orange); color: var(--tnt-orange); }

/* ---- SECTION SPACING ON HUBS ------------------------------------------- */
.tnt-hub-block + .tnt-hub-block { margin-top: clamp(40px, 5vw, 64px); }
.tnt-hub-newsletter { max-width: 660px; margin-inline: auto; }

/* ---- PAGINATION --------------------------------------------------------- */
.tnt-pagination { margin-top: clamp(36px, 5vw, 56px); }
.tnt-pagination .page-numbers {
	display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; margin: 0; padding: 0;
}
.tnt-pagination .page-numbers li { margin: 0; }
.tnt-pagination .page-numbers a,
.tnt-pagination .page-numbers span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px;
	font-family: var(--tnt-display); font-weight: 600; font-size: .9rem; border-radius: 8px;
	border: 1px solid var(--tnt-cream-2); color: var(--tnt-charcoal); background: var(--tnt-white);
}
.tnt-pagination .page-numbers a:hover { border-color: var(--tnt-orange); color: var(--tnt-orange); }
.tnt-pagination .page-numbers .current { background: var(--tnt-charcoal); color: var(--tnt-white); border-color: var(--tnt-charcoal); }
.tnt-pagination .page-numbers .dots { border: none; background: none; }

/* ---- SEARCH RESULTS ----------------------------------------------------- */
.tnt-search-head { margin-bottom: clamp(28px, 4vw, 44px); }
.tnt-search-head__title { font-family: var(--tnt-display); font-weight: 700; font-size: clamp(1.4rem, 2.6vw, 2rem); text-transform: uppercase; color: var(--tnt-charcoal); margin: 0 0 6px; }
.tnt-search-head__title em { font-style: normal; color: var(--tnt-orange); }
.tnt-search-head__count { font-family: var(--tnt-display); font-weight: 500; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; color: var(--tnt-muted); }
.tnt-search-head .tnt-searchform { margin-top: 20px; max-width: 520px; }

.tnt-results { display: flex; flex-direction: column; gap: 1px; background: var(--tnt-cream-2); border-radius: var(--tnt-radius-lg); overflow: hidden; }
.tnt-result { display: grid; grid-template-columns: 200px 1fr; gap: 22px; background: var(--tnt-white); padding: 22px; }
.tnt-result__media { position: relative; aspect-ratio: 16 / 10; border-radius: var(--tnt-radius); overflow: hidden; }
.tnt-result__media img, .tnt-result__media .tnt-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tnt-result__body { min-width: 0; }
.tnt-result__badge { display: inline-block; font-family: var(--tnt-display); font-weight: 600; font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tnt-orange); margin-bottom: 8px; }
.tnt-result__title { font-family: var(--tnt-display); font-weight: 700; font-size: 1.3rem; line-height: 1.12; text-transform: uppercase; color: var(--tnt-charcoal); margin: 0 0 8px; }
.tnt-result__title a { color: inherit; }
.tnt-result__title a:hover { color: var(--tnt-orange); }
.tnt-result__excerpt { font-size: 1rem; line-height: 1.6; color: var(--tnt-ink); margin: 0 0 10px; }
.tnt-result__date { font-family: var(--tnt-display); font-weight: 500; font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--tnt-muted); }

/* ---- EMPTY STATE -------------------------------------------------------- */
.tnt-archive-empty { text-align: center; max-width: 560px; margin-inline: auto; padding: clamp(28px, 5vw, 56px) 0; }
.tnt-archive-empty__title { font-family: var(--tnt-display); font-weight: 700; font-size: clamp(1.5rem, 3vw, 2.1rem); text-transform: uppercase; color: var(--tnt-charcoal); margin: 0 0 12px; }
.tnt-archive-empty__text { font-size: 1.06rem; line-height: 1.6; color: var(--tnt-ink); margin: 0 0 22px; }
.tnt-archive-empty .tnt-searchform { max-width: 460px; margin-inline: auto; }

/* ---- RESPONSIVE --------------------------------------------------------- */
@media (max-width: 860px) {
	.tnt-hub-feature { grid-template-columns: 1fr; }
	.tnt-hub-feature__media { min-height: 220px; aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
	.tnt-result { grid-template-columns: 1fr; gap: 14px; }
	.tnt-result__media { aspect-ratio: 16 / 9; }
}

/* ===========================================================================
   TEAM HUB — quick-nav (taxonomy-tnt_team.php)
   =========================================================================== */
.tnt-team-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.tnt-team-nav__link {
	display: inline-block; padding: 8px 16px;
	font-family: var(--tnt-display); text-transform: uppercase;
	letter-spacing: .08em; font-size: .82rem; font-weight: 600;
	color: var(--tnt-cream);
	border: 1px solid rgba(214, 166, 79, .5); border-radius: 999px;
	transition: background-color .18s var(--tnt-ease), color .18s var(--tnt-ease), border-color .18s var(--tnt-ease), transform .18s var(--tnt-ease);
}
.tnt-team-nav__link:hover,
.tnt-team-nav__link:focus-visible {
	background: var(--tnt-gold); color: var(--tnt-black);
	border-color: var(--tnt-gold); transform: translateY(-2px);
}
