/**
 * Fibre Systems Core — pure-PHP archive + single + quote layout.
 * Light-on-dark. !important throughout (incl. spacing) to beat Elementor/theme global rules.
 */
.fsc-archive,
.fsc-single,
.fsc-quote-page {
	color: #fff !important;
	max-width: 1360px !important;
	margin: 0 auto !important;
	padding: 32px 20px 64px !important;
	box-sizing: border-box !important;
}

/* ---------- Product sub-nav (2nd-layer menu, pure PHP) ---------- */
.fsc-subnav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	list-style: none !important;
}

.fsc-subnav__item a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 10px 20px !important;
	border: 1px solid rgba( 255, 255, 255, 0.28 ) !important;
	border-radius: 999px !important;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
	transition: background 0.15s ease !important;
}

.fsc-subnav__item a:hover,
.fsc-subnav__item.is-active a {
	background: rgba( 255, 255, 255, 0.14 ) !important;
}

.fsc-subnav__item--all a {
	border-color: transparent !important;
	background: linear-gradient( 90deg, #2161e3, #4ea3ff ) !important;
}

/* ---------- Products landing hero ---------- */
.fsc-products-hero {
	text-align: center !important;
	padding: 64px 20px 48px !important;
	margin: 0 0 24px !important;
	border-radius: 18px !important;
	background: radial-gradient( 120% 140% at 80% 0%, #0e6d7a 0%, #0a2540 45%, #071a30 100% ) !important;
}

.fsc-products-hero .fsc-archive__title {
	font-size: clamp( 2.4rem, 6vw, 4.5rem ) !important;
	letter-spacing: 0.02em !important;
	margin: 0 !important;
}

/* ---------- Archive ---------- */
.fsc-archive__hero {
	margin: 0 0 24px !important;
}

.fsc-archive__title {
	font-size: clamp( 1.8rem, 4vw, 3rem ) !important;
	line-height: 1.1 !important;
	margin: 6px 0 !important;
	color: #fff !important;
}

.fsc-archive__desc {
	opacity: 0.8;
	max-width: 70ch;
	margin: 0 !important;
}

.fsc-archive__layout {
	display: grid !important;
	grid-template-columns: 260px 1fr !important;
	gap: 32px !important;
	align-items: start !important;
}

.fsc-archive__aside {
	position: sticky;
	top: 24px;
}

@media ( max-width: 1024px ) {
	.fsc-archive__layout {
		grid-template-columns: 1fr !important;
	}
	.fsc-archive__aside {
		position: static;
	}
}

/* ---------- Single ---------- */
.fsc-single__top {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 40px !important;
	margin: 16px 0 40px !important;
}

@media ( max-width: 900px ) {
	.fsc-single__top {
		grid-template-columns: 1fr !important;
	}
}

.fsc-single__image {
	background: #fff !important;
	border-radius: 14px !important;
	padding: 24px !important;
}

.fsc-single__image img {
	width: 100% !important;
	height: auto !important;
	object-fit: contain !important;
}

.fsc-single__thumbs {
	display: flex !important;
	gap: 10px !important;
	margin-top: 12px !important;
	flex-wrap: wrap !important;
}

.fsc-single__thumbs img {
	width: 72px !important;
	height: 72px !important;
	object-fit: contain !important;
	background: #fff !important;
	border-radius: 8px !important;
	padding: 6px !important;
}

.fsc-single__sku {
	font-size: 0.8rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	opacity: 0.65;
	color: #fff !important;
}

.fsc-single__title {
	font-size: clamp( 1.6rem, 3vw, 2.4rem ) !important;
	line-height: 1.12 !important;
	margin: 6px 0 14px !important;
	color: #fff !important;
}

.fsc-single__excerpt {
	opacity: 0.85;
	margin: 0 0 18px !important;
}

.fsc-single__actions {
	display: flex !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin: 0 0 24px !important;
}

.fsc-single__specs h2,
.fsc-single__description h2,
.fsc-single__related h2 {
	font-size: 1.35rem !important;
	line-height: 1.2 !important;
	margin: 24px 0 12px !important;
	color: #fff !important;
}

.fsc-single__related {
	margin-top: 48px !important;
}
