/*
 * Theme T&B — Futuristic Archive Styles
 *
 * Colorful, modern archive pages with glowing card effects.
 * Each page type has its own color theme:
 *   - Tools: Cyan/Teal
 *   - Books: Purple/Violet
 *   - Blog:  Green/Emerald
 *
 * @package ThemeTB
 * @version 2.0.0
 */

/* =========================================================
   Archive Hero Header — Shared
   ========================================================= */

.tb-archive-hero {
	padding: var(--tb-space-16) 0 var(--tb-space-12);
	margin-bottom: var(--tb-space-10);
	text-align: center;
	position: relative;
	overflow: hidden;
}

/* =========================================================
   Full Page Futuristic Backgrounds
   ========================================================= */

/* Tools — Cyan/Teal full page */
body.post-type-archive-tb_tool,
body.tax-tb_tool_cat,
body.tax-tb_tool_tag {
	background:
		radial-gradient(ellipse at 10% 20%, rgba(6, 182, 212, 0.20) 0%, transparent 50%),
		radial-gradient(ellipse at 90% 80%, rgba(6, 182, 212, 0.15) 0%, transparent 50%),
		radial-gradient(ellipse at 50% 50%, rgba(34, 211, 238, 0.08) 0%, transparent 60%),
		linear-gradient(180deg, #E0F7FA 0%, #E0FCFF 30%, #F0FDFA 60%, #FFFFFF 100%);
	background-attachment: fixed;
}

/* Books — Purple/Violet full page */
body.post-type-archive-tb_ebook,
body.tax-tb_ebook_cat,
body.tax-tb_ebook_tag {
	background:
		radial-gradient(ellipse at 15% 25%, rgba(124, 58, 237, 0.18) 0%, transparent 50%),
		radial-gradient(ellipse at 85% 75%, rgba(139, 92, 246, 0.12) 0%, transparent 50%),
		radial-gradient(ellipse at 50% 50%, rgba(167, 139, 250, 0.08) 0%, transparent 60%),
		linear-gradient(180deg, #EDE9FE 0%, #E8E0FF 30%, #F3F0FF 60%, #FFFFFF 100%);
	background-attachment: fixed;
}

/* Blog — Green/Emerald full page */
body.blog,
body.home.blog,
body.category,
body.tag,
body.author,
body.date {
	background:
		radial-gradient(ellipse at 10% 30%, rgba(16, 185, 129, 0.18) 0%, transparent 50%),
		radial-gradient(ellipse at 90% 70%, rgba(52, 211, 153, 0.12) 0%, transparent 50%),
		radial-gradient(ellipse at 50% 50%, rgba(110, 231, 183, 0.08) 0%, transparent 60%),
		linear-gradient(180deg, #D1FAE5 0%, #E0FFF0 30%, #ECFDF5 60%, #FFFFFF 100%);
	background-attachment: fixed;
}

.tb-archive-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	opacity: 0.08;
	background:
		radial-gradient(circle at 20% 50%, currentColor 0%, transparent 50%),
		radial-gradient(circle at 80% 50%, currentColor 0%, transparent 50%);
	pointer-events: none;
}

.tb-archive-hero__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: var(--tb-radius-xl);
	margin-bottom: var(--tb-space-5);
	position: relative;
	z-index: 1;
}

.tb-archive-hero__icon svg {
	width: 32px;
	height: 32px;
}

.tb-archive-hero__title {
	font-family: var(--tb-font-heading);
	font-size: var(--tb-text-5xl);
	font-weight: var(--tb-font-extrabold);
	line-height: var(--tb-leading-tight);
	margin-bottom: var(--tb-space-4);
	position: relative;
	z-index: 1;
}

.tb-archive-hero__desc {
	font-size: var(--tb-text-lg);
	max-width: 600px;
	margin-inline: auto;
	line-height: var(--tb-leading-relaxed);
	position: relative;
	z-index: 1;
}

.tb-archive-hero__stats {
	display: flex;
	gap: var(--tb-space-8);
	justify-content: center;
	margin-top: var(--tb-space-8);
	position: relative;
	z-index: 1;
}

.tb-archive-hero__stat {
	text-align: center;
}

.tb-archive-hero__stat-num {
	font-family: var(--tb-font-heading);
	font-size: var(--tb-text-3xl);
	font-weight: var(--tb-font-extrabold);
	display: block;
}

.tb-archive-hero__stat-label {
	font-size: var(--tb-text-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.7;
}

/* =========================================================
   Tools Archive — Cyan/Teal Theme
   ========================================================= */

.tb-archive--tools {
	--tb-page-primary: #06B6D4;
	--tb-page-primary-light: #22D3EE;
	--tb-page-primary-dark: #0891B2;
	--tb-page-bg: linear-gradient(135deg, #ECFEFF 0%, #F0FDFA 50%, #EFF6FF 100%);
	--tb-page-glow: rgba(6, 182, 212, 0.4);
	--tb-page-surface: rgba(6, 182, 212, 0.06);
	color: var(--tb-page-primary-dark);
}

.tb-archive--tools.tb-archive-hero {
	background: var(--tb-page-bg);
	border-bottom: 2px solid rgba(6, 182, 212, 0.15);
}

.tb-archive--tools .tb-archive-hero__icon {
	background: linear-gradient(135deg, var(--tb-page-primary), var(--tb-page-primary-dark));
	color: #fff;
	box-shadow: 0 8px 32px var(--tb-page-glow);
}

.tb-archive--tools .tb-archive-hero__title {
	background: linear-gradient(135deg, #0891B2, #06B6D4, #22D3EE);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.tb-archive--tools .tb-archive-hero__desc {
	color: var(--tb-text-secondary);
}

.tb-archive--tools .tb-archive-hero__stat-num {
	color: var(--tb-page-primary);
}

/* Tools Card — Cyan Glow */
.tb-archive--tools .tb-tool-card {
	border: 1px solid rgba(6, 182, 212, 0.2);
	transition: all var(--tb-duration-normal) var(--tb-ease-default);
	position: relative;
	background: var(--tb-card-bg);
}

.tb-archive--tools .tb-tool-card::before {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: calc(var(--tb-radius-xl) + 1px);
	padding: 2px;
	background: linear-gradient(135deg, #06B6D4, #22D3EE, #06B6D4);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity var(--tb-duration-normal) var(--tb-ease-default);
	pointer-events: none;
	z-index: 1;
}

.tb-archive--tools .tb-tool-card:hover::before {
	opacity: 1;
}

.tb-archive--tools .tb-tool-card:hover {
	transform: translateY(-6px);
	box-shadow:
		0 20px 40px rgba(6, 182, 212, 0.15),
		0 0 0 1px rgba(6, 182, 212, 0.3);
	border-color: transparent;
}

.tb-archive--tools .tb-tool-card__title a:hover {
	color: var(--tb-page-primary);
}

.tb-archive--tools .tb-badge--category {
	background: rgba(6, 182, 212, 0.1);
	color: var(--tb-page-primary-dark);
	border: 1px solid rgba(6, 182, 212, 0.2);
}

.tb-archive--tools .tb-btn--primary {
	background: linear-gradient(135deg, #06B6D4, #0891B2);
	box-shadow: 0 4px 14px rgba(6, 182, 212, 0.3);
}

.tb-archive--tools .tb-btn--primary:hover {
	box-shadow: 0 8px 24px rgba(6, 182, 212, 0.4);
	transform: translateY(-1px);
}

/* =========================================================
   Books Archive — Purple/Violet Theme
   ========================================================= */

.tb-archive--books {
	--tb-page-primary: #7C3AED;
	--tb-page-primary-light: #8B5CF6;
	--tb-page-primary-dark: #6D28D9;
	--tb-page-bg: linear-gradient(135deg, #F5F3FF 0%, #EDE9FE 50%, #FDF2F8 100%);
	--tb-page-glow: rgba(124, 58, 237, 0.4);
	--tb-page-surface: rgba(124, 58, 237, 0.06);
	color: var(--tb-page-primary-dark);
}

.tb-archive--books.tb-archive-hero {
	background: var(--tb-page-bg);
	border-bottom: 2px solid rgba(124, 58, 237, 0.15);
}

.tb-archive--books .tb-archive-hero__icon {
	background: linear-gradient(135deg, var(--tb-page-primary), var(--tb-page-primary-dark));
	color: #fff;
	box-shadow: 0 8px 32px var(--tb-page-glow);
}

.tb-archive--books .tb-archive-hero__title {
	background: linear-gradient(135deg, #6D28D9, #7C3AED, #A78BFA);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.tb-archive--books .tb-archive-hero__desc {
	color: var(--tb-text-secondary);
}

.tb-archive--books .tb-archive-hero__stat-num {
	color: var(--tb-page-primary);
}

/* Books Card — Purple Glow */
.tb-archive--books .tb-ebook-card {
	border: 1px solid rgba(124, 58, 237, 0.2);
	transition: all var(--tb-duration-normal) var(--tb-ease-default);
	position: relative;
	background: var(--tb-card-bg);
}

.tb-archive--books .tb-ebook-card::before {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: calc(var(--tb-radius-xl) + 1px);
	padding: 2px;
	background: linear-gradient(135deg, #7C3AED, #A78BFA, #7C3AED);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity var(--tb-duration-normal) var(--tb-ease-default);
	pointer-events: none;
	z-index: 1;
}

.tb-archive--books .tb-ebook-card:hover::before {
	opacity: 1;
}

.tb-archive--books .tb-ebook-card:hover {
	transform: translateY(-6px);
	box-shadow:
		0 20px 40px rgba(124, 58, 237, 0.15),
		0 0 0 1px rgba(124, 58, 237, 0.3);
	border-color: transparent;
}

.tb-archive--books .tb-ebook-card__title a:hover {
	color: var(--tb-page-primary);
}

.tb-archive--books .tb-badge--category {
	background: rgba(124, 58, 237, 0.1);
	color: var(--tb-page-primary-dark);
	border: 1px solid rgba(124, 58, 237, 0.2);
}

.tb-archive--books .tb-ebook-card__format {
	background: linear-gradient(135deg, rgba(124, 58, 237, 0.85), rgba(109, 40, 217, 0.85));
}

.tb-archive--books .tb-btn--primary {
	background: linear-gradient(135deg, #7C3AED, #6D28D9);
	box-shadow: 0 4px 14px rgba(124, 58, 237, 0.3);
}

.tb-archive--books .tb-btn--primary:hover {
	box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4);
	transform: translateY(-1px);
}

.tb-archive--books .tb-btn--outline {
	color: var(--tb-page-primary);
	border-color: var(--tb-page-primary);
}

.tb-archive--books .tb-btn--outline:hover {
	background: var(--tb-page-primary);
	color: #fff;
}

/* =========================================================
   Blog Archive — Green/Emerald Theme
   ========================================================= */

.tb-archive--blog {
	--tb-page-primary: #10B981;
	--tb-page-primary-light: #34D399;
	--tb-page-primary-dark: #059669;
	--tb-page-bg: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 50%, #F0FDF4 100%);
	--tb-page-glow: rgba(16, 185, 129, 0.4);
	--tb-page-surface: rgba(16, 185, 129, 0.06);
	color: var(--tb-page-primary-dark);
}

.tb-archive--blog.tb-archive-hero {
	background: var(--tb-page-bg);
	border-bottom: 2px solid rgba(16, 185, 129, 0.15);
}

.tb-archive--blog .tb-archive-hero__icon {
	background: linear-gradient(135deg, var(--tb-page-primary), var(--tb-page-primary-dark));
	color: #fff;
	box-shadow: 0 8px 32px var(--tb-page-glow);
}

.tb-archive--blog .tb-archive-hero__title {
	background: linear-gradient(135deg, #059669, #10B981, #6EE7B7);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.tb-archive--blog .tb-archive-hero__desc {
	color: var(--tb-text-secondary);
}

.tb-archive--blog .tb-archive-hero__stat-num {
	color: var(--tb-page-primary);
}

/* Blog Card — Green Glow */
.tb-archive--blog .tb-blog-card {
	border: 1px solid rgba(16, 185, 129, 0.2);
	transition: all var(--tb-duration-normal) var(--tb-ease-default);
	position: relative;
	background: var(--tb-card-bg);
}

.tb-archive--blog .tb-blog-card::before {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: calc(var(--tb-radius-xl) + 1px);
	padding: 2px;
	background: linear-gradient(135deg, #10B981, #6EE7B7, #10B981);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity var(--tb-duration-normal) var(--tb-ease-default);
	pointer-events: none;
	z-index: 1;
}

.tb-archive--blog .tb-blog-card:hover::before {
	opacity: 1;
}

.tb-archive--blog .tb-blog-card:hover {
	transform: translateY(-6px);
	box-shadow:
		0 20px 40px rgba(16, 185, 129, 0.15),
		0 0 0 1px rgba(16, 185, 129, 0.3);
	border-color: transparent;
}

.tb-archive--blog .tb-blog-card__title a:hover {
	color: var(--tb-page-primary);
}

.tb-archive--blog .tb-badge--category {
	background: rgba(16, 185, 129, 0.1);
	color: var(--tb-page-primary-dark);
	border: 1px solid rgba(16, 185, 129, 0.2);
}

.tb-archive--blog .tb-blog-card__author {
	color: var(--tb-page-primary-dark);
}

.tb-archive--blog .tb-btn--primary {
	background: linear-gradient(135deg, #10B981, #059669);
	box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.tb-archive--blog .tb-btn--primary:hover {
	box-shadow: 0 8px 24px rgba(16, 185, 129, 0.4);
	transform: translateY(-1px);
}

/* =========================================================
   Grid Enhancements — Uniform for All Archives
   ========================================================= */

.tb-archive-hero ~ .tb-tools-grid,
.tb-archive-hero ~ .tb-ebooks-grid,
.tb-archive-hero ~ .tb-blog-grid {
	gap: var(--tb-space-8);
}

/* =========================================================
   Pagination Enhancement
   ========================================================= */

.tb-archive-hero ~ .tb-pagination,
.tb-archive-hero + .tb-content-area .tb-pagination {
	margin-top: var(--tb-space-12);
}

.tb-archive--tools .tb-pagination .current,
.tb-archive--books .tb-pagination .current,
.tb-archive--blog .tb-pagination .current {
	background: var(--tb-page-primary);
	border-color: var(--tb-page-primary);
	color: #fff;
	box-shadow: 0 4px 12px var(--tb-page-glow);
}

/* =========================================================
   Dark Mode Overrides
   ========================================================= */

/* Dark mode — override light page backgrounds */
[data-tb-theme='dark'] body.post-type-archive-tb_tool,
[data-tb-theme='dark'] body.tax-tb_tool_cat,
[data-tb-theme='dark'] body.tax-tb_tool_tag,
[data-tb-theme='dark'] body.post-type-archive-tb_ebook,
[data-tb-theme='dark'] body.tax-tb_ebook_cat,
[data-tb-theme='dark'] body.tax-tb_ebook_tag,
[data-tb-theme='dark'] body.blog,
[data-tb-theme='dark'] body.category,
[data-tb-theme='dark'] body.tag,
[data-tb-theme='dark'] body.author,
[data-tb-theme='dark'] body.date {
	background: var(--tb-bg);
}

[data-tb-theme='dark'] .tb-archive--tools {
	--tb-page-bg: linear-gradient(135deg, #0C1A2A 0%, #0F172A 50%, #0F1D2E 100%);
}

[data-tb-theme='dark'] .tb-archive--books {
	--tb-page-bg: linear-gradient(135deg, #1A0F2E 0%, #0F172A 50%, #1E0F2E 100%);
}

[data-tb-theme='dark'] .tb-archive--blog {
	--tb-page-bg: linear-gradient(135deg, #0F1F17 0%, #0F172A 50%, #0F2E1F 100%);
}

[data-tb-theme='dark'] .tb-archive--tools .tb-tool-card,
[data-tb-theme='dark'] .tb-archive--books .tb-ebook-card,
[data-tb-theme='dark'] .tb-archive--blog .tb-blog-card {
	background: var(--tb-surface);
}

/* =========================================================
   Responsive — Mobile First
   ========================================================= */

@media (max-width: 1023px) {
	.tb-archive-hero__title {
		font-size: var(--tb-text-4xl);
	}

	.tb-archive-hero__stats {
		gap: var(--tb-space-6);
	}
}

@media (max-width: 767px) {
	.tb-archive-hero {
		padding: var(--tb-space-10) 0 var(--tb-space-8);
	}

	.tb-archive-hero__title {
		font-size: var(--tb-text-3xl);
	}

	.tb-archive-hero__desc {
		font-size: var(--tb-text-base);
	}

	.tb-archive-hero__stats {
		flex-wrap: wrap;
		gap: var(--tb-space-4);
	}

	.tb-archive-hero__stat {
		flex: 1 1 40%;
	}
}
