/* ============================================================
   RCN SEO — Category landing pages (header + content block)
   ============================================================ */

/* --------- Breadcrumb --------- */
.rcn-breadcrumb {
	font-size: 13px;
	color: var(--rcn-text-muted, #6b7280);
	margin: 0 0 16px;
}
.rcn-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.rcn-breadcrumb li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.rcn-breadcrumb a {
	color: var(--rcn-text-muted, #6b7280);
	text-decoration: none;
	transition: color .15s;
}
.rcn-breadcrumb a:hover {
	color: var(--rcn-primary, #dc2626);
	text-decoration: underline;
}
.rcn-breadcrumb [aria-current="page"] {
	color: var(--rcn-text, #111);
	font-weight: 600;
}
.rcn-breadcrumb svg {
	opacity: .4;
}

/* --------- Category header --------- */
.rcn-cat-head {
	background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
	border-bottom: 1px solid var(--rcn-border, #e5e7eb);
	padding: 24px 0 28px;
}
body.rcn-theme .rcn-cat-head__title {
	font-size: clamp( 28px, 4vw, 42px );
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.15;
	color: var(--rcn-text, #111);
	margin: 0 0 6px;
}
.rcn-cat-head__tagline {
	font-size: 16px;
	color: var(--rcn-text-muted, #6b7280);
	margin: 0 0 18px;
	max-width: 780px;
}
.rcn-cat-head__stats {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(140px, 1fr) );
	gap: 12px;
	margin: 18px 0 20px;
	max-width: 900px;
}
.rcn-cat-stat {
	background: #fff;
	border: 1px solid var(--rcn-border, #e5e7eb);
	border-radius: 10px;
	padding: 12px 14px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rcn-cat-stat__num {
	font-size: 22px;
	font-weight: 800;
	color: var(--rcn-text, #111);
	line-height: 1.2;
	letter-spacing: -.01em;
}
.rcn-cat-stat__lbl {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rcn-text-muted, #6b7280);
}
.rcn-cat-stat--countries .rcn-cat-stat__num {
	color: var(--rcn-primary, #dc2626);
}
.rcn-cat-head__intro {
	max-width: 880px;
	font-size: 15.5px;
	line-height: 1.65;
	color: var(--rcn-text, #111);
}
.rcn-cat-head__intro strong {
	color: var(--rcn-text, #111);
	font-weight: 700;
}

/* --------- SEO block below grid --------- */
.rcn-cat-seo {
	background: var(--rcn-bg-soft, #f9fafb);
	padding: 48px 0 64px;
	margin-top: 32px;
	border-top: 1px solid var(--rcn-border, #e5e7eb);
}
.rcn-cat-seo__h2 {
	font-size: 24px;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--rcn-text, #111);
	margin: 36px 0 16px;
}
.rcn-cat-seo__body {
	max-width: 880px;
	font-size: 15.5px;
	line-height: 1.7;
	color: var(--rcn-text, #1f2937);
}
.rcn-cat-seo__body h2 {
	font-size: 22px;
	font-weight: 800;
	margin: 28px 0 12px;
	color: var(--rcn-text, #111);
}
.rcn-cat-seo__body h3 {
	font-size: 17px;
	font-weight: 700;
	margin: 22px 0 10px;
	color: var(--rcn-text, #111);
}
.rcn-cat-seo__body p {
	margin: 0 0 14px;
}
.rcn-cat-seo__body ul {
	margin: 0 0 18px;
	padding-left: 22px;
}
.rcn-cat-seo__body li {
	margin: 6px 0;
}
.rcn-cat-seo__body a {
	color: var(--rcn-primary, #dc2626);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.rcn-cat-seo__body a:hover {
	text-decoration-thickness: 2px;
}

/* --------- FAQ accordion --------- */
.rcn-faq-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 880px;
}
.rcn-faq-item {
	background: #fff;
	border: 1px solid var(--rcn-border, #e5e7eb);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.rcn-faq-item:hover {
	border-color: #d1d5db;
}
.rcn-faq-item[open] {
	border-color: var(--rcn-primary, #dc2626);
	box-shadow: 0 4px 12px rgba(220, 38, 38, .08);
}
.rcn-faq-item__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 20px;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--rcn-text, #111);
	cursor: pointer;
	list-style: none;
	user-select: none;
}
.rcn-faq-item__q::-webkit-details-marker { display: none; }
.rcn-faq-item__chev {
	flex-shrink: 0;
	color: var(--rcn-text-muted, #6b7280);
	transition: transform .2s;
}
.rcn-faq-item[open] .rcn-faq-item__chev {
	transform: rotate(180deg);
	color: var(--rcn-primary, #dc2626);
}
.rcn-faq-item__a {
	padding: 0 20px 18px;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--rcn-text-secondary, #374151);
}
.rcn-faq-item__a a {
	color: var(--rcn-primary, #dc2626);
	text-decoration: underline;
}

/* --------- Quick-link chip rows --------- */
.rcn-cat-seo__quicklinks {
	display: grid;
	gap: 24px;
	margin-top: 36px;
}
.rcn-cat-seo__quicklinks-group h3 {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--rcn-text-muted, #6b7280);
	margin: 0 0 10px;
}
.rcn-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rcn-chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--rcn-border, #e5e7eb);
	border-radius: 999px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rcn-text, #111);
	text-decoration: none;
	transition: all .15s;
}
.rcn-chip:hover {
	background: var(--rcn-primary, #dc2626);
	color: #fff;
	border-color: var(--rcn-primary, #dc2626);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(220, 38, 38, .15);
}

/* --------- Related categories grid --------- */
.rcn-related-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(260px, 1fr) );
	gap: 16px;
	margin-top: 16px;
}
.rcn-related-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--rcn-border, #e5e7eb);
	border-radius: 12px;
	text-decoration: none;
	color: var(--rcn-text, #111);
	transition: all .2s;
}
.rcn-related-card:hover {
	border-color: var(--rcn-primary, #dc2626);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
	transform: translateY(-2px);
}
.rcn-related-card__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--rcn-text, #111);
}
.rcn-related-card__meta {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--rcn-primary, #dc2626);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.rcn-related-card__tagline {
	font-size: 13px;
	color: var(--rcn-text-muted, #6b7280);
	line-height: 1.5;
	margin-top: 4px;
}
.rcn-related-card__cta {
	margin-top: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--rcn-primary, #dc2626);
}

/* --------- Sitemap-style internal links --------- */
.rcn-cat-seo__sitemap {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--rcn-border, #e5e7eb);
}
.rcn-cat-seo__sitemap > h3 {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--rcn-text-muted, #6b7280);
	margin: 0 0 18px;
}
.rcn-cat-seo__sitemap-cols {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) );
	gap: 24px;
}
.rcn-cat-seo__sitemap-cols h4 {
	font-size: 13px;
	font-weight: 700;
	color: var(--rcn-text, #111);
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.rcn-cat-seo__sitemap-cols ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rcn-cat-seo__sitemap-cols a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 6px 10px;
	font-size: 13.5px;
	color: var(--rcn-text, #1f2937);
	text-decoration: none;
	border-radius: 6px;
	transition: background .15s, color .15s;
}
.rcn-cat-seo__sitemap-cols a:hover {
	background: #fff;
	color: var(--rcn-primary, #dc2626);
}
.rcn-cat-seo__sitemap-cols a span {
	font-size: 12px;
	color: var(--rcn-text-muted, #9ca3af);
	font-weight: 600;
}

/* --------- Mobile --------- */
@media ( max-width: 640px ) {
	.rcn-cat-head {
		padding: 18px 0 22px;
	}
	.rcn-cat-head__stats {
		grid-template-columns: 1fr 1fr;
	}
	.rcn-cat-stat__num {
		font-size: 18px;
	}
	.rcn-cat-seo {
		padding: 32px 0 48px;
	}
	.rcn-cat-seo__h2 {
		font-size: 20px;
	}
	.rcn-cat-seo__sitemap-cols {
		grid-template-columns: 1fr 1fr;
	}
}

/* --------- Print-friendly (occasionally relevant for buyers) --------- */
@media print {
	.rcn-cat-seo {
		background: transparent;
		border-top: none;
		padding: 12px 0;
	}
	.rcn-faq-item {
		break-inside: avoid;
	}
}
