/**
 * W333 SEO Booster — frontend (loaded only when needed)
 */

.w333-seo-404 {
	max-width: 720px;
	margin: 2rem auto;
	padding: 1.5rem;
}

.w333-seo-404 h2 {
	margin-top: 0;
}

.w333-seo-404 ul {
	padding-left: 1.2rem;
}

.w333-seo-404 a {
	text-decoration: underline;
}

.w333-seo-faq {
	margin: 2rem 0;
}

.w333-seo-faq details {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	padding: 0.75rem 0;
}

.w333-seo-faq summary {
	cursor: pointer;
	font-weight: 600;
}

.w333-seo-related,
.w333-seo-cluster {
	margin: 2.5rem 0 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.w333-seo-related__heading,
.w333-seo-cluster__label {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	font-weight: 700;
}

.w333-seo-related__section {
	margin-bottom: 1.25rem;
}

.w333-seo-related__title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
}

.w333-seo-related__list,
.w333-seo-cluster__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.4rem 1.25rem;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.w333-seo-related__list a,
.w333-seo-cluster__list a,
a.w333-seo-ilink {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.w333-seo-cluster__label {
	font-size: 0.95rem;
	opacity: 0.85;
}

/* CLS: reserve space for injected modules */
.w333-seo-related,
.w333-seo-cluster,
.w333-seo-404,
.w333-seo-faq,
.w333-seo-trust {
	min-height: 1px;
	contain: layout;
}

/* Visible keyboard focus for plugin UI */
.w333-seo-related a:focus,
.w333-seo-cluster a:focus,
.w333-seo-404 a:focus,
.w333-seo-faq summary:focus,
.w333-seo-trust a:focus,
a.w333-seo-ilink:focus {
	outline: 2px solid #1a7a4c;
	outline-offset: 2px;
}

/* Trust Signals */
.w333-seo-trust__updated {
	margin: 1.5rem 0 0.75rem;
	font-size: 0.9rem;
	opacity: 0.8;
}

.w333-seo-trust__author {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	margin: 1.25rem 0;
	padding: 1rem 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.w333-seo-trust__avatar {
	border-radius: 50%;
	flex: 0 0 auto;
}

.w333-seo-trust__author-name {
	margin: 0 0 0.35rem;
	font-weight: 600;
}

.w333-seo-trust__author-bio {
	margin: 0;
	font-size: 0.95rem;
	opacity: 0.9;
}

.w333-seo-trust__bar {
	margin: 1.75rem 0 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.w333-seo-trust__statement,
.w333-seo-trust__responsible {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	line-height: 1.5;
}

.w333-seo-trust__links ul {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.w333-seo-trust__links a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
