/* ==========================================================================
   EC Wiki — custom-single-training.css
   Single training post: header, body, step list, resource links/toggles,
   notes, related cards, jump nav, floating bar, taxonomy badge links.
   Loaded on is_singular('training') only.
   ========================================================================== */

/* ==========================================================================
   SINGLE TRAINING — header
   ========================================================================== */

.rsgdxwiki-training-header {
	background: var(--rsgdxwiki-color-surface);
	border-bottom: 1px solid var(--rsgdxwiki-color-border);
	padding: var(--rsgdxwiki-space-10) var(--rsgdxwiki-space-6) var(--rsgdxwiki-space-8);
}

.rsgdxwiki-training-header__inner {
	max-width: 860px;
	margin: 0 auto;
}

.rsgdxwiki-training-badges {
	display: flex;
	gap: var(--rsgdxwiki-space-2);
	flex-wrap: wrap;
	margin-bottom: var(--rsgdxwiki-space-5);
}

.rsgdxwiki-training-title {
	font-size: var(--rsgdxwiki-text-3xl);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: var(--rsgdxwiki-space-5);
}

.rsgdxwiki-training-intro {
	font-size: var(--rsgdxwiki-text-md);
	color: var(--rsgdxwiki-color-text-muted);
	line-height: 1.7;
	margin-bottom: var(--rsgdxwiki-space-6);
	max-width: 720px;
}

.rsgdxwiki-training-byline {
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-5);
	padding-top: var(--rsgdxwiki-space-5);
	border-top: 1px solid var(--rsgdxwiki-color-border);
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text-muted);
	flex-wrap: wrap;
}

.rsgdxwiki-training-byline span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.rsgdxwiki-training-byline i {
	font-size: 13px;
	color: var(--rsgdxwiki-color-text-subtle);
}

/* ==========================================================================
   SINGLE TRAINING — body
   ========================================================================== */

.rsgdxwiki-training-body {
	max-width: 860px;
	margin: 0 auto;
	padding: var(--rsgdxwiki-space-10) var(--rsgdxwiki-space-6);
}

.rsgdxwiki-section-block {
	margin-bottom: var(--rsgdxwiki-space-10);
}

.rsgdxwiki-section-block__title {
	font-size: var(--rsgdxwiki-text-xl);
	font-weight: 700;
	margin-bottom: var(--rsgdxwiki-space-2);
	padding-left: var(--rsgdxwiki-space-4);
	border-left: 3px solid var(--rsgdxwiki-color-accent);
}

.rsgdxwiki-section-block__title--notes {
	border-left-color: var(--rsgdxwiki-color-blue-light);
}

.rsgdxwiki-section-block__steps {
	margin-top: var(--rsgdxwiki-space-5);
}

/* --- Step list --- */
.rsgdxwiki-step-list {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-step-item {
	display: flex;
	gap: var(--rsgdxwiki-space-4);
	position: relative;
	counter-increment: rsgdxwiki-step-counter;
}

.rsgdxwiki-step-list {
	counter-reset: rsgdxwiki-step-counter;
}

.rsgdxwiki-step-item:not(.is-last)::before {
	content: '';
	position: absolute;
	left: 15px;
	top: 34px;
	bottom: -12px;
	width: 1px;
	background: var(--rsgdxwiki-color-border);
}

.rsgdxwiki-step-item__num {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--rsgdxwiki-color-blue);
	color: #fff;
	font-size: var(--rsgdxwiki-text-xs);
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	z-index: 1;
}

.rsgdxwiki-step-item__num::before {
	content: counter(rsgdxwiki-step-counter);
}

.rsgdxwiki-step-item__body {
	flex: 1;
	padding-top: 3px;
	padding-bottom: var(--rsgdxwiki-space-2);
}

.rsgdxwiki-step-item__text {
	font-size: var(--rsgdxwiki-text-base);
	color: var(--rsgdxwiki-color-text);
	margin-bottom: var(--rsgdxwiki-space-2);
}

.rsgdxwiki-step-item__text a {
	color: var(--rsgdxwiki-color-blue-light);
}

/* Step with media — elevated card treatment */
.rsgdxwiki-step-item--media .rsgdxwiki-step-item__body {
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-md);
	padding: var(--rsgdxwiki-space-4);
}

/* --- Resource toggle (YouTube) --- */
.rsgdxwiki-resource-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--rsgdxwiki-color-surface-high);
	border: 1px solid var(--rsgdxwiki-color-border-light);
	border-radius: var(--rsgdxwiki-radius-md);
	padding: 8px 14px;
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 600;
	color: var(--rsgdxwiki-color-text);
	cursor: pointer;
	transition: background var(--rsgdxwiki-transition);
}

.rsgdxwiki-resource-toggle:hover {
	background: var(--rsgdxwiki-color-surface-alt);
}

.rsgdxwiki-resource-toggle i:first-child {
	color: var(--rsgdxwiki-color-accent);
	font-size: 13px;
}

.rsgdxwiki-resource-toggle__chev {
	margin-left: auto;
	font-size: 11px;
	color: var(--rsgdxwiki-color-text-subtle);
	transition: transform 0.3s ease;
}

.rsgdxwiki-resource-toggle.is-open .rsgdxwiki-resource-toggle__chev {
	transform: rotate(180deg);
}

.rsgdxwiki-video-embed-wrap {
	margin-top: var(--rsgdxwiki-space-3);
	border-radius: var(--rsgdxwiki-radius-md);
	overflow: hidden;
	border: 1px solid var(--rsgdxwiki-color-border);
	background: #000;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}

.rsgdxwiki-video-embed-wrap iframe {
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* --- Resource link (non-embeddable video / guide) --- */
.rsgdxwiki-resource-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--rsgdxwiki-color-blue-faint);
	border: 1px solid rgba(114, 174, 230, 0.25);
	border-radius: var(--rsgdxwiki-radius-md);
	padding: 8px 14px;
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 600;
	color: var(--rsgdxwiki-color-blue-light);
	text-decoration: none;
	transition: background var(--rsgdxwiki-transition);
}

.rsgdxwiki-resource-link:hover {
	background: rgba(114, 174, 230, 0.14);
	text-decoration: none;
	color: var(--rsgdxwiki-color-blue-light);
}

.rsgdxwiki-resource-link--video {
	background: var(--rsgdxwiki-color-accent-faint);
	border-color: rgba(255, 122, 89, 0.25);
	color: #ff967c;
}

.rsgdxwiki-resource-link--video:hover {
	background: rgba(255, 122, 89, 0.14);
	color: #ff967c;
}

.rsgdxwiki-resource-link i:last-child {
	font-size: 11px;
}

/* --- Video pill (below intro on Cin7 single) --- */
.rsgdxwiki-video-pill {
	margin-top: 12px;
	margin-bottom: 4px;
}

/* --- Video embed block (bottom of Cin7 single) --- */
.rsgdxwiki-video-embed-block {
	margin-top: var(--rsgdxwiki-space-6);
	padding-top: var(--rsgdxwiki-space-5);
	border-top: 1px solid var(--rsgdxwiki-border);
}

.rsgdxwiki-video-embed-block__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: var(--rsgdxwiki-space-3);
	color: var(--rsgdxwiki-text);
}

.rsgdxwiki-video-embed-block__title i {
	color: #ff967c;
	font-size: 0.85em;
}

.rsgdxwiki-video-embed-block__wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	border-radius: 8px;
	background: var(--rsgdxwiki-bg-subtle, #111);
}

.rsgdxwiki-video-embed-block__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.rsgdxwiki-video-embed-block__note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85rem;
	color: var(--rsgdxwiki-text-muted);
	margin-bottom: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-video-embed-block__fallback {
	margin-top: 10px;
	font-size: 0.85rem;
	color: var(--rsgdxwiki-text-muted);
}

.rsgdxwiki-video-embed-block__fallback a {
	color: var(--rsgdxwiki-color-blue-light);
}

/* --- Notes --- */
.rsgdxwiki-notes-block {
	margin-top: var(--rsgdxwiki-space-5);
}

.rsgdxwiki-note-callout {
	display: flex;
	gap: var(--rsgdxwiki-space-3);
	background: rgba(114, 174, 230, 0.06);
	border: 1px solid rgba(114, 174, 230, 0.2);
	border-radius: var(--rsgdxwiki-radius-md);
	padding: var(--rsgdxwiki-space-4);
	margin-bottom: var(--rsgdxwiki-space-3);
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-note-callout i {
	color: var(--rsgdxwiki-color-blue-light);
	font-size: 14px;
	margin-top: 2px;
}

/* --- Related procedures --- */
.rsgdxwiki-related-section {
	margin-top: var(--rsgdxwiki-space-12);
	padding-top: var(--rsgdxwiki-space-8);
	border-top: 1px solid var(--rsgdxwiki-color-border);
}

.rsgdxwiki-related-heading {
	font-size: var(--rsgdxwiki-text-lg);
	font-weight: 700;
	margin-bottom: var(--rsgdxwiki-space-5);
	display: flex;
	align-items: center;
	gap: 8px;
}

.rsgdxwiki-related-heading i {
	color: var(--rsgdxwiki-color-accent);
	font-size: 16px;
}

@media (max-width: 767px) {
	.rsgdxwiki-training-title {
		font-size: var(--rsgdxwiki-text-2xl);
	}
}

/* ==========================================================================
/* Floating bar base styles moved to custom-style.css */

/* --- Jump nav panel --- */
.rsgdxwiki-jumpnav-panel {
	position: absolute;
	bottom: calc(100% + var(--rsgdxwiki-space-3));
	right: 0;
	width: 320px;
	max-height: 420px;
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border-light);
	border-radius: var(--rsgdxwiki-radius-lg);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.rsgdxwiki-jumpnav-panel[hidden] {
	display: none;
}

.rsgdxwiki-jumpnav-panel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--rsgdxwiki-space-4);
	border-bottom: 1px solid var(--rsgdxwiki-color-border);
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 700;
	color: var(--rsgdxwiki-color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.rsgdxwiki-jumpnav-panel__header button {
	background: none;
	border: none;
	color: var(--rsgdxwiki-color-text-muted);
	cursor: pointer;
	font-size: 14px;
	padding: 4px;
	display: flex;
}

.rsgdxwiki-jumpnav-panel__header button:hover {
	color: var(--rsgdxwiki-color-text);
}

.rsgdxwiki-jumpnav-panel__search {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: var(--rsgdxwiki-space-3) var(--rsgdxwiki-space-4);
	border-bottom: 1px solid var(--rsgdxwiki-color-border);
}

.rsgdxwiki-jumpnav-panel__search i {
	color: var(--rsgdxwiki-color-text-subtle);
	font-size: 13px;
}

.rsgdxwiki-jumpnav-panel__search input {
	flex: 1;
	background: none;
	border: none;
	outline: none;
	color: var(--rsgdxwiki-color-text);
	font-size: var(--rsgdxwiki-text-sm);
	font-family: var(--rsgdxwiki-font-sans);
}

.rsgdxwiki-jumpnav-panel__search input::placeholder {
	color: var(--rsgdxwiki-color-text-subtle);
}

.rsgdxwiki-jumpnav-panel__list {
	list-style: none;
	margin: 0;
	padding: var(--rsgdxwiki-space-2);
	overflow-y: auto;
	flex: 1;
}

.rsgdxwiki-jumpnav-panel__list li {
	margin: 0;
}

.rsgdxwiki-jumpnav-panel__list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: var(--rsgdxwiki-radius-md);
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text);
	text-decoration: none;
	transition: background var(--rsgdxwiki-transition);
}

.rsgdxwiki-jumpnav-panel__list a:hover {
	background: var(--rsgdxwiki-color-surface-high);
	text-decoration: none;
}

.rsgdxwiki-jumpnav-panel__list a i {
	color: var(--rsgdxwiki-color-blue-light);
	font-size: 13px;
	width: 16px;
	flex-shrink: 0;
	text-align: center;
}

.rsgdxwiki-jumpnav-panel__empty {
	padding: var(--rsgdxwiki-space-5);
	text-align: center;
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text-subtle);
	margin: 0;
}

@media (max-width: 480px) {
	.rsgdxwiki-jumpnav-panel {
		width: calc(100vw - var(--rsgdxwiki-space-8));
	}
}

/* Smooth scroll for in-page anchor jumps */
html {
	scroll-behavior: smooth;
}

[id^="rsgdxwiki-section-"],
#rsgdxwiki-steps,
#rsgdxwiki-notes,
#rsgdxwiki-related {
	scroll-margin-top: calc(var(--rsgdxwiki-header-height, 64px) + 20px);
}

/* --- Clickable taxonomy badges --- */
.rsgdxwiki-badge--link {
	text-decoration: none;
	cursor: pointer;
	transition: background var(--rsgdxwiki-transition), border-color var(--rsgdxwiki-transition);
}

.rsgdxwiki-badge--link:hover {
	text-decoration: none;
	filter: brightness(1.25);
}

/* --- Related procedures — wider rectangular cards --- */
.rsgdxwiki-related-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--rsgdxwiki-space-4);
}

.rsgdxwiki-related-card {
	display: flex;
	align-items: flex-start;
	gap: var(--rsgdxwiki-space-4);
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-lg);
	padding: var(--rsgdxwiki-space-5);
	text-decoration: none;
	transition: border-color var(--rsgdxwiki-transition), background var(--rsgdxwiki-transition);
}

.rsgdxwiki-related-card:hover {
	border-color: var(--rsgdxwiki-color-blue);
	background: var(--rsgdxwiki-color-surface-high);
	text-decoration: none;
}

.rsgdxwiki-related-card__icon {
	width: 38px;
	height: 38px;
	border-radius: var(--rsgdxwiki-radius-md);
	background: var(--rsgdxwiki-color-accent-faint);
	color: var(--rsgdxwiki-color-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}

.rsgdxwiki-related-card__body {
	flex: 1;
	min-width: 0;
}

.rsgdxwiki-related-card__title {
	font-size: var(--rsgdxwiki-text-base);
	font-weight: 600;
	color: var(--rsgdxwiki-color-text);
	line-height: 1.3;
	margin-bottom: 4px;
}

.rsgdxwiki-related-card__desc {
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text-muted);
	line-height: 1.5;
	margin: 0;
}

.rsgdxwiki-related-card__arrow {
	color: var(--rsgdxwiki-color-text-subtle);
	font-size: 13px;
	margin-top: 4px;
	flex-shrink: 0;
	transition: transform var(--rsgdxwiki-transition);
}

.rsgdxwiki-related-card:hover .rsgdxwiki-related-card__arrow {
	transform: translateX(3px);
	color: var(--rsgdxwiki-color-blue-light);
}

@media (max-width: 767px) {
	.rsgdxwiki-related-grid {
		grid-template-columns: 1fr;
	}
}


/* ==========================================================================
   PRODUCTS GUIDE — single post layout
   ========================================================================== */

.rsgdxwiki-product-header {
	background: var(--rsgdxwiki-color-surface);
	border-bottom: 1px solid var(--rsgdxwiki-color-border);
	padding: var(--rsgdxwiki-space-10) var(--rsgdxwiki-space-6) var(--rsgdxwiki-space-8);
}

.rsgdxwiki-product-header__inner {
	max-width: 1100px;
	margin: 0 auto;
}

.rsgdxwiki-product-header__badges {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rsgdxwiki-space-2);
	margin-bottom: var(--rsgdxwiki-space-4);
}

.rsgdxwiki-product-title {
	font-size: var(--rsgdxwiki-text-3xl);
	font-weight: 700;
	margin-bottom: var(--rsgdxwiki-space-4);
}

.rsgdxwiki-product-header__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rsgdxwiki-space-5);
	font-size: var(--rsgdxwiki-text-sm);
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-product-header__meta a {
	color: var(--rsgdxwiki-color-blue-light);
}

.rsgdxwiki-product-body {
	max-width: 1100px;
	margin: 0 auto;
	padding: var(--rsgdxwiki-space-8) var(--rsgdxwiki-space-6);
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: var(--rsgdxwiki-space-10);
	align-items: flex-start;
}

.rsgdxwiki-product-image img {
	width: 100%;
	border-radius: var(--rsgdxwiki-radius-lg);
	border: 1px solid var(--rsgdxwiki-color-border);
}

.rsgdxwiki-product-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--rsgdxwiki-space-2);
	margin-top: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-product-gallery a img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--rsgdxwiki-radius-md);
	border: 1px solid var(--rsgdxwiki-color-border);
	transition: opacity var(--rsgdxwiki-transition);
}

.rsgdxwiki-product-gallery a:hover img { opacity: 0.8; }

.rsgdxwiki-product-section {
	margin-bottom: var(--rsgdxwiki-space-6);
}

.rsgdxwiki-product-section__title {
	font-size: var(--rsgdxwiki-text-md);
	font-weight: 700;
	margin-bottom: var(--rsgdxwiki-space-3);
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-2);
	color: var(--rsgdxwiki-color-text);
}

.rsgdxwiki-product-section__title i {
	color: var(--rsgdxwiki-color-blue-light);
	font-size: 14px;
}

.rsgdxwiki-product-variations {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-product-variation {
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-md);
	padding: var(--rsgdxwiki-space-4);
}

.rsgdxwiki-product-variation__attrs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rsgdxwiki-space-2);
	margin-bottom: var(--rsgdxwiki-space-2);
}

.rsgdxwiki-product-variation__details {
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-3);
	font-size: var(--rsgdxwiki-text-sm);
}

.rsgdxwiki-product-variation__sku {
	color: var(--rsgdxwiki-color-text-muted);
	font-family: var(--rsgdxwiki-font-mono);
	font-size: var(--rsgdxwiki-text-xs);
}

.rsgdxwiki-product-variation__price {
	font-weight: 700;
	color: var(--rsgdxwiki-color-text);
}

.rsgdxwiki-product-variation__components {
	margin-top: var(--rsgdxwiki-space-3);
	padding-top: var(--rsgdxwiki-space-3);
	border-top: 1px solid var(--rsgdxwiki-color-border);
	font-size: var(--rsgdxwiki-text-xs);
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-product-variation__components ul {
	margin: var(--rsgdxwiki-space-2) 0 0 var(--rsgdxwiki-space-4);
}

.rsgdxwiki-product-components {
	padding-left: var(--rsgdxwiki-space-6);
	font-size: var(--rsgdxwiki-text-sm);
}

.rsgdxwiki-product-components li {
	margin-bottom: var(--rsgdxwiki-space-2);
	color: var(--rsgdxwiki-color-text);
}

/* --- Product Tabs --- */
.rsgdxwiki-product-tabs {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 var(--rsgdxwiki-space-6) var(--rsgdxwiki-space-10);
}

.rsgdxwiki-product-tabs__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rsgdxwiki-space-1);
	border-bottom: 2px solid var(--rsgdxwiki-color-border);
	margin-bottom: var(--rsgdxwiki-space-6);
}

.rsgdxwiki-product-tabs__tab {
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	padding: var(--rsgdxwiki-space-3) var(--rsgdxwiki-space-4);
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 600;
	color: var(--rsgdxwiki-color-text-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-2);
	transition: color var(--rsgdxwiki-transition), border-color var(--rsgdxwiki-transition);
	font-family: var(--rsgdxwiki-font-sans);
}

.rsgdxwiki-product-tabs__tab:hover {
	color: var(--rsgdxwiki-color-text);
}

.rsgdxwiki-product-tabs__tab.is-active {
	color: var(--rsgdxwiki-color-blue-light);
	border-bottom-color: var(--rsgdxwiki-color-blue);
}

.rsgdxwiki-product-tabs__panels {
	padding-top: var(--rsgdxwiki-space-2);
	width: 100%;
}

.rsgdxwiki-product-tabs__panel {
	line-height: 1.8;
	width: 1100px;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.rsgdxwiki-product-tabs__panel {
		width: 100%;
	}
}

/* --- SEO block --- */
.rsgdxwiki-product-seo {
	max-width: 1100px;
	margin: 0 auto;
	padding: var(--rsgdxwiki-space-8) var(--rsgdxwiki-space-6);
	border-top: 1px solid var(--rsgdxwiki-color-border);
}

.rsgdxwiki-product-seo h3 {
	font-size: var(--rsgdxwiki-text-md);
	font-weight: 700;
	margin-bottom: var(--rsgdxwiki-space-4);
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-2);
}

@media (max-width: 900px) {
	.rsgdxwiki-product-body {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   PRODUCT FAQ ACCORDION
   ========================================================================== */

.rsgdxwiki-product-faq,
.rsgdxwiki-product-links {
	width: 100%;
	box-sizing: border-box;
}

.rsgdxwiki-product-faq__item,
.rsgdxwiki-product-links__grid {
	width: 100%;
}

.rsgdxwiki-product-faq {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-product-faq__item {
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-md);
	overflow: hidden;
}

.rsgdxwiki-product-faq__q {
	width: 100%;
	background: var(--rsgdxwiki-color-surface);
	border: none;
	padding: var(--rsgdxwiki-space-4) var(--rsgdxwiki-space-5);
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-3);
	text-align: left;
	cursor: pointer;
	font-family: var(--rsgdxwiki-font-sans);
	font-size: var(--rsgdxwiki-text-md);
	font-weight: 600;
	color: var(--rsgdxwiki-color-text);
	transition: background var(--rsgdxwiki-transition);
}

.rsgdxwiki-product-faq__q:hover {
	background: var(--rsgdxwiki-color-surface-hover, var(--rsgdxwiki-color-border));
}

.rsgdxwiki-product-faq__num {
	background: var(--rsgdxwiki-color-blue);
	color: #fff;
	font-size: var(--rsgdxwiki-text-xs);
	font-weight: 700;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.rsgdxwiki-product-faq__icon {
	margin-left: auto;
	flex-shrink: 0;
	color: var(--rsgdxwiki-color-text-muted);
	transition: transform 0.3s ease;
}

.rsgdxwiki-product-faq__a {
	padding: var(--rsgdxwiki-space-4) var(--rsgdxwiki-space-5);
	padding-left: calc( var(--rsgdxwiki-space-5) + 24px + var(--rsgdxwiki-space-3) );
	font-size: var(--rsgdxwiki-text-sm);
	line-height: 1.7;
	color: var(--rsgdxwiki-color-text-muted);
	border-top: 1px solid var(--rsgdxwiki-color-border);
}

.rsgdxwiki-live-call-faq__question {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.rsgdxwiki-live-call-faq__source,
.rsgdxwiki-live-call-faq__period {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 500;
	background: var(--rsgdxwiki-color-surface);
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-live-call-faq__answer + .rsgdxwiki-live-call-faq__answer {
	margin-top: var(--rsgdxwiki-space-4);
	padding-top: var(--rsgdxwiki-space-4);
	border-top: 1px dashed var(--rsgdxwiki-color-border);
}

.rsgdxwiki-live-call-faq__answer-label {
	display: block;
	margin-bottom: var(--rsgdxwiki-space-2);
	color: var(--rsgdxwiki-color-text);
}

.rsgdxwiki-live-call-faq__context {
	margin-top: var(--rsgdxwiki-space-2);
	font-size: var(--rsgdxwiki-text-xs);
	font-style: italic;
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-live-call-faq__answer p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   PRODUCT LINKS TAB
   ========================================================================== */

.rsgdxwiki-product-links {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxwiki-space-6);
}

.rsgdxwiki-product-links__heading {
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--rsgdxwiki-color-text-muted);
	margin-bottom: var(--rsgdxwiki-space-3);
}

.rsgdxwiki-product-links__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--rsgdxwiki-space-3);
}

@media (max-width: 900px) {
	.rsgdxwiki-product-links__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 600px) {
	.rsgdxwiki-product-links__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.rsgdxwiki-product-links__grid {
		grid-template-columns: 1fr;
	}
}

.rsgdxwiki-product-links__card {
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-md);
	overflow: hidden;
	transition: border-color var(--rsgdxwiki-transition);
}

.rsgdxwiki-product-links__card:hover {
	border-color: var(--rsgdxwiki-color-blue);
}

.rsgdxwiki-product-links__card-link {
	display: flex;
	align-items: center;
	gap: var(--rsgdxwiki-space-2);
	padding: var(--rsgdxwiki-space-3) var(--rsgdxwiki-space-4);
	font-size: var(--rsgdxwiki-text-sm);
	font-weight: 600;
	color: var(--rsgdxwiki-color-blue-light);
	text-decoration: none;
	transition: background var(--rsgdxwiki-transition), color var(--rsgdxwiki-transition);
}

.rsgdxwiki-product-links__card-link:hover {
	background: var(--rsgdxwiki-color-blue);
	color: #fff;
}

.rsgdxwiki-product-links__card-link i {
	font-size: 12px;
	flex-shrink: 0;
}

.rsgdxwiki-product-links__details {
	list-style: none;
	margin: 0;
	padding: var(--rsgdxwiki-space-3) var(--rsgdxwiki-space-4);
	border-top: 1px solid var(--rsgdxwiki-color-border);
	background: var(--rsgdxwiki-color-surface-high);
}

.rsgdxwiki-product-links__details li {
	display: block;
	font-size: var(--rsgdxwiki-text-xs);
	color: var(--rsgdxwiki-color-text-muted);
}

.rsgdxwiki-product-links__details li + li {
	margin-top: var(--rsgdxwiki-space-2);
}

.rsgdxwiki-product-links__details li span {
	display: block;
	font-weight: 700;
	color: var(--rsgdxwiki-color-text);
	margin-bottom: 2px;
}

/* ==========================================================================
   SINGLE PRODUCT — Demos tab
   ========================================================================== */

.rsgdxwiki-product-demos {
	display: flex;
	flex-direction: column;
	gap: var(--rsgdxwiki-space-8);
}

.rsgdxwiki-product-demo {
	background: var(--rsgdxwiki-color-surface);
	border: 1px solid var(--rsgdxwiki-color-border);
	border-radius: var(--rsgdxwiki-radius-md);
	overflow: hidden;
}

.rsgdxwiki-product-demo__title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--rsgdxwiki-color-text);
	margin: 0;
	padding: var(--rsgdxwiki-space-4) var(--rsgdxwiki-space-5);
	border-bottom: 1px solid var(--rsgdxwiki-color-border);
	background: var(--rsgdxwiki-color-bg);
}

.rsgdxwiki-product-demo__player {
	padding: var(--rsgdxwiki-space-4) var(--rsgdxwiki-space-5);
}

/* Poster overlay (thumbnail + play button) */
.rsgdxwiki-video-poster {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: var(--rsgdxwiki-radius-sm);
	cursor: pointer;
	background: #000;
}

.rsgdxwiki-video-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.85;
	transition: opacity 0.3s ease;
}

.rsgdxwiki-video-poster:hover img {
	opacity: 0.7;
}

.rsgdxwiki-video-play-btn {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

.rsgdxwiki-video-play-btn i {
	font-size: 4rem;
	color: #fff;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,.5));
	transition: transform 0.3s ease, filter 0.3s ease;
}

.rsgdxwiki-video-poster:hover .rsgdxwiki-video-play-btn i {
	transform: scale(1.1);
	filter: drop-shadow(0 3px 10px rgba(0,0,0,.6));
}

/* iframe embed */
.rsgdxwiki-video-iframe {
	display: block;
	width: 100%;
	border: none;
	border-radius: var(--rsgdxwiki-radius-sm);
}

/* HTML5 video */
.rsgdxwiki-product-demo__player video {
	display: block;
	border-radius: var(--rsgdxwiki-radius-sm);
}