/* ==========================================================================
   TMP Pages CSS: Shop Catalog, Single Product, Blog & Service Landing Pages
   Design System: Fluent & Material Light Theme (Sharp & Clean)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Shop Catalog & Products Archive
   -------------------------------------------------------------------------- */
.tmp-shop-header {
	padding: var(--tmp-space-6, 24px) 0 var(--tmp-space-4, 16px);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	margin-bottom: var(--tmp-space-6, 24px);
	border-bottom: 1px solid var(--tmp-border-color, #e2e8f0);
}

.tmp-shop-header__info {
	flex: 1;
	max-width: 720px;
}

.tmp-shop-header__title {
	font-size: 1.65rem;
	font-weight: 800;
	color: var(--tmp-text-main, #0f172a);
	margin: 6px 0 10px;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.tmp-shop-header__desc {
	font-size: 0.88rem;
	color: var(--tmp-text-secondary, #64748b);
	line-height: 1.75;
	margin: 0;
}

.tmp-shop-header__trust {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	flex-shrink: 0;
}

.tmp-shop-trust-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.tmp-shop-trust-chip svg {
	color: var(--tmp-orange, #f26522);
	flex-shrink: 0;
}

@media (max-width: 900px) {
	.tmp-shop-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		padding: 16px 0 14px;
	}

	.tmp-shop-header__title {
		font-size: 1.35rem;
	}

	.tmp-shop-header__desc {
		font-size: 0.82rem;
		line-height: 1.65;
	}

	.tmp-shop-header__trust {
		width: 100%;
		gap: 6px;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 4px;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.tmp-shop-header__trust::-webkit-scrollbar {
		display: none;
	}

	.tmp-shop-trust-chip {
		white-space: nowrap;
		flex-shrink: 0;
		padding: 5px 10px;
		font-size: 10.5px;
	}
}

/* ==========================================================================
   Shop Toolbar (Categories Strip & Filter Bar)
   ========================================================================== */
.tmp-shop-toolbar {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 12px 16px;
	box-shadow: 0 2px 10px -2px rgba(15, 23, 42, 0.04);
	margin-bottom: 24px;
}

/* Category Pills Row (Swipeable on Mobile) */
.tmp-shop-cats-strip {
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	padding-bottom: 10px;
	margin-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}

.tmp-shop-cats-strip::-webkit-scrollbar {
	display: none;
}

.tmp-cat-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	line-height: 1.4;
}

.tmp-cat-pill:hover {
	background: #ffffff;
	border-color: var(--tmp-orange, #f26522);
	color: var(--tmp-orange, #f26522);
}

.tmp-cat-pill.is-active {
	background: var(--tmp-orange, #f26522);
	border-color: var(--tmp-orange, #f26522);
	color: #ffffff;
	box-shadow: 0 2px 8px rgba(242, 101, 34, 0.28);
}

.tmp-cat-pill__count {
	font-size: 10px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.06);
	color: inherit;
}

.tmp-cat-pill.is-active .tmp-cat-pill__count {
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
}

/* Secondary Filter Bar */
.tmp-shop-filter-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* Search Box */
.tmp-shop-search-box {
	position: relative;
	flex: 1 1 200px;
	min-width: 170px;
	max-width: 260px;
}

.tmp-search-icon {
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translateY(-50%);
	color: #94a3b8;
	pointer-events: none;
	width: 15px;
	height: 15px;
}

.tmp-shop-search-box input {
	width: 100%;
	height: 36px;
	padding: 0 32px 0 28px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 9px;
	font-size: 11.5px;
	font-family: inherit;
	color: #1e293b;
	outline: none;
	transition: all 0.2s ease;
}

.tmp-shop-search-box input:focus {
	background: #ffffff;
	border-color: var(--tmp-orange, #f26522);
	box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.1);
}

.tmp-search-clear-btn {
	position: absolute;
	left: 7px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: #e2e8f0;
	border: none;
	border-radius: 50%;
	font-size: 12px;
	line-height: 1;
	color: #64748b;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background 0.2s;
}

.tmp-search-clear-btn:hover {
	background: #cbd5e1;
	color: #0f172a;
}

/* Condition Filter Pills */
.tmp-shop-condition-group {
	display: inline-flex;
	align-items: center;
	background: #f1f5f9;
	padding: 3px;
	border-radius: 9px;
	gap: 2px;
}

.tmp-cond-btn {
	border: none;
	background: transparent;
	padding: 5px 11px;
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	border-radius: 7px;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
	font-family: inherit;
	line-height: 1.35;
}

.tmp-cond-btn:hover {
	color: #0f172a;
}

.tmp-cond-btn.is-active {
	background: #ffffff;
	color: #0f172a;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	font-weight: 700;
}

/* Dropdown Selects Wrap */
.tmp-shop-selects-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}

.tmp-micro-select {
	height: 36px;
	padding: 0 24px 0 10px;
	font-size: 11.5px;
	font-family: inherit;
	color: #334155;
	background-color: #f8fafc;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 8px center;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	cursor: pointer;
	outline: none;
	transition: all 0.2s ease;
	appearance: none;
	-webkit-appearance: none;
}

.tmp-micro-select:focus,
.tmp-micro-select:hover {
	border-color: var(--tmp-orange, #f26522);
	background-color: #ffffff;
}

/* Results Counter & Reset */
.tmp-shop-meta-actions {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-right: auto;
}

.tmp-shop-counter-tag {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 5px 9px;
	background: #f1f5f9;
	border-radius: 7px;
	font-size: 11px;
	font-weight: 700;
	color: #334155;
	white-space: nowrap;
}

.tmp-shop-reset-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 9px;
	background: transparent;
	border: 1px solid #e2e8f0;
	border-radius: 7px;
	font-size: 11px;
	font-weight: 600;
	color: #64748b;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
}

.tmp-shop-reset-btn:hover {
	background: #fee2e2;
	border-color: #fca5a5;
	color: #ef4444;
}

@media (max-width: 860px) {
	.tmp-shop-toolbar {
		padding: 10px 12px;
	}

	.tmp-shop-filter-bar {
		gap: 8px;
	}

	.tmp-shop-search-box {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.tmp-shop-condition-group {
		width: 100%;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start;
	}

	.tmp-shop-condition-group::-webkit-scrollbar {
		display: none;
	}

	.tmp-cond-btn {
		flex-shrink: 0;
		padding: 5px 9px;
	}

	.tmp-shop-selects-wrap {
		flex: 1 1 auto;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6px;
		width: 100%;
	}

	.tmp-micro-select {
		width: 100%;
	}

	.tmp-shop-meta-actions {
		width: 100%;
		justify-content: space-between;
		margin-right: 0;
		padding-top: 4px;
	}
}

/* ==========================================================================
   Products Grid & Cards (Ultra-Delicate & Standardized)
   ========================================================================== */
.tmp-shop-grid-wrap {
	position: relative;
	min-height: 300px;
}

.tmp-shop-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: var(--tmp-space-12, 48px);
}

@media (max-width: 1024px) {
	.tmp-shop-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media (max-width: 640px) {
	.tmp-shop-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

.tmp-shop-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
	height: 100%;
}

.tmp-shop-card:hover {
	transform: translateY(-3px);
	border-color: rgba(242, 101, 34, 0.4);
	box-shadow: 0 10px 25px -4px rgba(15, 23, 42, 0.08), 0 4px 6px -2px rgba(15, 23, 42, 0.03);
}

.tmp-shop-card__media {
	position: relative;
	height: 195px;
	background: #f8fafc;
	overflow: hidden;
}

@media (max-width: 640px) {
	.tmp-shop-card__media {
		height: 180px;
	}
}

.tmp-shop-card__img-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tmp-shop-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.tmp-shop-card:hover .tmp-shop-card__img {
	transform: scale(1.04);
}

.tmp-shop-card__badges {
	position: absolute;
	top: 8px;
	right: 8px;
	left: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 6px;
	pointer-events: none;
}

.tmp-shop-card__badge {
	font-size: 10px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 6px;
	backdrop-filter: blur(8px);
	line-height: 1.35;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.tmp-shop-card__badge--primary { background: rgba(242, 101, 34, 0.92); color: #ffffff; }
.tmp-shop-card__badge--success { background: rgba(16, 185, 129, 0.92); color: #ffffff; }
.tmp-shop-card__badge--warning { background: rgba(217, 119, 6, 0.92); color: #ffffff; }
.tmp-shop-card__badge--info    { background: rgba(14, 165, 233, 0.92); color: #ffffff; }

.tmp-shop-card__category-tag {
	font-size: 10px;
	font-weight: 600;
	padding: 3px 8px;
	background: rgba(255, 255, 255, 0.94);
	color: #334155;
	border-radius: 6px;
	border: 1px solid rgba(0, 0, 0, 0.05);
	backdrop-filter: blur(8px);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.tmp-shop-card__body {
	padding: 12px 14px 10px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.tmp-shop-card__title {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 6px;
	line-height: 1.45;
}

.tmp-shop-card__title a {
	color: var(--tmp-text-main, #0f172a);
	text-decoration: none;
	transition: color 0.2s ease;
}

.tmp-shop-card__title a:hover {
	color: var(--tmp-orange, #f26522);
}

.tmp-shop-card__excerpt {
	font-size: 11.5px;
	color: #64748b;
	line-height: 1.65;
	margin: 0 0 10px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 38px;
	min-height: 38px;
}

/* Delicate 3-Pill Specs Strip */
.tmp-shop-card__specs {
	background: #f8fafc;
	border: 1px solid #edf2f7;
	border-radius: 8px;
	padding: 6px 8px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
	gap: 6px;
	margin-top: auto;
	margin-bottom: 0;
}

.tmp-shop-spec {
	display: flex;
	flex-direction: column;
	font-size: 10px;
	line-height: 1.35;
	overflow: hidden;
}

.tmp-shop-spec__label {
	color: #94a3b8;
	font-size: 9px;
	white-space: nowrap;
}

.tmp-shop-spec__val {
	color: #1e293b;
	font-weight: 700;
	font-size: 11px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Delicate Card Footer & Actions */
.tmp-shop-card__footer {
	padding: 8px 12px 10px;
	border-top: 1px solid #f1f5f9;
	display: flex;
	gap: 6px;
	align-items: center;
	background: #ffffff;
}

.tmp-shop-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	flex: 1;
	height: 34px;
	padding: 0 8px;
	font-size: 11.5px;
	font-weight: 600;
	border-radius: 7px;
	text-decoration: none;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	white-space: nowrap;
	line-height: 1;
	cursor: pointer;
	border: 1px solid transparent;
	font-family: inherit;
}

.tmp-shop-btn svg {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.tmp-shop-btn--primary {
	background: var(--tmp-orange, #f26522);
	color: #ffffff;
	border-color: transparent;
	box-shadow: 0 1px 4px rgba(242, 101, 34, 0.2);
}

.tmp-shop-btn--primary:hover {
	background: #d9480f;
	color: #ffffff;
	box-shadow: 0 3px 10px rgba(242, 101, 34, 0.3);
	transform: translateY(-1px);
}

.tmp-shop-btn--primary:hover svg {
	transform: translateX(-3px);
}

.tmp-shop-btn--outline {
	background: #f8fafc;
	color: #475569;
	border: 1px solid #e2e8f0;
}

.tmp-shop-btn--outline:hover {
	background: #ffffff;
	color: #0f172a;
	border-color: #cbd5e1;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	transform: translateY(-1px);
}

.tmp-shop-card__footer .tmp-btn {
	flex: 1;
	justify-content: center;
	height: 34px;
	padding: 0 8px;
	font-size: 11.5px;
	border-radius: 7px;
}

.tmp-shop-empty-state {
	text-align: center;
	padding: var(--tmp-space-12) var(--tmp-space-6);
	background: #ffffff;
	border: 1px dashed var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	margin-bottom: var(--tmp-space-8);
}

.tmp-shop-empty-state svg {
	margin-bottom: var(--tmp-space-3);
}

.tmp-shop-empty-state h3 {
	font-size: var(--tmp-font-lg);
	font-weight: 700;
	color: var(--tmp-text-main);
	margin-bottom: 6px;
}

.tmp-shop-empty-state p {
	font-size: var(--tmp-font-sm);
	color: var(--tmp-text-secondary);
	margin-bottom: var(--tmp-space-4);
}

/* Shop Bottom CTA Banner */
.tmp-cta-banner {
	background: linear-gradient(135deg, #ffffff 0%, #fff7f2 100%);
	border: 1px solid rgba(255, 85, 0, 0.2);
	border-radius: var(--tmp-radius-2xl);
	padding: var(--tmp-space-8);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--tmp-space-8);
	box-shadow: var(--tmp-shadow-md);
}

@media (max-width: 768px) {
	.tmp-cta-banner {
		flex-direction: column;
		text-align: center;
	}
}

.tmp-cta-banner__content h2 {
	margin-bottom: 8px;
	color: var(--tmp-text-main);
}

.tmp-cta-banner__content p {
	font-size: var(--tmp-font-sm);
	color: var(--tmp-text-secondary);
	max-width: 650px;
}

.tmp-cta-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* --------------------------------------------------------------------------
   Single Product Page
   -------------------------------------------------------------------------- */
.tmp-product-layout {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color, #e2e8f0);
	border-radius: var(--tmp-radius-2xl, 20px);
	padding: var(--tmp-space-6, 48px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: clamp(28px, 4vw, 56px);
	row-gap: var(--tmp-space-6, 48px);
	margin-bottom: var(--tmp-space-8, 64px);
	box-shadow: var(--tmp-shadow-sm, 0 4px 16px rgba(15, 23, 42, 0.06));
	align-items: start;
}

@media (max-width: 991px) {
	.tmp-product-layout {
		grid-template-columns: 1fr;
		padding: var(--tmp-space-4, 32px) var(--tmp-space-3, 24px);
		column-gap: 0;
		row-gap: var(--tmp-space-4, 32px);
	}
}

.tmp-product-layout__gallery {
	min-width: 0;
	padding-left: 8px;
}

.tmp-product-layout__info {
	min-width: 0;
	padding-right: 8px;
}

@media (max-width: 991px) {
	.tmp-product-layout__gallery,
	.tmp-product-layout__info {
		padding-left: 0;
		padding-right: 0;
	}
}

.tmp-product-gallery {
	margin-bottom: var(--tmp-space-4, 32px);
}

.tmp-product-gallery__frame {
	position: relative;
	background: #f8fafc;
	border: 1px solid var(--tmp-border-color, #e2e8f0);
	border-radius: var(--tmp-radius-xl, 16px);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 280px;
	margin-bottom: 12px;
}

.tmp-product-gallery__stage {
	position: absolute;
	inset: 0;
}

.tmp-product-gallery__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
	background: #0f172a;
}

.tmp-product-gallery__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.tmp-product-gallery__main-img,
.tmp-product-gallery__video,
.tmp-product-gallery__embed,
.tmp-product-gallery__embed iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border: 0;
}

.tmp-product-gallery__video,
.tmp-product-gallery__embed {
	object-fit: contain;
	background: #000;
}

.tmp-product-gallery__embed {
	position: relative;
}

.tmp-product-gallery__badge {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 9999px;
	font-size: var(--tmp-font-xs, 0.8rem);
	font-weight: 700;
	color: #ffffff;
	backdrop-filter: blur(8px);
}

.tmp-product-gallery__badge--primary { background: rgba(255, 85, 0, 0.95); }
.tmp-product-gallery__badge--success { background: rgba(16, 185, 129, 0.95); }
.tmp-product-gallery__badge--warning { background: rgba(245, 158, 11, 0.95); }
.tmp-product-gallery__badge--info    { background: rgba(14, 165, 233, 0.95); }

.tmp-product-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #0f172a;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.tmp-product-gallery__nav:hover {
	background: var(--tmp-orange, #ff5500);
	color: #ffffff;
}

.tmp-product-gallery__nav--prev {
	right: 12px;
}

.tmp-product-gallery__nav--next {
	left: 12px;
}

.tmp-product-gallery__counter {
	position: absolute;
	bottom: 12px;
	left: 12px;
	z-index: 3;
	background: rgba(15, 23, 42, 0.75);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 9999px;
	display: inline-flex;
	gap: 4px;
}

.tmp-product-gallery__thumbs {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.tmp-product-gallery__thumb {
	position: relative;
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	background: #e2e8f0;
	opacity: 0.72;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.tmp-product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tmp-product-gallery__thumb:hover,
.tmp-product-gallery__thumb.is-active {
	opacity: 1;
	border-color: var(--tmp-orange, #ff5500);
}

.tmp-product-gallery__thumb-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 23, 42, 0.45);
	color: #ffffff;
}

.tmp-product-quick-features {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.tmp-quick-feature {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fbfbfb;
	border: 1px solid var(--tmp-border-color, #e2e8f0);
	border-radius: var(--tmp-radius-md, 10px);
	padding: 8px 14px;
	font-size: var(--tmp-font-xs, 0.8rem);
	font-weight: 600;
	color: var(--tmp-text-secondary);
}

.tmp-quick-feature svg {
	color: var(--tmp-orange);
	flex-shrink: 0;
}

.tmp-product-info__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--tmp-space-3);
}

.tmp-product-cat-pill {
	font-size: var(--tmp-font-xs);
	font-weight: 700;
	color: var(--tmp-orange);
	background: rgba(255, 85, 0, 0.08);
	padding: 4px 12px;
	border-radius: var(--tmp-radius-full);
	text-decoration: none;
}

.tmp-product-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--tmp-font-xs);
	font-weight: 600;
	color: #10b981;
}

.tmp-status-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #10b981;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.tmp-product-title {
	margin-bottom: var(--tmp-space-3);
	color: var(--tmp-text-main);
	line-height: 1.3;
}

.tmp-product-lead {
	font-size: var(--tmp-font-sm);
	color: var(--tmp-text-secondary);
	line-height: 1.8;
	margin-bottom: var(--tmp-space-6);
}

.tmp-product-dashboard {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--tmp-space-3);
	background: #fbfbfb;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-lg);
	padding: var(--tmp-space-4);
	margin-bottom: var(--tmp-space-6);
}

.tmp-dashboard-stat {
	display: flex;
	align-items: center;
	gap: 12px;
}

.tmp-dashboard-stat__icon {
	width: 42px;
	height: 42px;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--tmp-orange);
	flex-shrink: 0;
}

.tmp-dashboard-stat__data {
	display: flex;
	flex-direction: column;
}

.tmp-dashboard-stat__label {
	font-size: 11px;
	color: var(--tmp-text-muted);
}

.tmp-dashboard-stat__val {
	font-size: var(--tmp-font-sm);
	font-weight: 700;
	color: var(--tmp-text-main);
}

.tmp-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tmp-product-actions .tmp-btn {
	flex: 1;
	min-width: 200px;
	justify-content: center;
}

/* Specs Table */
.tmp-product-specs-section,
.tmp-product-description-section,
.tmp-product-inquiry-section {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-2xl);
	padding: var(--tmp-space-8);
	margin-bottom: var(--tmp-space-8);
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-specs-table-wrapper {
	overflow-x: auto;
}

.tmp-specs-table {
	width: 100%;
	border-collapse: collapse;
}

.tmp-specs-table tr {
	border-bottom: 1px solid var(--tmp-border-color);
}

.tmp-specs-table tr:last-child {
	border-bottom: none;
}

.tmp-specs-table th {
	width: 35%;
	padding: 14px 16px;
	text-align: right;
	font-size: var(--tmp-font-sm);
	font-weight: 600;
	color: var(--tmp-text-secondary);
	background: #fafafa;
}

.tmp-specs-table td {
	padding: 14px 16px;
	text-align: right;
	font-size: var(--tmp-font-sm);
	color: var(--tmp-text-main);
}

/* Inquiry Form */
.tmp-inquiry-box {
	max-width: 760px;
	margin: 0 auto;
}

.tmp-inquiry-form {
	margin-top: var(--tmp-space-6);
}

.tmp-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--tmp-space-4);
	margin-bottom: var(--tmp-space-6);
}

@media (max-width: 640px) {
	.tmp-form-grid {
		grid-template-columns: 1fr;
	}
}

.tmp-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tmp-form-field--full {
	grid-column: 1 / -1;
}

.tmp-form-field label {
	font-size: var(--tmp-font-xs);
	font-weight: 600;
	color: var(--tmp-text-main);
}

.tmp-form-field input,
.tmp-form-field textarea {
	width: 100%;
	padding: 10px 14px;
	background: #fbfbfb;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-md);
	font-size: var(--tmp-font-sm);
	font-family: inherit;
	outline: none;
	transition: all 0.2s ease;
}

.tmp-form-field input:focus,
.tmp-form-field textarea:focus {
	background: #ffffff;
	border-color: var(--tmp-orange);
	box-shadow: 0 0 0 3px rgba(255, 85, 0, 0.1);
}

.tmp-form-notice {
	font-size: 11px;
	color: var(--tmp-text-muted);
	margin-top: 8px;
}

/* --------------------------------------------------------------------------
   Blog & Articles Styles
   -------------------------------------------------------------------------- */
.tmp-blog-hero {
	padding: var(--tmp-space-12) 0 var(--tmp-space-6);
	background: linear-gradient(180deg, rgba(255, 85, 0, 0.04) 0%, rgba(255, 255, 255, 0) 100%);
	border-bottom: 1px solid var(--tmp-border-color);
	margin-bottom: var(--tmp-space-8);
}

.tmp-blog-cats-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: var(--tmp-space-6);
}

.tmp-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--tmp-space-6);
	margin-bottom: var(--tmp-space-8);
}

@media (max-width: 991px) {
	.tmp-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.tmp-blog-grid {
		grid-template-columns: 1fr;
	}
}

.tmp-blog-card {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.25s ease;
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-blog-card:hover {
	transform: translateY(-4px);
	border-color: rgba(255, 85, 0, 0.4);
	box-shadow: var(--tmp-shadow-md);
}

.tmp-blog-card--featured {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 1.2fr 1fr;
}

@media (max-width: 768px) {
	.tmp-blog-card--featured {
		grid-template-columns: 1fr;
	}
}

.tmp-blog-card__media {
	position: relative;
	height: 200px;
	background: #f4f5f7;
	overflow: hidden;
}

.tmp-blog-card--featured .tmp-blog-card__media {
	height: 100%;
	min-height: 280px;
}

.tmp-blog-card__img-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tmp-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.tmp-blog-card:hover .tmp-blog-card__img {
	transform: scale(1.05);
}

.tmp-blog-card__cat-badge {
	position: absolute;
	top: 12px;
	right: 12px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--tmp-radius-full);
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 700;
	color: var(--tmp-orange);
	text-decoration: none;
	backdrop-filter: blur(8px);
}

.tmp-blog-card__body {
	padding: var(--tmp-space-5);
	flex: 1;
	display: flex;
	flex-direction: column;
}

.tmp-blog-card__meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--tmp-text-muted);
	margin-bottom: var(--tmp-space-2);
}

.tmp-blog-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.tmp-blog-card__title {
	font-size: var(--tmp-font-base);
	font-weight: 700;
	margin-bottom: 8px;
	line-height: 1.4;
}

.tmp-blog-card__title a {
	color: var(--tmp-text-main);
	text-decoration: none;
	transition: color 0.2s ease;
}

.tmp-blog-card__title a:hover {
	color: var(--tmp-orange);
}

.tmp-blog-card__excerpt {
	font-size: var(--tmp-font-xs);
	color: var(--tmp-text-secondary);
	line-height: 1.7;
	margin-bottom: var(--tmp-space-4);
	flex: 1;
}

.tmp-blog-card__footer {
	padding-top: var(--tmp-space-3);
	border-top: 1px solid var(--tmp-border-color);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.tmp-blog-author {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	color: var(--tmp-text-muted);
}

.tmp-blog-card__read-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: var(--tmp-font-xs);
	font-weight: 700;
	color: var(--tmp-orange);
	text-decoration: none;
}

.tmp-pagination-wrapper {
	margin-bottom: var(--tmp-space-12);
	text-align: center;
}

.tmp-pagination-wrapper .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 8px;
	margin: 0 4px;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-md);
	font-size: var(--tmp-font-sm);
	font-weight: 600;
	color: var(--tmp-text-secondary);
	text-decoration: none;
	transition: all 0.2s ease;
}

.tmp-pagination-wrapper .page-numbers.current {
	background: var(--tmp-orange);
	border-color: var(--tmp-orange);
	color: #ffffff;
}

/* Single Post Layout */
.tmp-single-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--tmp-space-8);
	margin-bottom: var(--tmp-space-12);
}

@media (max-width: 991px) {
	.tmp-single-layout {
		grid-template-columns: 1fr;
	}
}

.tmp-single-article {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-2xl);
	padding: var(--tmp-space-8);
	box-shadow: var(--tmp-shadow-xs);
}

@media (max-width: 640px) {
	.tmp-single-article {
		padding: var(--tmp-space-4);
	}
}

.tmp-article-header__meta-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: var(--tmp-font-xs);
	color: var(--tmp-text-muted);
	margin-bottom: var(--tmp-space-4);
}

.tmp-article-title {
	font-size: clamp(1.6rem, 2.5vw, 2.15rem);
	font-weight: 800;
	line-height: 1.4;
	color: var(--tmp-ink, #0f172a);
	margin-bottom: var(--tmp-space-4);
	letter-spacing: -0.01em;
}

.tmp-article-lead {
	font-size: var(--tmp-font-base);
	color: var(--tmp-text-secondary);
	line-height: 1.8;
	margin-bottom: var(--tmp-space-6);
	border-right: 3px solid var(--tmp-orange);
	padding-right: var(--tmp-space-4);
}

.tmp-article-featured-media {
	border-radius: var(--tmp-radius-xl);
	overflow: hidden;
	margin-bottom: var(--tmp-space-8);
	max-height: 440px;
}

.tmp-article-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Article Body Typography Hierarchy (H1 - H6 Standardized) */
.tmp-article-body {
	font-size: 1.05rem;
	line-height: 2.1;
	color: #334155;
	margin-bottom: var(--tmp-space-8);
}

.tmp-article-body h1,
.tmp-article-body h2,
.tmp-article-body h3,
.tmp-article-body h4,
.tmp-article-body h5,
.tmp-article-body h6 {
	color: var(--tmp-ink, #0f172a);
	font-family: inherit;
	scroll-margin-top: 110px;
	word-break: break-word;
}

/* H1 inside article content */
.tmp-article-body h1 {
	font-size: clamp(1.45rem, 2.2vw, 1.8rem);
	font-weight: 800;
	line-height: 1.45;
	margin-top: 2.5rem;
	margin-bottom: 1.1rem;
	padding-right: 14px;
	border-right: 4px solid var(--tmp-orange, #f26522);
}

/* H2 - Main Section Heading */
.tmp-article-body h2 {
	font-size: clamp(1.3rem, 1.9vw, 1.55rem);
	font-weight: 800;
	line-height: 1.5;
	color: #1e293b;
	margin-top: 2.25rem;
	margin-bottom: 1rem;
	padding-right: 12px;
	border-right: 3.5px solid var(--tmp-orange, #f26522);
}

/* H3 - Sub-section Heading */
.tmp-article-body h3 {
	font-size: clamp(1.15rem, 1.5vw, 1.3rem);
	font-weight: 700;
	line-height: 1.55;
	color: #1e293b;
	margin-top: 1.85rem;
	margin-bottom: 0.85rem;
	padding-right: 10px;
	border-right: 2.5px solid #cbd5e1;
}

/* H4 - Minor Section Heading */
.tmp-article-body h4 {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.6;
	color: #334155;
	margin-top: 1.5rem;
	margin-bottom: 0.7rem;
	padding-right: 0;
	border-right: none;
}

/* H5 - Sub-minor Heading */
.tmp-article-body h5 {
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.6;
	color: #475569;
	margin-top: 1.3rem;
	margin-bottom: 0.5rem;
}

/* H6 - Meta / Technical Label Heading */
.tmp-article-body h6 {
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.6;
	color: #64748b;
	margin-top: 1.15rem;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.tmp-article-body p {
	font-size: 1.05rem;
	line-height: 2.1;
	color: #334155;
	margin-bottom: 1.35rem;
}

.tmp-article-body blockquote {
	margin: 1.8rem 0;
	padding: 1rem 1.4rem;
	border-right: 4px solid var(--tmp-orange, #f26522);
	background: #f8fafc;
	border-radius: 0 var(--tmp-radius-md, 8px) var(--tmp-radius-md, 8px) 0;
	color: #475569;
	font-style: italic;
}

@media (max-width: 768px) {
	.tmp-article-title {
		font-size: 1.45rem;
		line-height: 1.4;
	}
	.tmp-article-body {
		font-size: 0.98rem;
		line-height: 2;
	}
	.tmp-article-body h1 {
		font-size: 1.35rem;
		margin-top: 1.8rem;
		margin-bottom: 0.8rem;
	}
	.tmp-article-body h2 {
		font-size: 1.22rem;
		margin-top: 1.7rem;
		margin-bottom: 0.75rem;
		padding-right: 10px;
		border-right-width: 3px;
	}
	.tmp-article-body h3 {
		font-size: 1.1rem;
		margin-top: 1.45rem;
		margin-bottom: 0.65rem;
		padding-right: 8px;
		border-right-width: 2px;
	}
	.tmp-article-body h4 {
		font-size: 1.02rem;
		margin-top: 1.3rem;
		margin-bottom: 0.5rem;
	}
	.tmp-article-body h5 {
		font-size: 0.95rem;
		margin-top: 1.15rem;
		margin-bottom: 0.45rem;
	}
	.tmp-article-body h6 {
		font-size: 0.88rem;
		margin-top: 1rem;
		margin-bottom: 0.4rem;
	}
	.tmp-article-body p {
		font-size: 0.98rem;
		line-height: 2;
		margin-bottom: 1.1rem;
	}
}

.tmp-article-body ul,
.tmp-article-body ol {
	padding-right: var(--tmp-space-6);
	margin-bottom: var(--tmp-space-6);
}

.tmp-article-body li {
	margin-bottom: 8px;
}

.tmp-article-share {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--tmp-space-4) 0;
	border-top: 1px solid var(--tmp-border-color);
	border-bottom: 1px solid var(--tmp-border-color);
	margin-bottom: var(--tmp-space-8);
}

.tmp-article-share__label {
	font-size: var(--tmp-font-xs);
	font-weight: 700;
	color: var(--tmp-text-secondary);
}

.tmp-share-links {
	display: flex;
	gap: 8px;
}

.tmp-share-btn {
	padding: 6px 14px;
	background: #f8f9fa;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-full);
	font-size: 11px;
	font-weight: 600;
	color: var(--tmp-text-secondary);
	text-decoration: none;
	transition: all 0.2s ease;
}

.tmp-share-btn:hover {
	background: var(--tmp-orange);
	border-color: var(--tmp-orange);
	color: #ffffff;
}

.tmp-author-box {
	display: flex;
	align-items: center;
	gap: var(--tmp-space-4);
	background: #fbfbfb;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	padding: var(--tmp-space-6);
	margin-bottom: var(--tmp-space-8);
}

.tmp-author-avatar {
	width: 56px;
	height: 56px;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.tmp-author-info h4 {
	font-size: var(--tmp-font-sm);
	font-weight: 700;
	color: var(--tmp-text-main);
	margin-bottom: 4px;
}

.tmp-author-info p {
	font-size: var(--tmp-font-xs);
	color: var(--tmp-text-secondary);
	line-height: 1.6;
	margin: 0;
}

/* ==========================================================================
   Author Profile & Archive Page Template
   ========================================================================== */
.tmp-author-page {
	padding-bottom: var(--tmp-space-16, 64px);
}

.tmp-author-hero {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	padding: 28px 32px;
	box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
	margin-bottom: 32px;
}

.tmp-author-hero__inner {
	display: flex;
	align-items: flex-start;
	gap: 28px;
}

.tmp-author-hero__avatar-wrap {
	flex-shrink: 0;
}

.tmp-author-hero__avatar {
	position: relative;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	padding: 3px;
	background: #ffffff;
	border: 2px solid rgba(242, 101, 34, 0.25);
	box-shadow: 0 4px 14px rgba(242, 101, 34, 0.12);
}

.tmp-author-avatar-img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.tmp-author-hero__badge-check {
	position: absolute;
	bottom: 2px;
	left: 2px;
	width: 24px;
	height: 24px;
	background: #10b981;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #ffffff;
	box-shadow: 0 2px 6px rgba(16, 185, 129, 0.35);
}

.tmp-author-hero__content {
	flex: 1;
}

.tmp-author-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--tmp-orange, #f26522);
	background: rgba(242, 101, 34, 0.08);
	padding: 3px 10px;
	border-radius: 12px;
	margin-bottom: 8px;
}

.tmp-author-hero__name {
	font-size: 1.65rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 4px;
	line-height: 1.3;
}

.tmp-author-hero__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #475569;
	margin: 0 0 12px;
}

.tmp-author-hero__bio {
	font-size: 0.9rem;
	line-height: 1.8;
	color: #64748b;
	margin: 0 0 18px;
	max-width: 820px;
}

.tmp-author-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.tmp-author-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	font-size: 11.5px;
	color: #334155;
	font-weight: 500;
}

.tmp-author-chip svg {
	color: var(--tmp-orange, #f26522);
	flex-shrink: 0;
}

.tmp-author-chip strong {
	color: #0f172a;
	font-weight: 700;
}

.tmp-author-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

/* Articles Section in Author Template */
.tmp-author-articles__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}

.tmp-author-articles__title {
	font-size: 1.25rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 4px;
}

.tmp-author-articles__desc {
	font-size: 0.85rem;
	color: #64748b;
	margin: 0;
}

.tmp-author-articles__count-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 12px;
	background: #f1f5f9;
	border-radius: 8px;
	font-size: 11.5px;
	color: #334155;
	font-weight: 600;
	white-space: nowrap;
}

.tmp-author-articles__count-tag strong {
	color: var(--tmp-orange, #f26522);
	font-weight: 700;
}

@media (max-width: 768px) {
	.tmp-author-hero {
		padding: 20px 16px;
	}

	.tmp-author-hero__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
	}

	.tmp-author-hero__name {
		font-size: 1.35rem;
	}

	.tmp-author-hero__title {
		font-size: 0.88rem;
	}

	.tmp-author-hero__bio {
		font-size: 0.84rem;
		line-height: 1.7;
	}

	.tmp-author-hero__chips {
		justify-content: center;
		gap: 6px;
	}

	.tmp-author-hero__actions {
		justify-content: center;
		width: 100%;
	}

	.tmp-author-articles__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

.tmp-sidebar-widget {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	padding: var(--tmp-space-6);
	margin-bottom: var(--tmp-space-6);
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-widget-title {
	font-size: var(--tmp-font-base);
	font-weight: 700;
	color: var(--tmp-text-main);
	margin-bottom: var(--tmp-space-4);
	border-bottom: 2px solid var(--tmp-orange);
	padding-bottom: 8px;
}

.tmp-widget-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.tmp-widget-list li {
	margin-bottom: 8px;
}

.tmp-widget-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	border-radius: var(--tmp-radius-md);
	background: #fbfbfb;
	color: var(--tmp-text-secondary);
	text-decoration: none;
	font-size: var(--tmp-font-xs);
	font-weight: 600;
	transition: all 0.2s ease;
}

.tmp-widget-list a:hover {
	background: #fff7f2;
	color: var(--tmp-orange);
}

.tmp-cat-badge {
	font-size: 11px;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	padding: 2px 8px;
	border-radius: var(--tmp-radius-full);
}

/* --------------------------------------------------------------------------
   Service Landing Page Styles
   -------------------------------------------------------------------------- */
.tmp-landing-hero {
	padding: var(--tmp-space-12) 0 var(--tmp-space-8);
	background: linear-gradient(180deg, rgba(255, 85, 0, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
	border-bottom: 1px solid var(--tmp-border-color);
	margin-bottom: var(--tmp-space-8);
}

.tmp-landing-hero__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: var(--tmp-space-8);
	align-items: center;
}

@media (max-width: 991px) {
	.tmp-landing-hero__grid {
		grid-template-columns: 1fr;
	}
}

.tmp-landing-hero__title {
	margin: var(--tmp-space-3) 0 var(--tmp-space-4);
	line-height: 1.3;
}

.tmp-landing-hero__desc {
	font-size: var(--tmp-font-base);
	color: var(--tmp-text-secondary);
	line-height: 1.8;
	margin-bottom: var(--tmp-space-6);
}

.tmp-landing-hero__badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-full);
	padding: 8px 16px;
	font-size: var(--tmp-font-xs);
	font-weight: 700;
	color: var(--tmp-text-main);
	margin-bottom: var(--tmp-space-6);
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-landing-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tmp-landing-hero__img-frame {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-2xl);
	overflow: hidden;
	height: 380px;
	box-shadow: var(--tmp-shadow-lg);
}

.tmp-landing-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tmp-landing-hero__floating-card {
	position: absolute;
	bottom: 20px;
	right: 20px;
	left: 20px;
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--tmp-radius-xl);
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: var(--tmp-shadow-md);
}

.tmp-floating-card__dot {
	width: 10px;
	height: 10px;
	background: var(--tmp-orange);
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: 0 0 0 4px rgba(255, 85, 0, 0.2);
}

.tmp-floating-card p {
	font-size: 11px;
	color: var(--tmp-text-secondary);
	margin: 0;
}

.tmp-benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--tmp-space-4);
	margin-bottom: var(--tmp-space-8);
}

@media (max-width: 991px) {
	.tmp-benefits-grid {
		grid-template-columns: 1fr;
	}
}

.tmp-benefit-item {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	padding: var(--tmp-space-5);
	display: flex;
	align-items: flex-start;
	gap: 12px;
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-benefit-item__icon {
	width: 36px;
	height: 36px;
	background: rgba(255, 85, 0, 0.08);
	border-radius: var(--tmp-radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.tmp-benefit-item__text {
	font-size: var(--tmp-font-sm);
	font-weight: 600;
	color: var(--tmp-text-main);
	line-height: 1.6;
	margin: 0;
}

.tmp-landing-steps-section {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-2xl);
	padding: var(--tmp-space-8);
	margin-bottom: var(--tmp-space-8);
	box-shadow: var(--tmp-shadow-xs);
}

.tmp-steps-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--tmp-space-4);
}

@media (max-width: 991px) {
	.tmp-steps-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.tmp-steps-grid {
		grid-template-columns: 1fr;
	}
}

.tmp-step-card {
	background: #fbfbfb;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	padding: var(--tmp-space-5);
	position: relative;
}

.tmp-step-card__num {
	font-size: var(--tmp-font-xl);
	font-weight: 800;
	color: var(--tmp-orange);
	margin-bottom: var(--tmp-space-2);
	font-family: inherit;
	opacity: 0.8;
}

.tmp-step-card__title {
	font-size: var(--tmp-font-sm);
	font-weight: 700;
	color: var(--tmp-text-main);
	margin-bottom: 6px;
}

.tmp-step-card__desc {
	font-size: var(--tmp-font-xs);
	color: var(--tmp-text-secondary);
	line-height: 1.6;
	margin: 0;
}

/* FAQ Accordion */
.tmp-faq-accordion {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--tmp-space-3);
}

.tmp-faq-item {
	background: #ffffff;
	border: 1px solid var(--tmp-border-color);
	border-radius: var(--tmp-radius-xl);
	overflow: hidden;
	transition: all 0.2s ease;
}

.tmp-faq-summary {
	padding: var(--tmp-space-4) var(--tmp-space-5);
	font-size: var(--tmp-font-sm);
	font-weight: 700;
	color: var(--tmp-text-main);
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
	list-style: none;
}

.tmp-faq-summary::-webkit-details-marker {
	display: none;
}

.tmp-faq-toggle-icon {
	color: var(--tmp-orange);
	transition: transform 0.25s ease;
}

.tmp-faq-item[open] .tmp-faq-toggle-icon {
	transform: rotate(180deg);
}

.tmp-faq-answer {
	padding: 0 var(--tmp-space-5) var(--tmp-space-5);
	font-size: var(--tmp-font-xs);
	color: var(--tmp-text-secondary);
	line-height: 1.8;
	border-top: 1px solid #f0f0f0;
	padding-top: var(--tmp-space-3);
}

/* ==========================================================================
   Navigation Dropdowns & Header Actions (Executive Fluent Design)
   ========================================================================== */
.tmp-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 72px;
	flex-wrap: nowrap;
}

.tmp-logo {
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

.tmp-logo__img {
	height: 44px;
	max-height: 44px;
	width: auto;
	object-fit: contain;
}

.tmp-nav {
	display: flex;
	align-items: center;
	margin-inline: auto;
	flex-shrink: 1;
	min-width: 0;
}

.tmp-nav__list {
	display: flex;
	align-items: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: nowrap;
}

.tmp-nav__list > li {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tmp-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 6px 10px;
	font-size: 0.88rem;
	font-weight: 700;
	color: #1e293b;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 8px;
	transition: all 0.2s ease;
	line-height: 1.4;
}

.tmp-nav__list > li > a:hover,
.tmp-nav__list > .current-menu-item > a,
.tmp-nav__list > .current-menu-ancestor > a {
	color: var(--tmp-orange, #ff5500);
	background: rgba(255, 85, 0, 0.05);
}

/* Chevron arrow for parent items */
.tmp-nav__list > .menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg) translateY(-2px);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	margin-inline-start: 4px;
	position: static;
	background: none;
	inset-inline: auto;
	bottom: auto;
}

.tmp-nav__list > .menu-item-has-children:hover > a::after,
.tmp-nav__list > .menu-item-has-children:focus-within > a::after {
	transform: rotate(135deg) translateY(-2px);
	border-color: var(--tmp-orange, #ff5500);
}

/* Dropdown Menu (Sub-menu) */
.tmp-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 6px;
	min-width: 220px;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.04);
	list-style: none;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(6px);
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 1000;
}

/* Invisible hover bridge */
.tmp-nav__list .sub-menu::before {
	content: '';
	position: absolute;
	top: -10px;
	right: 0;
	left: 0;
	height: 10px;
}

.tmp-nav__list .menu-item-has-children:hover > .sub-menu,
.tmp-nav__list .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.tmp-nav__list .sub-menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tmp-nav__list .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 12px;
	font-size: 0.84rem;
	font-weight: 600;
	color: #334155;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
	background: transparent;
	line-height: 1.4;
}

.tmp-nav__list .sub-menu a::after {
	display: none !important;
}

.tmp-nav__list .sub-menu a:hover,
.tmp-nav__list .sub-menu .current-menu-item > a {
	background: #fff7ed;
	color: var(--tmp-orange, #ff5500);
	padding-inline-start: 16px;
}

/* Header Action Buttons */
.tmp-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.tmp-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.84rem;
	font-weight: 700;
	color: #0f172a;
	text-decoration: none;
	padding: 6px 12px;
	border: 1.5px solid #e2e8f0;
	border-radius: 9999px;
	background: #ffffff;
	white-space: nowrap;
	transition: all 0.2s ease;
	line-height: 1.3;
}

.tmp-header__phone:hover {
	border-color: var(--tmp-orange, #ff5500);
	color: var(--tmp-orange, #ff5500);
	box-shadow: 0 2px 10px rgba(255, 85, 0, 0.12);
}

.tmp-header__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 14px;
	font-size: 0.84rem;
	font-weight: 700;
	color: #ffffff;
	background: var(--tmp-orange, #ff5500);
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	line-height: 1.4;
	box-shadow: 0 4px 14px rgba(255, 85, 0, 0.32);
	transition: all 0.2s ease;
}

.tmp-header__cta-btn:hover {
	background: var(--tmp-orange-dark, #e04b00);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(255, 85, 0, 0.42);
}

/* Responsive adjustments for 1025px - 1220px (Compact Laptops) */
@media (min-width: 1025px) and (max-width: 1220px) {
	.tmp-nav__list {
		gap: 4px;
	}
	.tmp-nav__list > li > a {
		padding: 5px 7px;
		font-size: 0.82rem;
	}
	.tmp-header__phone {
		padding: 5px 10px;
		font-size: 0.78rem;
	}
	.tmp-header__cta-btn {
		padding: 6px 12px;
		font-size: 0.8rem;
	}
}

/* Mobile & Tablet Styles */
@media (max-width: 1024px) {
	.tmp-nav-toggle {
		display: flex;
	}

	.tmp-nav {
		display: none;
		position: absolute;
		top: 100%;
		inset-inline: 0;
		background: #ffffff;
		padding: 16px 20px 24px;
		border-bottom: 1px solid #e2e8f0;
		box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
		max-height: calc(100vh - 80px);
		overflow-y: auto;
	}

	.tmp-nav.is-open {
		display: block;
	}

	.tmp-nav__list {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.tmp-nav__list > li > a {
		display: flex;
		justify-content: space-between;
		padding: 10px 12px;
		font-size: 0.95rem;
	}

	.tmp-nav__list .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
		box-shadow: none;
		border: none;
		border-right: 3px solid var(--tmp-orange, #ff5500);
		background: #f8fafc;
		margin-top: 4px;
		margin-inline-start: 12px;
		border-radius: 6px;
		min-width: 0;
		padding: 6px;
	}

	.tmp-header__actions {
		display: none;
	}
}

/* ==========================================================================
   About Page Styles
   ========================================================================== */
.tmp-about-hero {
padding: var(--tmp-space-12) 0 var(--tmp-space-8);
background: linear-gradient(180deg, rgba(255, 85, 0, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
border-bottom: 1px solid var(--tmp-border-color);
margin-bottom: var(--tmp-space-8);
}
.tmp-about-hero__grid {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: var(--tmp-space-10);
align-items: center;
}
@media (max-width: 991px) {
.tmp-about-hero__grid { grid-template-columns: 1fr; }
}
.tmp-about-hero__title {
margin: var(--tmp-space-3) 0 var(--tmp-space-4);
line-height: 1.35;
}
.tmp-about-hero__desc {
font-size: var(--tmp-font-base);
color: var(--tmp-text-secondary);
line-height: 1.9;
margin-bottom: var(--tmp-space-6);
}
.tmp-about-hero__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.tmp-about-hero__img-frame {
position: relative;
border-radius: var(--tmp-radius-2xl);
overflow: hidden;
height: 380px;
box-shadow: var(--tmp-shadow-lg);
}
.tmp-about-hero__img {
width: 100%;
height: 100%;
object-fit: cover;
}
.tmp-about-hero__floating-stat {
position: absolute;
bottom: 20px;
right: 20px;
left: 20px;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border: 1px solid rgba(0, 0, 0, 0.08);
border-radius: var(--tmp-radius-xl);
padding: 14px 20px;
display: flex;
align-items: center;
gap: 16px;
box-shadow: var(--tmp-shadow-md);
}
.tmp-floating-stat__number {
font-size: 32px;
font-weight: 800;
color: var(--tmp-orange);
line-height: 1;
}
.tmp-floating-stat__label {
font-size: 12px;
font-weight: 600;
color: var(--tmp-text-main);
line-height: 1.5;
}
.tmp-metrics-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--tmp-space-4);
padding: var(--tmp-space-6);
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
box-shadow: var(--tmp-shadow-xs);
}
@media (max-width: 991px) {
.tmp-metrics-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
.tmp-metrics-grid { grid-template-columns: 1fr; }
}
.tmp-metric-card {
display: flex;
align-items: center;
gap: 14px;
padding: var(--tmp-space-3);
}
.tmp-metric-card__icon {
width: 52px;
height: 52px;
background: rgba(255, 85, 0, 0.08);
border-radius: var(--tmp-radius-lg);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.tmp-metric-card__num {
display: block;
font-size: 24px;
font-weight: 800;
color: var(--tmp-text-main);
line-height: 1.2;
}
.tmp-metric-card__label {
font-size: 11px;
color: var(--tmp-text-muted);
}
.tmp-values-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--tmp-space-6);
margin-bottom: var(--tmp-space-8);
}
@media (max-width: 991px) {
.tmp-values-grid { grid-template-columns: 1fr; }
}
.tmp-value-card {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-xl);
padding: var(--tmp-space-6);
box-shadow: var(--tmp-shadow-xs);
}
.tmp-value-card__badge {
display: inline-block;
font-size: 11px;
font-weight: 700;
color: var(--tmp-orange);
background: rgba(255, 85, 0, 0.1);
padding: 4px 12px;
border-radius: var(--tmp-radius-full);
margin-bottom: var(--tmp-space-3);
}
.tmp-value-card__badge--secondary {
color: #0284c7;
background: rgba(2, 132, 199, 0.1);
}
.tmp-value-card__badge--accent {
color: #059669;
background: rgba(5, 150, 105, 0.1);
}
.tmp-value-card h3 {
font-size: var(--tmp-font-base);
font-weight: 700;
color: var(--tmp-text-main);
margin-bottom: 8px;
}
.tmp-value-card p {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
line-height: 1.8;
margin: 0;
}
.tmp-facilities-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--tmp-space-6);
padding: var(--tmp-space-4);
}
@media (max-width: 768px) {
.tmp-facilities-grid { grid-template-columns: 1fr; }
}
.tmp-facility-item {
display: flex;
align-items: flex-start;
gap: 14px;
background: #fbfbfb;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-xl);
padding: var(--tmp-space-5);
}
.tmp-facility-item__icon {
width: 44px;
height: 44px;
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-md);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.tmp-facility-item h4 {
font-size: var(--tmp-font-sm);
font-weight: 700;
color: var(--tmp-text-main);
margin-bottom: 6px;
}
.tmp-facility-item p {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
line-height: 1.7;
margin: 0;
}
.tmp-timeline {
position: relative;
max-width: 800px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: var(--tmp-space-6);
}
.tmp-timeline::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 32px;
width: 2px;
background: var(--tmp-border-color);
}
.tmp-timeline-item {
display: flex;
align-items: flex-start;
gap: var(--tmp-space-6);
position: relative;
}
.tmp-timeline-badge {
width: 64px;
height: 64px;
background: var(--tmp-orange);
color: #ffffff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 800;
box-shadow: 0 4px 14px rgba(255, 85, 0, 0.35);
flex-shrink: 0;
z-index: 1;
}
.tmp-timeline-content {
flex: 1;
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-xl);
padding: var(--tmp-space-5);
box-shadow: var(--tmp-shadow-xs);
}
.tmp-timeline-content h4 {
font-size: var(--tmp-font-base);
font-weight: 700;
color: var(--tmp-text-main);
margin-bottom: 6px;
}
.tmp-timeline-content p {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
line-height: 1.7;
margin: 0;
}

/* ==========================================================================
   Contact Page Styles
   ========================================================================== */
.tmp-contact-hero {
padding: var(--tmp-space-12) 0 var(--tmp-space-8);
background: linear-gradient(180deg, rgba(255, 85, 0, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
border-bottom: 1px solid var(--tmp-border-color);
margin-bottom: var(--tmp-space-8);
}
.tmp-contact-channels-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--tmp-space-4);
margin-top: var(--tmp-space-6);
}
@media (max-width: 991px) {
.tmp-contact-channels-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
.tmp-contact-channels-grid { grid-template-columns: 1fr; }
}
.tmp-contact-channel-card {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-xl);
padding: var(--tmp-space-5);
text-align: center;
box-shadow: var(--tmp-shadow-xs);
}
.tmp-channel-icon {
width: 52px;
height: 52px;
margin: 0 auto var(--tmp-space-3);
background: rgba(255, 85, 0, 0.08);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.tmp-contact-channel-card h3 {
font-size: var(--tmp-font-sm);
font-weight: 700;
color: var(--tmp-text-main);
margin-bottom: 4px;
}
.tmp-contact-channel-card p {
font-size: 11px;
color: var(--tmp-text-muted);
margin-bottom: 10px;
}
.tmp-channel-link {
display: inline-block;
font-size: var(--tmp-font-xs);
font-weight: 700;
color: var(--tmp-orange);
text-decoration: none;
}
.tmp-contact-layout {
display: grid;
grid-template-columns: 1.25fr 0.75fr;
gap: var(--tmp-space-8);
margin-bottom: var(--tmp-space-8);
}
@media (max-width: 991px) {
.tmp-contact-layout { grid-template-columns: 1fr; }
}
.tmp-contact-form-wrapper {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
padding: var(--tmp-space-8);
box-shadow: var(--tmp-shadow-xs);
}
.tmp-form-header {
margin-bottom: var(--tmp-space-6);
}
.tmp-alert--success {
display: flex;
align-items: center;
gap: 10px;
background: #ecfdf5;
border: 1px solid #a7f3d0;
color: #065f46;
padding: 12px 16px;
border-radius: var(--tmp-radius-lg);
font-size: var(--tmp-font-xs);
font-weight: 600;
margin-bottom: var(--tmp-space-5);
}
.tmp-department-box,
.tmp-working-hours-box {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
padding: var(--tmp-space-6);
margin-bottom: var(--tmp-space-6);
box-shadow: var(--tmp-shadow-xs);
}
.tmp-department-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.tmp-dept-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 14px;
background: #fbfbfb;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-lg);
}
.tmp-dept-item__info {
display: flex;
flex-direction: column;
gap: 2px;
}
.tmp-dept-item__info strong {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-main);
}
.tmp-dept-item__info span {
font-size: 11px;
color: var(--tmp-text-muted);
}
.tmp-dept-call-btn {
width: 34px;
height: 34px;
border-radius: 50%;
background: #ffffff;
border: 1px solid var(--tmp-border-color);
display: flex;
align-items: center;
justify-content: center;
color: var(--tmp-orange);
transition: all 0.2s ease;
}
.tmp-dept-call-btn:hover {
background: var(--tmp-orange);
border-color: var(--tmp-orange);
color: #ffffff;
}
.tmp-hours-row {
display: flex;
justify-content: space-between;
padding: 8px 0;
border-bottom: 1px solid var(--tmp-border-color);
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
}
.tmp-hours-row--highlight {
border-bottom: none;
margin-top: 6px;
padding-top: 10px;
color: #059669;
font-weight: 700;
display: flex;
align-items: center;
gap: 8px;
}
.tmp-location-card {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
overflow: hidden;
display: grid;
grid-template-columns: 1fr 1fr;
box-shadow: var(--tmp-shadow-xs);
margin-bottom: var(--tmp-space-8);
}
@media (max-width: 991px) {
.tmp-location-card { grid-template-columns: 1fr; }
}
.tmp-location-card__content {
padding: var(--tmp-space-8);
}
.tmp-location-address {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: var(--tmp-font-sm);
font-weight: 600;
color: var(--tmp-text-main);
line-height: 1.7;
margin: var(--tmp-space-4) 0;
}
.tmp-location-directions {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
line-height: 1.8;
margin-bottom: var(--tmp-space-6);
}
.tmp-map-routing-buttons {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

/* ==========================================================================
   Services Hub Styles
   ========================================================================== */
.tmp-services-hero {
padding: var(--tmp-space-12) 0 var(--tmp-space-8);
background: linear-gradient(180deg, rgba(255, 85, 0, 0.05) 0%, rgba(255, 255, 255, 0) 100%);
border-bottom: 1px solid var(--tmp-border-color);
margin-bottom: var(--tmp-space-8);
}
.tmp-services-hero__badges {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--tmp-space-4);
margin-top: var(--tmp-space-6);
}
.tmp-services-hub-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--tmp-space-6);
margin-bottom: var(--tmp-space-8);
}
@media (max-width: 768px) {
.tmp-services-hub-grid { grid-template-columns: 1fr; }
}
.tmp-service-hub-card {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
padding: var(--tmp-space-8);
display: flex;
flex-direction: column;
transition: all 0.25s ease;
box-shadow: var(--tmp-shadow-xs);
}
.tmp-service-hub-card:hover {
transform: translateY(-4px);
border-color: rgba(255, 85, 0, 0.4);
box-shadow: var(--tmp-shadow-md);
}
.tmp-service-hub-card__top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: var(--tmp-space-4);
}
.tmp-service-hub-card__icon-wrap {
width: 56px;
height: 56px;
background: rgba(255, 85, 0, 0.08);
border-radius: var(--tmp-radius-xl);
display: flex;
align-items: center;
justify-content: center;
}
.tmp-service-hub-card__badge {
font-size: 11px;
font-weight: 700;
color: var(--tmp-orange);
background: #fff7f2;
padding: 4px 12px;
border-radius: var(--tmp-radius-full);
border: 1px solid rgba(255, 85, 0, 0.15);
}
.tmp-service-hub-card__title {
font-size: var(--tmp-font-md);
font-weight: 700;
margin-bottom: var(--tmp-space-3);
}
.tmp-service-hub-card__title a {
color: var(--tmp-text-main);
text-decoration: none;
transition: color 0.2s ease;
}
.tmp-service-hub-card__title a:hover {
color: var(--tmp-orange);
}
.tmp-service-hub-card__desc {
font-size: var(--tmp-font-sm);
color: var(--tmp-text-secondary);
line-height: 1.8;
margin-bottom: var(--tmp-space-5);
flex: 1;
}
.tmp-service-hub-card__bullets {
list-style: none;
padding: 0;
margin: 0 0 var(--tmp-space-6) 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.tmp-service-hub-card__bullets li {
display: flex;
align-items: center;
gap: 8px;
font-size: var(--tmp-font-xs);
font-weight: 600;
color: var(--tmp-text-main);
}
.tmp-brands-section {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-2xl);
padding: var(--tmp-space-8);
margin-bottom: var(--tmp-space-8);
box-shadow: var(--tmp-shadow-xs);
}
.tmp-brands-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 12px;
margin-top: var(--tmp-space-6);
}
.tmp-brand-pill {
background: #fbfbfb;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-md);
padding: 10px 18px;
font-size: var(--tmp-font-xs);
font-weight: 700;
color: var(--tmp-text-secondary);
transition: all 0.2s ease;
}
.tmp-brand-pill:hover {
border-color: var(--tmp-orange);
color: var(--tmp-orange);
background: #ffffff;
}

/* ==========================================================================
   Video & Gallery Styles
   ========================================================================== */
.tmp-video-grid,
.tmp-gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--tmp-space-6);
margin-bottom: var(--tmp-space-8);
}
@media (max-width: 991px) {
.tmp-video-grid,
.tmp-gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
.tmp-video-grid,
.tmp-gallery-grid { grid-template-columns: 1fr; }
}
.tmp-video-card,
.tmp-gallery-card {
background: #ffffff;
border: 1px solid var(--tmp-border-color);
border-radius: var(--tmp-radius-xl);
overflow: hidden;
display: flex;
flex-direction: column;
transition: all 0.25s ease;
box-shadow: var(--tmp-shadow-xs);
}
.tmp-video-card:hover,
.tmp-gallery-card:hover {
transform: translateY(-4px);
box-shadow: var(--tmp-shadow-md);
border-color: rgba(255, 85, 0, 0.4);
}
.tmp-video-card__media,
.tmp-gallery-card__media {
position: relative;
height: 200px;
overflow: hidden;
background: #111;
}
.tmp-video-card__thumb-link,
.tmp-gallery-card__img-link {
display: block;
width: 100%;
height: 100%;
}
.tmp-video-card__img,
.tmp-gallery-card__img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.4s ease;
}
.tmp-video-card:hover .tmp-video-card__img,
.tmp-gallery-card:hover .tmp-gallery-card__img {
transform: scale(1.05);
}
.tmp-video-play-badge {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 52px;
height: 52px;
background: rgba(255, 85, 0, 0.9);
color: #ffffff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
transition: transform 0.2s ease;
}
.tmp-video-card:hover .tmp-video-play-badge {
transform: translate(-50%, -50%) scale(1.1);
}
.tmp-video-duration {
position: absolute;
bottom: 10px;
left: 10px;
background: rgba(0, 0, 0, 0.75);
color: #ffffff;
padding: 2px 8px;
border-radius: var(--tmp-radius-sm);
font-size: 11px;
font-weight: 600;
}
.tmp-video-card__body,
.tmp-gallery-card__body {
padding: var(--tmp-space-5);
flex: 1;
display: flex;
flex-direction: column;
}
.tmp-video-card__title,
.tmp-gallery-card__title {
font-size: var(--tmp-font-sm);
font-weight: 700;
margin-bottom: 6px;
line-height: 1.4;
}
.tmp-video-card__title a,
.tmp-gallery-card__title a {
color: var(--tmp-text-main);
text-decoration: none;
transition: color 0.2s ease;
}
.tmp-video-card__title a:hover,
.tmp-gallery-card__title a:hover {
color: var(--tmp-orange);
}
.tmp-video-card__excerpt,
.tmp-gallery-card__excerpt {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-secondary);
line-height: 1.6;
margin-bottom: var(--tmp-space-4);
flex: 1;
}
.tmp-gallery-card__overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.4);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: opacity 0.25s ease;
}
.tmp-gallery-card:hover .tmp-gallery-card__overlay {
opacity: 1;
}
.tmp-gallery-card__btn {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--tmp-font-xs);
font-weight: 700;
color: var(--tmp-orange);
text-decoration: none;
}
.tmp-single-video-layout,
.tmp-single-gallery-layout {
background: transparent;
border: 0;
border-radius: 0;
overflow: visible;
box-shadow: none;
margin-bottom: var(--tmp-space-8);
}
.tmp-single-gallery-layout {
background: #ffffff;
border: 1px solid var(--tmp-border-color, #e2e8f0);
border-radius: var(--tmp-radius-2xl, 20px);
overflow: hidden;
box-shadow: var(--tmp-shadow-xs, 0 4px 16px rgba(15,23,42,.06));
}
.tmp-video-player-frame {
background: transparent;
max-height: none;
display: block;
position: relative;
overflow: visible;
margin-bottom: var(--tmp-space-4, 32px);
}
.tmp-video-fallback-player {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
border-radius: 18px;
overflow: hidden;
background: #0b1220;
}
.tmp-video-poster-img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.85;
}
.tmp-video-player-overlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.35);
}
.tmp-video-play-badge--lg {
width: 72px;
height: 72px;
}
.tmp-video-details,
.tmp-gallery-content {
padding: var(--tmp-space-6, 48px);
}
.tmp-video-details {
background: #ffffff;
border: 1px solid var(--tmp-border-color, #e2e8f0);
border-radius: 18px;
box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}
.tmp-video-details__meta {
display: flex;
align-items: center;
gap: 12px;
font-size: var(--tmp-font-xs);
color: var(--tmp-text-muted);
margin-bottom: var(--tmp-space-3);
}
.tmp-video-duration-pill {
display: inline-flex;
align-items: center;
gap: 4px;
background: #f8f9fa;
padding: 4px 10px;
border-radius: var(--tmp-radius-full);
color: var(--tmp-orange);
font-weight: 700;
}
.tmp-video-title {
margin-bottom: var(--tmp-space-4);
color: var(--tmp-text-main);
}
.tmp-video-desc {
font-size: var(--tmp-font-base);
line-height: 1.9;
color: var(--tmp-text-secondary);
margin-bottom: var(--tmp-space-6);
}
.tmp-video-actions,
.tmp-gallery-footer {
display: flex;
flex-wrap: wrap;
gap: 12px;
padding-top: var(--tmp-space-4);
border-top: 1px solid var(--tmp-border-color);
}
.tmp-gallery-header {
padding: var(--tmp-space-8) var(--tmp-space-8) var(--tmp-space-4);
}
.tmp-gallery-date {
font-size: var(--tmp-font-xs);
color: var(--tmp-text-muted);
margin-top: 6px;
display: block;
}
.tmp-gallery-hero-image {
padding: 0 var(--tmp-space-8) var(--tmp-space-8);
}
.tmp-gallery-full-img {
width: 100%;
height: auto;
border-radius: var(--tmp-radius-xl);
box-shadow: var(--tmp-shadow-md);
}
.tmp-gallery-footer {
margin-top: 10px;
justify-content: center;
padding: var(--tmp-space-6);
}

.tmp-pill-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 9999px;
	border: 1px solid var(--tmp-border-color, #e2e8f0);
	background: #ffffff;
	color: var(--tmp-text-secondary, #475569);
	font-size: var(--tmp-font-xs, 0.85rem);
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}
.tmp-pill-btn:hover {
	border-color: var(--tmp-orange);
	color: var(--tmp-orange);
}
.tmp-pill-btn.is-active {
	background: var(--tmp-orange);
	border-color: var(--tmp-orange);
	color: #ffffff;
	box-shadow: 0 4px 14px rgba(242, 101, 34, 0.25);
}
.tmp-pill-btn__count {
	font-weight: 600;
	opacity: 0.85;
}

.tmp-gallery-card__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: var(--tmp-orange);
	text-decoration: none;
	margin-bottom: 6px;
}
.tmp-gallery-card__count {
	position: absolute;
	bottom: 10px;
	left: 10px;
	background: rgba(0, 0, 0, 0.75);
	color: #ffffff;
	padding: 2px 8px;
	border-radius: var(--tmp-radius-sm);
	font-size: 11px;
	font-weight: 600;
}
.tmp-gallery-term-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-bottom: var(--tmp-space-4);
}

.tmp-gallery-album-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding: 0 var(--tmp-space-6) var(--tmp-space-6);
}
@media (min-width: 768px) {
	.tmp-gallery-album-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
		padding: 0 var(--tmp-space-8) var(--tmp-space-8);
	}
}
.tmp-gallery-album-item {
	margin: 0;
	border-radius: var(--tmp-radius-xl);
	overflow: hidden;
	background: #0f172a;
}
.tmp-gallery-album-item:first-child {
	grid-column: 1 / -1;
}
.tmp-gallery-album-link {
	display: block;
	line-height: 0;
}
.tmp-gallery-album-img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}
.tmp-gallery-album-item:first-child .tmp-gallery-album-img {
	aspect-ratio: 16 / 9;
}
.tmp-gallery-album-link:hover .tmp-gallery-album-img {
	transform: scale(1.03);
}
.tmp-gallery-album-caption {
	padding: 8px 12px;
	font-size: var(--tmp-font-xs);
	color: #e2e8f0;
	background: #1e293b;
}

.tmp-video-embed-container {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #0b1220;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.22);
}
.tmp-video-embed-container iframe,
.tmp-video-embed-container video,
.tmp-video-native {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	background: #000;
}
.tmp-video-player-frame {
	max-height: none;
}
.tmp-video-card__footer {
	margin-top: auto;
}

/* --------------------------------------------------------------------------
   Plyr video player (branded)
   -------------------------------------------------------------------------- */
.tmp-plyr-wrap {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	background: #0b1220;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.06) inset,
		0 22px 60px rgba(15, 23, 42, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.08);
}
.tmp-plyr-wrap .plyr {
	--plyr-color-main: var(--tmp-orange, #ff5500);
	--plyr-video-control-color: #fff;
	--plyr-video-control-background-hover: var(--tmp-orange, #ff5500);
	--plyr-audio-control-background-hover: var(--tmp-orange, #ff5500);
	--plyr-range-fill-background: var(--tmp-orange, #ff5500);
	--plyr-video-background: #0b1220;
	--plyr-menu-background: rgba(15, 23, 42, 0.96);
	--plyr-menu-color: #fff;
	border-radius: 20px;
	overflow: hidden;
}
.tmp-plyr-wrap .plyr--video {
	background: #0b1220;
}
.tmp-plyr-wrap .plyr__control--overlaid {
	background: rgba(255, 85, 0, 0.95);
	padding: 22px;
	box-shadow: 0 0 0 10px rgba(255, 85, 0, 0.16), 0 14px 36px rgba(0, 0, 0, 0.35);
}
.tmp-plyr-wrap .plyr__control--overlaid:hover,
.tmp-plyr-wrap .plyr__control--overlaid:focus {
	background: #ff6a1a;
}
.tmp-plyr-wrap .plyr__controls {
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.78));
	padding: 12px 14px 10px;
}
@media (max-width: 640px) {
	.tmp-plyr-wrap,
	.tmp-plyr-wrap .plyr {
		border-radius: 14px;
	}
	.tmp-video-details {
		padding: var(--tmp-space-4, 32px) var(--tmp-space-3, 24px);
	}
}

/* ==========================================================================
   Homepage Latest News & Articles Component (B2B Sharp Light)
   ========================================================================== */
.tmp-home-news {
	background: #f8fafc;
	border-top: 1px solid var(--tmp-border, #e2e8f0);
	border-bottom: 1px solid var(--tmp-border, #e2e8f0);
	padding: 5rem 0;
}

.tmp-home-news__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 2.75rem;
}

.tmp-home-news__header-content {
	max-width: 680px;
}

.tmp-home-news__title {
	font-size: 2rem;
	font-weight: 800;
	color: #0f172a;
	line-height: 1.35;
	margin: 0.5rem 0 0.75rem;
}

.tmp-home-news__subtitle {
	font-size: 1rem;
	color: #64748b;
	line-height: 1.7;
	margin: 0;
}

.tmp-home-news__all-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	border: 1.5px solid #cbd5e1;
	color: #0f172a;
	padding: 10px 22px;
	border-radius: 8px;
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.tmp-home-news__all-btn:hover {
	border-color: var(--tmp-orange, #ff5500);
	color: var(--tmp-orange, #ff5500);
	background: #fff7ed;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(255, 85, 0, 0.15);
}

.tmp-home-news__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.tmp-home-news-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(15, 23, 42, 0.04);
	display: flex;
	flex-direction: column;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
}

.tmp-home-news-card:hover {
	transform: translateY(-6px);
	border-color: #cbd5e1;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
}

.tmp-home-news-card__thumb-wrap {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #0f172a;
}

.tmp-home-news-card__thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}

.tmp-home-news-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.tmp-home-news-card:hover .tmp-home-news-card__img {
	transform: scale(1.05);
}

.tmp-home-news-card__category {
	position: absolute;
	top: 12px;
	right: 12px;
	background: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(8px);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 9999px;
	text-decoration: none;
	z-index: 2;
	transition: background 0.2s ease;
}

.tmp-home-news-card__category:hover {
	background: var(--tmp-orange, #ff5500);
	color: #ffffff;
}

.tmp-home-news-card__read-badge {
	position: absolute;
	bottom: 12px;
	left: 12px;
	background: rgba(0, 0, 0, 0.65);
	backdrop-filter: blur(8px);
	color: #ffffff;
	font-size: 0.74rem;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	z-index: 2;
}

.tmp-home-news-card__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.tmp-home-news-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.78rem;
	color: #94a3b8;
	margin-bottom: 12px;
}

.tmp-home-news-card__date,
.tmp-home-news-card__author {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.tmp-home-news-card__title {
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.55;
	margin: 0 0 10px;
	color: #0f172a;
}

.tmp-home-news-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.tmp-home-news-card__title a:hover {
	color: var(--tmp-orange, #ff5500);
}

.tmp-home-news-card__excerpt {
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.7;
	margin: 0 0 18px;
	flex-grow: 1;
}

.tmp-home-news-card__footer {
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.tmp-home-news-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--tmp-orange, #ff5500);
	text-decoration: none;
	transition: gap 0.2s ease, color 0.2s ease;
}

.tmp-home-news-card__link:hover {
	gap: 10px;
	color: var(--tmp-orange-dark, #e04b00);
}

.tmp-home-news__mobile-cta {
	display: none;
	margin-top: 2rem;
	text-align: center;
}

@media (max-width: 991px) {
	.tmp-home-news__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}
	.tmp-home-news__title {
		font-size: 1.65rem;
	}
}

@media (max-width: 768px) {
	.tmp-home-news {
		padding: 3.5rem 0;
	}
	.tmp-home-news__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 2rem;
	}
	.tmp-home-news__header-action {
		display: none;
	}
	.tmp-home-news__mobile-cta {
		display: block;
	}
	.tmp-home-news__grid {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

/* ==========================================================================
   Breadcrumbs Component (Sharp Light Minimal B2B)
   ========================================================================== */
.tmp-breadcrumbs {
	margin: 1.5rem 0 2rem;
	padding: 0.75rem 1.25rem;
	background: #ffffff;
	border: 1px solid var(--tmp-border, #e2e8f0);
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.03);
	display: inline-flex;
	max-width: 100%;
}

.tmp-breadcrumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.88rem;
	line-height: 1.4;
}

.tmp-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	color: #64748b;
	font-weight: 500;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.tmp-breadcrumbs__item a {
	color: #334155;
	text-decoration: none;
	transition: color 0.2s ease;
	display: inline-flex;
	align-items: center;
}

.tmp-breadcrumbs__item a:hover {
	color: var(--tmp-orange, #ff5500);
}

.tmp-breadcrumbs__sep {
	display: inline-flex;
	align-items: center;
	color: #94a3b8;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	user-select: none;
}

.tmp-breadcrumbs__sep svg {
	display: block;
	transform: rotate(0deg);
}

.tmp-breadcrumbs__item.is-active,
.tmp-breadcrumbs__item[aria-current="page"] {
	color: var(--tmp-orange, #ff5500);
	font-weight: 700;
	max-width: 420px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.tmp-breadcrumbs {
		margin: 1rem 0 1.5rem;
		padding: 0.6rem 0.9rem;
		width: 100%;
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.tmp-breadcrumbs__list {
		flex-wrap: nowrap;
		gap: 6px;
	}
	.tmp-breadcrumbs__item.is-active {
		max-width: 220px;
	}
}

/* ==========================================================================
   Table of Contents (TOC) for Articles
   ========================================================================== */
.tmp-toc {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 10px 16px;
	margin: 14px 0 22px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03);
	transition: all 0.2s ease;
}

.tmp-toc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.tmp-toc__title-wrap {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.tmp-toc__icon {
	color: var(--tmp-orange, #f26522);
	flex-shrink: 0;
}

.tmp-toc__title {
	font-size: 0.86rem;
	font-weight: 700;
	color: #1e293b;
	margin: 0;
	line-height: 1.3;
}

.tmp-toc__count-badge {
	font-size: 0.72rem;
	font-weight: 600;
	color: #64748b;
	background: #edf2f7;
	padding: 1px 7px;
	border-radius: 9999px;
	line-height: 1.4;
}

.tmp-toc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 2px 7px;
	font-family: inherit;
	font-size: 0.76rem;
	font-weight: 600;
	color: #64748b;
	cursor: pointer;
	transition: all 0.2s ease;
}

.tmp-toc__toggle:hover {
	background: #edf2f7;
	color: var(--tmp-orange, #f26522);
}

.tmp-toc__toggle-chevron {
	transition: transform 0.2s ease;
}

.tmp-toc.is-collapsed .tmp-toc__toggle-chevron {
	transform: rotate(180deg);
}

.tmp-toc.is-collapsed .tmp-toc__body {
	display: none;
}

.tmp-toc__body {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #edf2f7;
	animation: tmpFadeIn 0.2s ease;
}

.tmp-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 4px 14px;
}

.tmp-toc__item {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.tmp-toc__item--h3 {
	padding-right: 10px;
}

.tmp-toc__item--h4 {
	padding-right: 18px;
}

.tmp-toc__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	color: #475569;
	font-size: 0.83rem;
	font-weight: 500;
	line-height: 1.4;
	border-radius: 6px;
	padding: 3px 6px;
	transition: all 0.18s ease;
	width: 100%;
	box-sizing: border-box;
}

.tmp-toc__link:hover {
	color: var(--tmp-orange, #f26522);
	background: rgba(242, 101, 34, 0.05);
}

.tmp-toc__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	border-radius: 4px;
	background: #edf2f7;
	color: #64748b;
	font-size: 0.7rem;
	font-weight: 700;
	flex-shrink: 0;
	transition: all 0.18s ease;
}

.tmp-toc__link:hover .tmp-toc__badge {
	background: var(--tmp-orange, #f26522);
	color: #ffffff;
}

.tmp-toc__text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Heading scroll anchor target positioning */
html {
	scroll-behavior: smooth;
}

.tmp-toc-heading,
[id^="toc-item-"] {
	scroll-margin-top: 110px;
}

@keyframes tmpFadeIn {
	from {
		opacity: 0;
		transform: translateY(-3px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 768px) {
	.tmp-toc {
		padding: 8px 12px;
		margin: 12px 0 18px;
	}
	.tmp-toc__list {
		grid-template-columns: 1fr;
		gap: 3px;
	}
	.tmp-toc__title {
		font-size: 0.82rem;
	}
	.tmp-toc__link {
		font-size: 0.8rem;
	}
}

/* ==========================================================================
   Separ Filter Official Representation Landing Page (Modern Animated UI)
   ========================================================================== */

/* Keyframe Animations */
@keyframes tmpFloatHero {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

@keyframes tmpPulseDot {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
	}
	70% {
		transform: scale(1);
		box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
	}
	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
	}
}

@keyframes tmpVortexSpin {
	0% {
		transform: rotate(0deg) scale(1);
		opacity: 0.8;
	}
	50% {
		transform: rotate(180deg) scale(1.05);
		opacity: 1;
	}
	100% {
		transform: rotate(360deg) scale(1);
		opacity: 0.8;
	}
}

@keyframes tmpDropletFall {
	0% {
		top: 15%;
		opacity: 0;
		transform: translateX(-50%) scale(0.6);
	}
	30% {
		opacity: 1;
		transform: translateX(-50%) scale(1);
	}
	80% {
		opacity: 0.9;
	}
	100% {
		top: 82%;
		opacity: 0;
		transform: translateX(-50%) scale(0.8);
	}
}

@keyframes tmpButtonSheen {
	0% {
		left: -100%;
	}
	20% {
		left: 100%;
	}
	100% {
		left: 100%;
	}
}

@keyframes tmpFormSpotlight {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 85, 0, 0.5), 0 10px 40px rgba(0, 0, 0, 0.08);
		border-color: #ff5500;
	}
	50% {
		box-shadow: 0 0 0 10px rgba(255, 85, 0, 0.15), 0 15px 45px rgba(255, 85, 0, 0.2);
		border-color: #ff5500;
	}
	100% {
		box-shadow: 0 10px 40px -5px rgba(0, 0, 0, 0.05);
		border-color: #e2e8f0;
	}
}

/* Scroll Reveal Utility */
.tmp-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.tmp-reveal.tmp-is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Hero Section */
.tmp-separ-hero {
	padding: 45px;
	margin-bottom: 35px;
	border-radius: var(--tmp-radius-xl, 24px);
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 250, 252, 0.92) 100%);
	border: 1px solid rgba(226, 232, 240, 0.85);
	box-shadow: 0 12px 35px -5px rgba(15, 23, 42, 0.04);
}

.tmp-separ-hero__ambient-glow {
	position: absolute;
	top: -120px;
	right: -100px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 85, 0, 0.12) 0%, rgba(255, 85, 0, 0.02) 65%, transparent 75%);
	filter: blur(40px);
	pointer-events: none;
	z-index: 0;
}

.tmp-separ-hero__grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	position: relative;
	z-index: 1;
}

.tmp-separ-hero__badge-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.tmp-separ-hero__flag-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	border: 1px solid rgba(203, 213, 225, 0.8);
	border-radius: 9999px;
	padding: 5px 14px;
	font-size: 0.82rem;
	font-weight: 700;
	color: #0f172a;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.tmp-flag-emoji {
	font-size: 1.1rem;
	line-height: 1;
}

.tmp-live-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #10b981;
	display: inline-block;
	animation: tmpPulseDot 2s infinite;
}

.tmp-live-text {
	color: #059669;
	font-size: 0.78rem;
	font-weight: 600;
}

.tmp-separ-hero__logo-wrap {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.tmp-separ-hero__logo {
	max-height: 48px;
	width: auto;
	object-fit: contain;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
}

.tmp-separ-hero__official-tag {
	font-size: 0.82rem;
	font-weight: 700;
	color: #ff5500;
	background: rgba(255, 85, 0, 0.08);
	border: 1px solid rgba(255, 85, 0, 0.2);
	padding: 5px 12px;
	border-radius: 8px;
}

.tmp-separ-hero__title {
	font-size: 1.95rem;
	line-height: 1.35;
	margin-bottom: 16px;
	color: var(--tmp-text-main, #0f172a);
	font-weight: 900;
}

.tmp-separ-hero__lead {
	font-size: 1.02rem;
	color: var(--tmp-text-secondary, #475569);
	line-height: 1.78;
	margin-bottom: 24px;
}

.tmp-separ-hero__key-points {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 28px;
}

.tmp-separ-point {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #334155;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(226, 232, 240, 0.8);
	padding: 8px 12px;
	border-radius: 10px;
	transition: all 0.25s ease;
}

.tmp-separ-point:hover {
	border-color: #ff5500;
	background: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 85, 0, 0.08);
}

.tmp-separ-point__icon {
	width: 26px;
	height: 26px;
	border-radius: 6px;
	background: rgba(16, 185, 129, 0.12);
	color: #059669;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.tmp-separ-hero__ctas {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.tmp-btn--animated {
	position: relative;
	overflow: hidden;
}

.tmp-btn--animated::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -100%;
	width: 60px;
	height: 200%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	transform: rotate(25deg);
	animation: tmpButtonSheen 4.5s infinite;
}

.tmp-separ-hero__img-frame {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 16px 40px -8px rgba(15, 23, 42, 0.16);
	border: 3px solid rgba(255, 255, 255, 0.8);
	transition: transform 0.3s ease;
}

.tmp-separ-hero__img-frame:hover {
	transform: scale(1.015);
}

.tmp-separ-hero__main-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.tmp-badge-floating {
	position: absolute;
	bottom: 18px;
	right: 18px;
	background: rgba(15, 23, 42, 0.88);
	backdrop-filter: blur(10px);
	padding: 10px 18px;
	border-radius: 12px;
	color: #ffffff;
	border: 1px solid rgba(255, 85, 0, 0.35);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	animation: tmpFloatHero 4s ease-in-out infinite;
	z-index: 2;
}

.tmp-separ-badge-title {
	display: block;
	font-size: 0.88rem;
	font-weight: 800;
	color: #ff5500;
}

.tmp-separ-badge-desc {
	display: block;
	font-size: 0.74rem;
	color: #cbd5e1;
	margin-top: 2px;
}

/* Metric Highlights Strip */
.tmp-separ-metrics-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 50px;
}

.tmp-metric-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 22px 18px;
	text-align: center;
	transition: all 0.3s ease;
	position: relative;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.tmp-metric-card:hover {
	transform: translateY(-4px);
	border-color: #ff5500;
	box-shadow: 0 12px 28px rgba(255, 85, 0, 0.1);
}

.tmp-metric-card__num-wrap {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	margin-bottom: 6px;
}

.tmp-metric-card__num {
	font-size: 2.1rem;
	font-weight: 900;
	color: #ff5500;
	line-height: 1;
	font-family: inherit;
}

.tmp-metric-card__unit {
	font-size: 1.05rem;
	font-weight: 800;
	color: #ff5500;
}

.tmp-metric-card__title {
	font-size: 0.94rem;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 4px;
}

.tmp-metric-card__sub {
	font-size: 0.78rem;
	color: #64748b;
	line-height: 1.5;
	margin: 0;
}

/* Interactive Centrifugal Visualizer */
.tmp-separ-visualizer {
	background: #0f172a;
	border: 1px solid #1e293b;
	border-radius: 20px;
	padding: 28px;
	color: #ffffff;
	box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.5);
	position: relative;
	overflow: hidden;
}

.tmp-visualizer-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 18px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.tmp-visualizer-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.05rem;
	font-weight: 800;
	color: #ffffff;
}

.tmp-visualizer-nav {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.tmp-vis-step-btn {
	background: rgba(255, 255, 255, 0.08);
	color: #cbd5e1;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	padding: 6px 14px;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
}

.tmp-vis-step-btn:hover {
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	border-color: #ff5500;
}

.tmp-vis-step-btn.is-active {
	background: #ff5500;
	color: #ffffff;
	border-color: #ff5500;
	box-shadow: 0 4px 14px rgba(255, 85, 0, 0.4);
}

.tmp-visualizer-body {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 30px;
	align-items: center;
}

.tmp-visualizer-display {
	background: #020617;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 16px;
	height: 220px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.tmp-vis-sim-box {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tmp-vortex-ring {
	position: absolute;
	border-radius: 50%;
	border: 2px dashed rgba(255, 85, 0, 0.45);
	animation: tmpVortexSpin 6s linear infinite;
}

.tmp-vortex-1 {
	width: 140px;
	height: 140px;
	animation-duration: 4s;
}

.tmp-vortex-2 {
	width: 95px;
	height: 95px;
	border-color: rgba(56, 189, 248, 0.55);
	animation-duration: 3s;
	animation-direction: reverse;
}

.tmp-vortex-3 {
	width: 50px;
	height: 50px;
	border-color: rgba(255, 255, 255, 0.7);
	animation-duration: 2s;
}

.tmp-droplet {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #38bdf8;
	box-shadow: 0 0 8px #38bdf8;
	animation: tmpDropletFall 2.8s ease-in infinite;
}

.droplet-1 { left: 45%; animation-delay: 0s; }
.droplet-2 { left: 55%; animation-delay: 1.1s; }
.droplet-3 { left: 50%; animation-delay: 2.1s; }

.tmp-pure-fuel-stream {
	position: absolute;
	top: 10px;
	width: 6px;
	height: 40px;
	background: linear-gradient(to top, rgba(255, 85, 0, 0.2), #ff5500);
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(255, 85, 0, 0.8);
}

.tmp-vis-bowl-label {
	position: absolute;
	bottom: 8px;
	font-size: 0.72rem;
	color: #94a3b8;
	background: rgba(15, 23, 42, 0.8);
	padding: 2px 10px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.tmp-visualizer-info {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tmp-vis-step-badge {
	font-size: 0.78rem;
	font-weight: 800;
	color: #ff5500;
	background: rgba(255, 85, 0, 0.15);
	display: inline-block;
	padding: 3px 10px;
	border-radius: 6px;
	width: fit-content;
}

.tmp-vis-step-heading {
	font-size: 1.28rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0;
}

.tmp-vis-step-desc {
	font-size: 0.94rem;
	color: #cbd5e1;
	line-height: 1.75;
	margin: 0;
}

.tmp-vis-step-stat {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.84rem;
	color: #10b981;
	background: rgba(16, 185, 129, 0.1);
	border: 1px solid rgba(16, 185, 129, 0.2);
	padding: 8px 12px;
	border-radius: 8px;
	font-weight: 600;
}

/* 5 Stages Grid */
.tmp-separ-stages-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px;
	position: relative;
}

.tmp-stage-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 20px 16px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
	position: relative;
	transition: all 0.28s ease;
	cursor: pointer;
}

.tmp-stage-card:hover,
.tmp-stage-card.is-highlighted {
	transform: translateY(-4px);
	border-color: #ff5500;
	box-shadow: 0 10px 25px rgba(255, 85, 0, 0.12);
}

.tmp-stage-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.tmp-stage-card__num {
	font-size: 1.8rem;
	font-weight: 900;
	color: rgba(255, 85, 0, 0.35);
	line-height: 1;
}

.tmp-stage-card:hover .tmp-stage-card__num,
.tmp-stage-card.is-highlighted .tmp-stage-card__num {
	color: #ff5500;
}

.tmp-stage-card__pill {
	font-size: 0.72rem;
	font-weight: 700;
	background: #f1f5f9;
	color: #475569;
	padding: 2px 8px;
	border-radius: 4px;
}

.tmp-stage-card__title {
	font-size: 0.94rem;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 6px;
}

.tmp-stage-card p {
	font-size: 0.82rem;
	color: #64748b;
	line-height: 1.6;
	margin: 0;
}

/* Category Filter Tabs */
.tmp-separ-filter-tabs {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 30px;
	flex-wrap: wrap;
}

.tmp-filter-tab {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 9999px;
	padding: 7px 18px;
	font-size: 0.86rem;
	font-weight: 700;
	color: #475569;
	cursor: pointer;
	transition: all 0.22s ease;
	font-family: inherit;
}

.tmp-filter-tab:hover {
	border-color: #ff5500;
	color: #ff5500;
	background: rgba(255, 85, 0, 0.04);
}

.tmp-filter-tab.is-active {
	background: #ff5500;
	color: #ffffff;
	border-color: #ff5500;
	box-shadow: 0 4px 14px rgba(255, 85, 0, 0.25);
}

/* Product Catalog Grid */
.tmp-separ-catalog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 25px;
}

.tmp-separ-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	display: flex;
	flex-direction: column;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.tmp-separ-card:hover {
	transform: translateY(-5px);
	border-color: #cbd5e1;
	box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
}

.tmp-separ-card__media {
	position: relative;
	background: #f8fafc;
	height: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	border-bottom: 1px solid #f1f5f9;
}

.tmp-separ-card__img {
	max-height: 190px;
	max-width: 100%;
	object-fit: contain;
	transition: transform 0.35s ease;
}

.tmp-separ-card:hover .tmp-separ-card__img {
	transform: scale(1.06);
}

.tmp-separ-card__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	background: rgba(15, 23, 42, 0.88);
	color: #ffffff;
	font-size: 0.74rem;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 9999px;
	backdrop-filter: blur(4px);
}

.tmp-separ-card__badge--accent {
	background: #ff5500;
}

.tmp-separ-card__content {
	padding: 22px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.tmp-separ-card__title {
	font-size: 1.15rem;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 8px;
}

.tmp-separ-card__desc {
	font-size: 0.88rem;
	color: #64748b;
	line-height: 1.6;
	margin-bottom: 16px;
}

.tmp-separ-card__specs {
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 0.84rem;
	color: #475569;
	border-top: 1px dashed #e2e8f0;
	padding-top: 14px;
}

.tmp-separ-card__specs strong {
	color: #0f172a;
}

.tmp-separ-card .tmp-btn {
	margin-top: auto;
}

/* Modern Comparison Specifications Table */
.tmp-spec-table--modern {
	width: 100%;
	text-align: center;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.88rem;
}

.tmp-spec-table--modern th {
	background: #0f172a;
	color: #ffffff;
	padding: 14px 12px;
	font-weight: 700;
	font-size: 0.86rem;
}

.tmp-spec-table--modern th:first-child {
	border-top-right-radius: 10px;
}

.tmp-spec-table--modern th:last-child {
	border-top-left-radius: 10px;
}

.tmp-spec-table--modern td {
	padding: 13px 12px;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
	vertical-align: middle;
}

.tmp-spec-table--modern tr:hover td {
	background: #f8fafc;
}

.tmp-spec-row-highlight td {
	background: rgba(255, 85, 0, 0.03);
}

.tmp-model-tag {
	color: #ff5500;
	font-weight: 800;
	display: block;
}

.tmp-badge-recommended {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	color: #059669;
	background: rgba(16, 185, 129, 0.12);
	padding: 2px 8px;
	border-radius: 4px;
	margin-top: 4px;
}

.tmp-btn-table-action {
	display: inline-block;
	background: #ff5500;
	color: #ffffff;
	font-size: 0.76rem;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 6px;
	text-decoration: none;
	transition: background 0.2s ease;
}

.tmp-btn-table-action:hover {
	background: #e04b00;
	color: #ffffff;
}

/* Inquiry Form Card */
.tmp-separ-form-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 22px;
	padding: 40px;
	max-width: 900px;
	margin: 0 auto;
	box-shadow: 0 10px 40px -5px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
}

.tmp-form-spotlight {
	animation: tmpFormSpotlight 2.2s ease-out;
}

.tmp-selected-model-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 85, 0, 0.1);
	border: 1px solid rgba(255, 85, 0, 0.3);
	color: #ff5500;
	font-size: 0.84rem;
	font-weight: 800;
	padding: 6px 16px;
	border-radius: 9999px;
	margin-top: 14px;
}

.tmp-selected-model-pill__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ff5500;
}

.tmp-separ-form-card .tmp-input,
.tmp-separ-form-card .tmp-select,
.tmp-separ-form-card .tmp-textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	font-family: inherit;
	font-size: 0.92rem;
	color: #0f172a;
	background: #f8fafc;
	transition: all 0.2s ease;
}

.tmp-separ-form-card .tmp-input:focus,
.tmp-separ-form-card .tmp-select:focus,
.tmp-separ-form-card .tmp-textarea:focus {
	outline: none;
	border-color: #ff5500;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(255, 85, 0, 0.15);
}

/* Trust Badges Grid */
.tmp-separ-trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-top: 35px;
	border-top: 1px dashed #e2e8f0;
	padding-top: 25px;
}

.tmp-trust-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.tmp-trust-item__icon {
	flex-shrink: 0;
	color: #ff5500;
	margin-top: 2px;
}

.tmp-trust-item__content strong {
	display: block;
	font-size: 0.84rem;
	font-weight: 800;
	color: #0f172a;
	margin-bottom: 2px;
}

.tmp-trust-item__content span {
	display: block;
	font-size: 0.74rem;
	color: #64748b;
	line-height: 1.4;
}

/* FAQ Accordion Styling */
.tmp-faq-item {
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	background: #ffffff;
	padding: 0;
	overflow: hidden;
	transition: all 0.25s ease;
}

.tmp-faq-item:hover {
	border-color: #cbd5e1;
}

.tmp-faq-item[open] {
	border-color: #ff5500;
	box-shadow: 0 8px 24px rgba(255, 85, 0, 0.08);
}

.tmp-faq-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px;
	font-weight: 800;
	font-size: 0.98rem;
	color: #0f172a;
	cursor: pointer;
	outline: none;
	list-style: none;
	user-select: none;
}

.tmp-faq-summary::-webkit-details-marker {
	display: none;
}

.tmp-faq-chevron {
	color: #64748b;
	transition: transform 0.3s ease;
	flex-shrink: 0;
	margin-right: 12px;
}

.tmp-faq-item[open] .tmp-faq-chevron {
	transform: rotate(180deg);
	color: #ff5500;
}

.tmp-faq-answer {
	padding: 0 22px 20px 22px;
	border-top: 1px solid #f1f5f9;
}

.tmp-faq-answer p {
	margin: 14px 0 0 0;
	font-size: 0.9rem;
	color: var(--tmp-text-secondary, #475569);
	line-height: 1.75;
}

/* Responsive adjustments for Separ Landing Page */
@media (max-width: 992px) {
	.tmp-separ-metrics-bar {
		grid-template-columns: repeat(2, 1fr);
	}
	.tmp-separ-stages-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.tmp-visualizer-body {
		grid-template-columns: 1fr;
	}
	.tmp-visualizer-display {
		height: 180px;
	}
	.tmp-separ-trust-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.tmp-separ-hero {
		padding: 24px;
	}
	.tmp-separ-hero__title {
		font-size: 1.6rem;
	}
	.tmp-separ-hero__key-points {
		grid-template-columns: 1fr;
	}
	.tmp-separ-metrics-bar {
		grid-template-columns: 1fr;
	}
	.tmp-separ-stages-grid {
		grid-template-columns: 1fr;
	}
	.tmp-separ-trust-grid {
		grid-template-columns: 1fr;
	}
	.tmp-separ-form-card {
		padding: 24px 18px;
	}
}

/* Homepage Banner for Separ Filter */
.tmp-home-separ-banner {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
	border-radius: 20px;
	padding: 35px 45px;
	margin: 40px 0;
	color: #ffffff;
	position: relative;
	overflow: hidden;
	box-shadow: 0 15px 40px -10px rgba(15, 23, 42, 0.4);
}

.tmp-home-separ-banner::before {
	content: "";
	position: absolute;
	top: -50%;
	left: -20%;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 85, 0, 0.2) 0%, transparent 70%);
	pointer-events: none;
}

.tmp-home-separ-grid {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 30px;
	align-items: center;
	position: relative;
	z-index: 1;
}

.tmp-home-separ-logo-box {
	background: #ffffff;
	padding: 12px 20px;
	border-radius: 14px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	flex-shrink: 0;
}

.tmp-home-separ-logo-box img {
	max-height: 48px;
	width: auto;
	display: block;
}

.tmp-home-separ-info h3 {
	font-size: 1.35rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 6px;
}

.tmp-home-separ-info p {
	font-size: 0.94rem;
	color: #94a3b8;
	margin: 0 0 12px;
	line-height: 1.6;
}

.tmp-home-separ-tags {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.tmp-home-separ-tag {
	font-size: 0.8rem;
	font-weight: 700;
	color: #fdba74;
	background: rgba(255, 85, 0, 0.15);
	padding: 3px 10px;
	border-radius: 6px;
}

@media (max-width: 900px) {
	.tmp-home-separ-grid {
		grid-template-columns: 1fr;
		text-align: center;
		justify-items: center;
	}
	.tmp-home-separ-tags {
		justify-content: center;
	}
}

/* ==========================================================================
   Modern Comments System (Products & Blog Articles)
   ========================================================================== */

.tmp-comments-area {
	margin-top: 48px;
	padding-top: 36px;
	border-top: 1.5px solid rgba(226, 232, 240, 0.8);
}

.tmp-product-reviews-section {
	margin-top: 48px;
	padding: 40px;
	border-radius: 20px;
}

.tmp-product-reviews-section .tmp-comments-area {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.tmp-product-reviews-jump {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	margin-bottom: 12px;
	padding: 5px 12px;
	background: rgba(242, 101, 34, 0.08);
	color: var(--tmp-orange, #f26522);
	font-size: 0.85rem;
	font-weight: 700;
	border-radius: 9999px;
	text-decoration: none;
	transition: all 0.2s ease;
	border: 1px solid rgba(242, 101, 34, 0.15);
}

.tmp-product-reviews-jump:hover {
	background: var(--tmp-orange, #f26522);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(242, 101, 34, 0.25);
}

.tmp-comments-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}

.tmp-comments-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 6px 0 8px;
	font-size: 1.35rem;
	font-weight: 800;
	color: #0f172a;
	flex-wrap: wrap;
}

.tmp-comments-count-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--tmp-orange, #f26522);
	background: rgba(242, 101, 34, 0.1);
	border: 1px solid rgba(242, 101, 34, 0.2);
	border-radius: 9999px;
	line-height: 1.4;
}

.tmp-comments-subtitle {
	color: #64748b;
	font-size: 0.92rem;
	margin: 0;
	max-width: 680px;
	line-height: 1.6;
}

.tmp-comments-header__action {
	flex-shrink: 0;
}

.tmp-scroll-to-respond {
	gap: 8px;
	white-space: nowrap;
}

/* Comments List */
.tmp-comments-list {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tmp-comment-item {
	list-style: none;
	position: relative;
}

.tmp-comment-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03);
	transition: all 0.25s ease;
}

.tmp-comment-card:hover {
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
	border-color: #cbd5e1;
}

.tmp-comment-item--staff .tmp-comment-card {
	border-right: 4px solid var(--tmp-orange, #f26522);
	background: linear-gradient(to left, rgba(242, 101, 34, 0.02), #ffffff);
}

.tmp-comment__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}

.tmp-comment__author-meta {
	display: flex;
	align-items: center;
	gap: 14px;
}

.tmp-comment__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	background: linear-gradient(135deg, #f8fafc, #e2e8f0);
	border: 2px solid #ffffff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
}

.tmp-comment__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tmp-comment__initial {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--tmp-orange, #f26522);
	text-transform: uppercase;
}

.tmp-comment__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.tmp-comment__author-line {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.tmp-comment__author-name {
	font-size: 0.98rem;
	font-weight: 800;
	color: #0f172a;
}

.tmp-comment-badge--staff {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	background: linear-gradient(135deg, #10b981, #059669);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	border-radius: 9999px;
	box-shadow: 0 2px 6px rgba(16, 185, 129, 0.25);
}

.tmp-comment__date {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	color: #94a3b8;
	font-weight: 500;
}

.tmp-comment__date svg {
	color: #94a3b8;
}

.tmp-comment__actions .comment-reply-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	font-size: 0.82rem;
	font-weight: 700;
	color: #475569;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.tmp-comment__actions .comment-reply-link:hover {
	color: var(--tmp-orange, #f26522);
	border-color: var(--tmp-orange, #f26522);
	background: rgba(242, 101, 34, 0.05);
	transform: translateY(-1px);
}

.tmp-comment__pending-notice {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #fffbeb;
	border: 1px solid #fef3c7;
	border-radius: 8px;
	color: #b45309;
	font-size: 0.84rem;
	font-weight: 600;
	margin-bottom: 12px;
}

.tmp-comment__content {
	color: #334155;
	font-size: 0.95rem;
	line-height: 1.8;
}

.tmp-comment__content p:last-child {
	margin-bottom: 0;
}

/* Threaded Replies */
.tmp-comments-list .children {
	list-style: none;
	margin: 16px 28px 0 0;
	padding: 0 18px 0 0;
	border-right: 2px dashed rgba(242, 101, 34, 0.25);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tmp-comments-list .children .tmp-comment-card {
	background: #fafafa;
	border-color: #e5e7eb;
}

/* Empty State */
.tmp-comments-empty {
	padding: 48px 24px;
	border-radius: 16px;
	background: #ffffff;
	border: 1.5px dashed #cbd5e1;
	margin-bottom: 36px;
}

.tmp-comments-empty__icon {
	margin-bottom: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(242, 101, 34, 0.08);
}

.tmp-comments-empty h4 {
	font-size: 1.15rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 8px;
}

.tmp-comments-empty p {
	font-size: 0.92rem;
	color: #64748b;
	margin: 0;
	max-width: 520px;
	margin-inline: auto;
	line-height: 1.6;
}

.tmp-comments-closed {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	background: #f1f5f9;
	border-radius: 10px;
	color: #64748b;
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 24px;
}

/* Pagination */
.tmp-comments-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 36px;
}

.tmp-comments-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #334155;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.tmp-comments-pagination .page-numbers.current {
	background: var(--tmp-orange, #f26522);
	color: #ffffff;
	border-color: var(--tmp-orange, #f26522);
}

.tmp-comments-pagination .page-numbers:hover:not(.current) {
	border-color: var(--tmp-orange, #f26522);
	color: var(--tmp-orange, #f26522);
}

/* Comment Form */
.tmp-comment-form-wrapper {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 36px;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
}

.tmp-comment-form-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}

.tmp-comment-reply-title {
	font-size: 1.2rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0;
}

.tmp-cancel-reply-wrap a {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	font-size: 0.8rem;
	font-weight: 700;
	color: #ef4444;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 9999px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.tmp-cancel-reply-wrap a:hover {
	background: #ef4444;
	color: #ffffff;
}

.tmp-comment-notes {
	font-size: 0.85rem;
	color: #64748b;
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.tmp-notes-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--tmp-orange, #f26522);
	display: inline-block;
}

.comment-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tmp-comment-field--textarea label,
.tmp-comment-field--author label,
.tmp-comment-field--email label {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	color: #1e293b;
	margin-bottom: 8px;
}

.tmp-comment-field--textarea textarea {
	width: 100%;
	min-height: 120px;
	padding: 14px 16px;
	font-family: inherit;
	font-size: 0.95rem;
	color: #0f172a;
	background: #f8fafc;
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	transition: all 0.2s ease;
	resize: vertical;
	box-sizing: border-box;
}

.tmp-comment-field--textarea textarea:focus {
	outline: none;
	border-color: var(--tmp-orange, #f26522);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.12);
}

.tmp-input-icon-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.tmp-input-icon-wrap .tmp-field-icon {
	position: absolute;
	right: 14px;
	color: #94a3b8;
	pointer-events: none;
}

.tmp-input-icon-wrap input {
	width: 100%;
	padding: 12px 42px 12px 14px;
	font-family: inherit;
	font-size: 0.92rem;
	color: #0f172a;
	background: #f8fafc;
	border: 1.5px solid #e2e8f0;
	border-radius: 10px;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.tmp-input-icon-wrap input:focus {
	outline: none;
	border-color: var(--tmp-orange, #f26522);
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(242, 101, 34, 0.12);
}

.comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: #64748b;
}

.comment-form-cookies-consent input[type="checkbox"] {
	accent-color: var(--tmp-orange, #f26522);
}

.tmp-comment-submit-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 220px;
	cursor: pointer;
}

.tmp-comment-submit-btn:hover svg {
	transform: translateX(-3px);
}

.tmp-comment-submit-btn svg {
	transition: transform 0.2s ease;
}

@media (min-width: 768px) {
	.tmp-comment-field--author,
	.tmp-comment-field--email {
		flex: 1;
	}
	.comment-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
	}
	.tmp-comment-field--textarea,
	.comment-form-cookies-consent,
	.tmp-form-submit {
		grid-column: span 2;
	}
}

@media (max-width: 767px) {
	.tmp-product-reviews-section {
		padding: 24px 16px;
	}
	.tmp-comment-form-wrapper {
		padding: 24px 16px;
	}
	.tmp-comments-list .children {
		margin-right: 12px;
		padding-right: 10px;
	}
	.tmp-comment-card {
		padding: 16px;
	}
	.tmp-comment-submit-btn {
		width: 100%;
	}
}



