
/*
 * Interactive Tech Guide Community
 * Editorial visual system matched to the main site.
 */

.aipc-shell {
	--aipc-bg: #f4f1e8;
	--aipc-card: rgba(255,255,255,.26);
	--aipc-rose: #c88792;
	--aipc-ink: #181818;
	--aipc-line: rgba(24,24,24,.22);
	--aipc-muted: rgba(24,24,24,.68);
	max-width: 980px;
	margin: 0 auto;
	padding: 34px 28px 80px;
	color: var(--aipc-ink);
	font-family: inherit;
}

.aipc-community-intro {
	text-align: center;
	padding: 38px 0 46px;
	border-bottom: 1px solid var(--aipc-line);
}

.aipc-kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--aipc-muted);
	margin-bottom: 8px;
}

.aipc-community-intro h1 {
	max-width: 760px;
	margin: 0 auto 12px;
	font-size: clamp(34px, 5.6vw, 58px);
	line-height: 1.02;
	letter-spacing: -.045em;
	font-weight: 700;
	color: var(--aipc-ink);
}

.aipc-lead {
	max-width: 720px;
	margin: 0 auto;
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.48;
	color: var(--aipc-muted);
}

.aipc-intro-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 24px;
}

.aipc-btn {
	display: inline-block;
	border: 0;
	border-radius: 4px;
	padding: 9px 17px;
	font: inherit;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none !important;
	cursor: pointer;
}

.aipc-btn-primary {
	background: var(--aipc-rose);
	color: #fff !important;
}

.aipc-inline-link,
.aipc-feature a,
.aipc-section-head a,
.aipc-text-link,
.aipc-discussion-foot a {
	color: var(--aipc-ink);
	text-decoration: none;
	font-size: 13px;
	font-weight: 650;
}

.aipc-feature-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-bottom: 1px solid var(--aipc-line);
}

.aipc-feature {
	min-height: 180px;
	padding: 28px 24px 30px 0;
}

.aipc-feature + .aipc-feature {
	border-left: 1px solid var(--aipc-line);
	padding-left: 24px;
}

.aipc-feature-number {
	font-size: 11px;
	color: var(--aipc-rose);
	font-weight: 700;
	margin-bottom: 22px;
}

.aipc-feature h2 {
	font-size: 25px;
	line-height: 1.05;
	letter-spacing: -.025em;
	margin: 0 0 9px;
}

.aipc-feature p {
	font-size: 14px;
	line-height: 1.45;
	color: var(--aipc-muted);
	margin: 0 0 18px;
}

.aipc-section {
	margin: 50px 0 0;
}

.aipc-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 10px;
	margin-bottom: 0;
	border-bottom: 1px solid var(--aipc-line);
}

.aipc-section-head h2 {
	font-size: clamp(24px, 3.4vw, 34px);
	line-height: 1.05;
	letter-spacing: -.03em;
	margin: 0;
	color: var(--aipc-ink);
}

.aipc-discussions {
	display: block;
}

.aipc-discussion {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 24px;
	padding: 18px 0;
	border-bottom: 1px solid var(--aipc-line);
	background: transparent;
	border-radius: 0;
}

.aipc-discussion-meta {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	font-size: 11px;
	color: var(--aipc-muted);
	margin-bottom: 5px;
}

.aipc-discussion h3 {
	grid-column: 1;
	font-size: 19px;
	line-height: 1.2;
	letter-spacing: -.015em;
	margin: 0 0 5px;
}

.aipc-discussion h3 a {
	color: var(--aipc-ink);
	text-decoration: none;
}

.aipc-discussion p {
	grid-column: 1;
	font-size: 13.5px;
	line-height: 1.45;
	color: var(--aipc-muted);
	margin: 0;
	max-width: 690px;
}

.aipc-discussion-foot {
	grid-column: 2;
	grid-row: 2 / 5;
	align-self: center;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	min-width: 78px;
	font-size: 11px;
	color: var(--aipc-muted);
	border: 0;
	margin: 0;
	padding: 0;
}

.aipc-pill {
	display: inline-block;
	padding: 2px 6px;
	border: 1px solid var(--aipc-line);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 650;
	color: var(--aipc-muted);
	background: transparent;
}

.aipc-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.aipc-card {
	position: relative;
	min-height: 178px;
	padding: 22px 22px 24px 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--aipc-line);
	border-radius: 0;
}

.aipc-card + .aipc-card {
	border-left: 1px solid var(--aipc-line);
	padding-left: 22px;
}

.aipc-card:nth-child(3n + 1) {
	border-left: 0;
	padding-left: 0;
}

.aipc-card-arrow {
	position: absolute;
	top: 21px;
	right: 18px;
	font-size: 15px;
	opacity: .45;
}

.aipc-card h3 {
	font-size: 18px;
	line-height: 1.18;
	letter-spacing: -.02em;
	margin: 0 24px 8px 0;
}

.aipc-card h3 a {
	color: var(--aipc-ink);
	text-decoration: none;
}

.aipc-card p {
	font-size: 13px;
	line-height: 1.45;
	color: var(--aipc-muted);
	margin: 0 0 13px;
}

.aipc-paired-sections {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
}

.aipc-half .aipc-card-grid {
	grid-template-columns: 1fr;
}

.aipc-half .aipc-card {
	min-height: auto;
	padding: 18px 0;
	border-left: 0;
}

.aipc-contribute {
	padding-top: 10px;
}

.aipc-contribute-intro {
	font-size: 14px;
	color: var(--aipc-muted);
	max-width: 620px;
	margin: 18px 0 18px;
}

.aipc-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

.aipc-form label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 12px;
	font-weight: 650;
}

.aipc-form input,
.aipc-form select,
.aipc-form textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--aipc-line);
	background: rgba(255,255,255,.42);
	color: var(--aipc-ink);
	padding: 10px 11px;
	border-radius: 3px;
	font: inherit;
	font-size: 14px;
}

.aipc-form input:focus,
.aipc-form select:focus,
.aipc-form textarea:focus {
	outline: 1px solid var(--aipc-rose);
	border-color: var(--aipc-rose);
}

.aipc-form textarea {
	resize: vertical;
	min-height: 145px;
}

.aipc-full {
	grid-column: 1 / -1;
}

.aipc-help,
.aipc-form small {
	font-size: 11px;
	font-weight: 400;
	color: var(--aipc-muted);
}

.aipc-empty,
.aipc-login-box,
.aipc-notice {
	padding: 16px 0;
	border-bottom: 1px solid var(--aipc-line);
	background: transparent;
	font-size: 13px;
}

.aipc-notice {
	border-top: 2px solid var(--aipc-rose);
	margin: 22px 0 0;
}

.aipc-notice-error {
	border-top-color: #6d3131;
}

.aipc-single-topics {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--aipc-line);
}

.aipc-home-community-link {
	cursor: pointer;
	transition: opacity .15s ease;
}
.aipc-home-community-link:hover {
	opacity: .78;
}
.aipc-home-community-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

@media (max-width: 760px) {
	.aipc-shell {
		padding: 22px 18px 60px;
	}

	.aipc-feature-strip,
	.aipc-card-grid,
	.aipc-paired-sections,
	.aipc-form {
		grid-template-columns: 1fr;
	}

	.aipc-feature {
		padding: 22px 0;
		border-bottom: 1px solid var(--aipc-line);
		min-height: 0;
	}

	.aipc-feature + .aipc-feature {
		border-left: 0;
		padding-left: 0;
	}

	.aipc-card + .aipc-card {
		border-left: 0;
		padding-left: 0;
	}

	.aipc-section-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.aipc-discussion {
		grid-template-columns: 1fr;
	}

	.aipc-discussion-foot {
		grid-column: 1;
		grid-row: auto;
		align-items: flex-start;
		flex-direction: row;
		margin-top: 9px;
	}

	.aipc-full {
		grid-column: auto;
	}
}


/* v0.6 — center WordPress's own Community page title only. */
body:has(.aipc-shell) .entry-title,
body:has(.aipc-shell) .page-title,
body:has(.aipc-shell) .wp-block-post-title {
    text-align: center !important;
}

/* Fallback for templates that expose the Community page slug as a body class. */
body.page-community .entry-title,
body.page-community .page-title,
body.page-community .wp-block-post-title {
    text-align: center !important;
}


/* v0.7 helper class if applied manually or by future theme integration */
.aipc-centered-page-title {
    text-align: center !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* v1.0 security, moderation and accessibility UI */
.aipc-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.aipc-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.aipc-check {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start;
	gap: 8px !important;
	font-weight: 400 !important;
}

.aipc-check input {
	width: auto !important;
	margin-top: .25em;
}

.aipc-consent {
	border: 0;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

.aipc-facilitator-badge {
	display: inline-block;
	border-bottom: 1px solid currentColor;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .03em;
}

.aipc-private-pill {
	margin-bottom: 10px;
}

.aipc-report {
	margin-top: 18px;
	padding-top: 12px;
	border-top: 1px solid var(--aipc-line, rgba(24,24,24,.22));
	font-size: 12px;
}

.aipc-report summary {
	cursor: pointer;
	font-weight: 650;
}

.aipc-report-form {
	display: grid;
	gap: 10px;
	max-width: 520px;
	margin-top: 12px;
}

.aipc-report-form label {
	display: grid;
	gap: 5px;
}

.aipc-report-form select,
.aipc-report-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	padding: 9px 10px;
	border: 1px solid var(--aipc-line, rgba(24,24,24,.22));
	background: rgba(255,255,255,.5);
	color: inherit;
}

.aipc-btn:focus-visible,
.aipc-inline-link:focus-visible,
.aipc-text-link:focus-visible,
.aipc-discussion a:focus-visible,
.aipc-card a:focus-visible,
.aipc-report summary:focus-visible,
.aipc-form input:focus-visible,
.aipc-form select:focus-visible,
.aipc-form textarea:focus-visible,
.aipc-report-form select:focus-visible,
.aipc-report-form textarea:focus-visible {
	outline: 3px solid currentColor !important;
	outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {
	.aipc-shell *,
	.aipc-home-community-link {
		scroll-behavior: auto !important;
		transition: none !important;
		animation: none !important;
	}
}


/* v1.1 — Community profile onboarding */
.aipc-login-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.aipc-register-grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 54px;
	align-items: start;
}

.aipc-register-grid > div > h2 {
	font-size: clamp(24px, 3.4vw, 34px);
	line-height: 1.08;
	letter-spacing: -.03em;
	margin: 0 0 12px;
}

.aipc-register-grid > div > p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--aipc-muted, rgba(24,24,24,.68));
}

.aipc-register-form {
	padding-top: 4px;
}

@media (max-width: 760px) {
	.aipc-register-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}


/* v1.2 — visible Community account / onboarding entry */
.aipc-account-strip {
	max-width: 760px;
	margin: 30px auto 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--aipc-line, rgba(24,24,24,.22));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	text-align: left;
}

.aipc-account-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.aipc-account-copy strong {
	font-size: 15px;
	line-height: 1.25;
}

.aipc-account-copy > span:not(.aipc-account-label) {
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--aipc-muted, rgba(24,24,24,.68));
}

.aipc-account-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--aipc-muted, rgba(24,24,24,.68));
}

.aipc-account-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 14px;
	flex: 0 0 auto;
}

@media (max-width: 640px) {
	.aipc-account-strip {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.aipc-account-actions {
		justify-content: flex-start;
	}
}

/* v1.4 Community profiles */
.aipc-profile-grid{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);gap:54px;align-items:start}.aipc-profile-preview{text-align:center;padding-top:6px}.aipc-profile-avatar{width:160px;height:160px;margin:0 auto 18px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(24,24,24,.08);border:1px solid var(--aipc-line,rgba(24,24,24,.18))}.aipc-profile-avatar img,.aipc-local-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%}.aipc-profile-avatar-fallback{font-size:54px;font-weight:650;line-height:1}.aipc-profile-preview h2{margin:0 0 5px;font-size:25px;letter-spacing:-.03em}.aipc-profile-preview p{margin:3px 0;color:var(--aipc-muted,rgba(24,24,24,.68))}.aipc-profile-role{font-weight:650;color:inherit!important}@media(max-width:760px){.aipc-profile-grid{grid-template-columns:1fr;gap:30px}}


/* v1.7 — theme-independent discussion replies */
.aipc-thread {
	margin-top: 46px;
	padding-top: 22px;
	border-top: 1px solid var(--aipc-line, rgba(24,24,24,.22));
}

.aipc-thread-head {
	margin-bottom: 8px;
}

.aipc-thread-head h2 {
	margin: 0;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.08;
	letter-spacing: -.03em;
}

.aipc-reply-list,
.aipc-reply-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.aipc-reply-list > li {
	padding: 20px 0;
	border-bottom: 1px solid var(--aipc-line, rgba(24,24,24,.18));
}

.aipc-reply-list .children {
	margin: 16px 0 0 34px;
	padding-left: 18px;
	border-left: 1px solid var(--aipc-line, rgba(24,24,24,.18));
}

.aipc-reply-list .comment-body {
	position: relative;
}

.aipc-reply-list .comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
}

.aipc-reply-list .avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}

.aipc-reply-list .comment-meta {
	margin: 4px 0 10px 50px;
	font-size: 11px;
	opacity: .62;
}

.aipc-reply-list .comment-meta a,
.aipc-reply-list .reply a {
	color: inherit;
	text-decoration: none;
}

.aipc-reply-list .comment-content {
	margin-left: 50px;
	font-size: 14px;
	line-height: 1.55;
}

.aipc-reply-list .reply {
	margin: 10px 0 0 50px;
	font-size: 12px;
	font-weight: 650;
}

.aipc-thread-empty {
	padding: 16px 0;
	color: var(--aipc-muted, rgba(24,24,24,.68));
	border-bottom: 1px solid var(--aipc-line, rgba(24,24,24,.18));
}

.aipc-reply-form-wrap {
	margin-top: 28px;
}

.aipc-reply-title {
	font-size: 21px;
	letter-spacing: -.02em;
	margin: 0 0 14px;
}

.aipc-reply-form-wrap .comment-form-comment {
	display: grid;
	gap: 7px;
}

.aipc-reply-form-wrap .comment-form-comment label {
	font-size: 12px;
	font-weight: 650;
}

.aipc-reply-form-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 12px;
	border: 1px solid var(--aipc-line, rgba(24,24,24,.25));
	border-radius: 3px;
	background: rgba(255,255,255,.42);
	color: inherit;
	font: inherit;
	resize: vertical;
}

.aipc-reply-form-wrap textarea:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

@media (max-width: 620px) {
	.aipc-reply-list .children {
		margin-left: 16px;
		padding-left: 12px;
	}
	.aipc-reply-list .comment-meta,
	.aipc-reply-list .comment-content,
	.aipc-reply-list .reply {
		margin-left: 0;
	}
}

/* v1.8 executive community structure */
.aipc-value-section h2,.aipc-hub-section h2,.aipc-contribute-section h2{font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:-.035em;margin:5px 0 22px}
.aipc-value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(24,24,24,.2);border-bottom:1px solid rgba(24,24,24,.2)}
.aipc-value-grid article{padding:26px 24px 28px 0}.aipc-value-grid article+article{border-left:1px solid rgba(24,24,24,.2);padding-left:24px}
.aipc-value-grid h3,.aipc-pillar-list h3{font-size:19px;margin:0 0 9px;letter-spacing:-.02em}.aipc-value-grid p,.aipc-pillar-list p{font-size:13.5px;line-height:1.55;margin:0}
.aipc-lead-small{max-width:760px;font-size:15px;line-height:1.55}
.aipc-pillar-list{border-top:1px solid rgba(24,24,24,.2);margin-top:22px}.aipc-pillar-list article{display:grid;grid-template-columns:90px 230px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(24,24,24,.2)}.aipc-pillar-list span{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.65}
.aipc-contribute-section>p{max-width:800px;font-size:15px;line-height:1.55}
@media(max-width:760px){.aipc-value-grid{grid-template-columns:1fr}.aipc-value-grid article{padding:22px 0}.aipc-value-grid article+article{border-left:0;border-top:1px solid rgba(24,24,24,.2);padding-left:0}.aipc-pillar-list article{grid-template-columns:1fr;gap:5px}}


/* v1.9.6 — reduce excess whitespace above the Community hero only. */
.aipc-shell {
	padding-top: 12px !important;
	margin-top: 0 !important;
}
.aipc-shell > .aipc-community-intro:first-child {
	margin-top: 0 !important;
	padding-top: 12px !important;
}


/* v2.1.2 — the plugin no longer creates a second hero-media block.
   It controls the pre-existing top media slot on the Community page. */
.aipc-managed-existing-hero-media img,
.aipc-managed-existing-hero-media video {
	display: block;
	width: 100%;
	height: auto;
}
.aipc-managed-existing-hero-media iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}


/* v2.1.4 — hero image must bleed edge-to-edge like the original hero video. */
.aipc-managed-existing-hero-media[data-aipc-managed-hero="image"] {
	position: relative;
	left: 50%;
	right: 50%;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	overflow: hidden;
}

.aipc-managed-existing-hero-media[data-aipc-managed-hero="image"] img {
	display: block;
	width: 100vw !important;
	max-width: none !important;
	height: auto;
	object-fit: cover;
	margin: 0 !important;
}
