/* WNYpress Support — deliberately quiet, readable and search-first. */
:root {
	--wny-shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.05);
	--wny-shadow-md: 0 14px 36px rgba(16, 24, 40, 0.08);
	--wny-radius-sm: 8px;
	--wny-radius: 14px;
	--wny-radius-lg: 22px;
}

:root :where(.wp-site-blocks) { overflow-wrap: anywhere; }

.wny-local-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	background: rgba(255,255,255,.98);
	position: relative;
	z-index: 20;
}
.wny-local-header__inner { min-height: 72px; }
.wny-local-header .wny-local-brand { margin: 0; font-size: 1.2rem; font-weight: 780; letter-spacing: -.02em; line-height: 1; }
.wny-local-header .wny-local-brand a,
.wny-local-header .wp-block-navigation-item__content { color: var(--wp--preset--color--charcoal); text-decoration: none; }
.wny-local-header .wp-block-navigation-item__content:hover,
.wny-local-header .wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--brand); }
.wny-local-header .wp-block-navigation__responsive-container-open,
.wny-local-header .wp-block-navigation__responsive-container-close { border-radius: 7px; padding: .35rem; }

.wny-support-section { padding-top: clamp(3.5rem,7vw,6rem); padding-bottom: clamp(3.5rem,7vw,6rem); }
.wny-support-section--compact { padding-top: clamp(2.25rem,5vw,4rem); padding-bottom: clamp(2.25rem,5vw,4rem); }
.wny-support-muted { background: var(--wp--preset--color--cloud); }
.wny-support-kicker { display:inline-flex; align-items:center; gap:.45rem; margin:0 0 .7rem; color:var(--wp--preset--color--brand); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.wny-support-kicker::before { content:""; width:1.5rem; height:2px; border-radius:999px; background:currentColor; }
.wny-support-lede { max-width:760px; color:var(--wp--preset--color--muted); font-size:clamp(1.08rem,1rem + .35vw,1.35rem); line-height:1.65; }

.wny-support-hero { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#f5f8ff 100%); }
.wny-support-hero::after { content:""; position:absolute; width:30rem; height:30rem; border-radius:50%; border:1px solid rgba(47,91,231,.13); right:-12rem; bottom:-15rem; pointer-events:none; }
.wny-support-hero > * { position:relative; z-index:1; }
.wny-support-search { max-width:850px; margin-top:2rem; }
.wny-support-search .wp-block-search__inside-wrapper { padding:.38rem; border:1px solid #cfd6e2; border-radius:12px; background:#fff; box-shadow:var(--wny-shadow-md); }
.wny-support-search .wp-block-search__input { min-height:52px; border:0; border-radius:8px; padding:.8rem 1rem; font-size:1rem; }
.wny-support-search .wp-block-search__button { margin-left:.35rem; min-height:52px; border:0; border-radius:9px; background:var(--wp--preset--color--brand); color:#fff; font-weight:750; padding:0 1.35rem; }

.wny-topic-grid { gap:1rem; }
.wny-topic-card { height:100%; padding:1.45rem; border:1px solid var(--wp--preset--color--line); border-radius:var(--wny-radius); background:#fff; box-shadow:var(--wny-shadow-sm); transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.wny-topic-card:hover { transform:translateY(-2px); box-shadow:var(--wny-shadow-md); border-color:#cad3df; }
.wny-topic-card h3 { margin:.25rem 0 .5rem; font-size:1.12rem; }
.wny-topic-card p { margin:0; color:var(--wp--preset--color--muted); font-size:.94rem; line-height:1.55; }
.wny-topic-card a { color:inherit; text-decoration:none; }
.wny-topic-card__icon { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:var(--wp--preset--color--mist); color:var(--wp--preset--color--brand); font-size:.78rem; font-weight:850; }

.wny-help-list { border-top:1px solid var(--wp--preset--color--line); }
.wny-help-list .wp-block-post { padding:1.25rem 0; border-bottom:1px solid var(--wp--preset--color--line); }
.wny-help-list .wp-block-post-title { margin:0 0 .35rem; font-size:1.12rem; line-height:1.35; }
.wny-help-list .wp-block-post-excerpt { margin:0; color:var(--wp--preset--color--muted); font-size:.94rem; }
.wny-help-list .wp-block-post-excerpt__excerpt { margin:0; }

.wny-status-card { padding:1.5rem; border:1px solid #cfd8e5; border-radius:var(--wny-radius); background:#fff; }
.wny-status-ok { display:inline-flex; align-items:center; gap:.5rem; font-weight:780; color:#16794a; }
.wny-status-ok::before { content:"✓"; display:grid; place-items:center; width:1.45rem; height:1.45rem; border-radius:50%; background:#e8f7ef; }

.wny-support-cta { border-radius:var(--wny-radius-lg); background:linear-gradient(135deg,#102a60 0%,#235be7 100%); color:#fff; box-shadow:var(--wny-shadow-md); }
.wny-support-cta h2,.wny-support-cta h3 { color:#fff; }
.wny-support-cta p { color:#dce6ff; }
.wny-support-cta .wp-block-button.is-style-outline .wp-block-button__link { color:#fff; border-color:rgba(255,255,255,.65); }

.wny-article-shell { padding-top:clamp(2.5rem,6vw,5rem); padding-bottom:clamp(4rem,8vw,7rem); }
.wny-article-header { max-width:820px; margin-left:auto; margin-right:auto; }
.wny-article-meta { display:flex; flex-wrap:wrap; gap:.5rem 1rem; color:var(--wp--preset--color--muted); font-size:.88rem; }
.wny-article-body { max-width:820px; margin:2.25rem auto 0; }
.wny-article-body :where(p,li) { line-height:1.78; }
.wny-article-body h2 { margin-top:2.5rem; }
.wny-article-body h3 { margin-top:2rem; }
.wny-article-body pre { overflow:auto; padding:1.15rem; border-radius:10px; background:#111827; color:#f9fafb; }
.wny-article-body code:not(pre code) { padding:.15em .35em; border-radius:5px; background:#f0f2f5; font-size:.92em; }
.wny-article-body img { border-radius:10px; }
.wny-article-body .wp-block-image { margin-top:1.75rem; margin-bottom:1.75rem; }

.wny-breadcrumbs { color:var(--wp--preset--color--muted); font-size:.86rem; }
.wny-breadcrumbs a { color:var(--wp--preset--color--muted); }
.wny-breadcrumbs .wp-block-post-terms__separator { margin:0 .35rem; }

.wny-article-help { max-width:820px; margin:3rem auto 0; padding-top:2rem; border-top:1px solid var(--wp--preset--color--line); }
.wny-article-help__panel { padding:1.5rem; border-radius:var(--wny-radius); background:var(--wp--preset--color--cloud); }

.wny-archive-header { background:linear-gradient(180deg,#fff 0%,#f8faff 100%); border-bottom:1px solid var(--wp--preset--color--line); }
.wny-archive-list .wp-block-post { padding:1.5rem 0; border-bottom:1px solid var(--wp--preset--color--line); }
.wny-archive-list .wp-block-post-title { margin:0 0 .4rem; font-size:1.25rem; }
.wny-archive-list .wp-block-post-excerpt { color:var(--wp--preset--color--muted); }

.wny-pagination { margin-top:2rem; }
.wny-pagination .page-numbers { display:inline-grid; place-items:center; min-width:2rem; height:2rem; padding:0 .45rem; border-radius:7px; }
.wny-pagination .current { background:var(--wp--preset--color--brand); color:#fff; }

.wny-form-panel { padding:clamp(1.5rem,3vw,2.25rem); border:1px solid var(--wp--preset--color--line); border-radius:var(--wny-radius); background:#fff; box-shadow:var(--wny-shadow-sm); }
.wny-form-panel input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wny-form-panel textarea,
.wny-form-panel select { width:100%; border:1px solid #cbd2dc; border-radius:8px; padding:.78rem .85rem; background:#fff; }
.wny-form-panel input:focus,
.wny-form-panel textarea:focus,
.wny-form-panel select:focus { outline:3px solid rgba(47,91,231,.16); border-color:var(--wp--preset--color--brand); }
.wny-form-panel input[type="submit"],
.wny-form-panel button[type="submit"] { border:0; border-radius:8px; padding:.8rem 1.2rem; background:var(--wp--preset--color--brand); color:#fff; font-weight:750; cursor:pointer; }

@media (max-width: 782px) {
	.wny-local-header__inner { min-height:64px; }
	.wny-support-search .wp-block-search__inside-wrapper { display:flex; }
	.wny-support-search .wp-block-search__button { padding:0 1rem; }
	.wny-article-shell { padding-top:2rem; }
}

@media (prefers-reduced-motion: reduce) {
	.wny-topic-card { transition:none; }
	.wny-topic-card:hover { transform:none; }
}

/* --------------------------------------------------------------------------
 * WNYpress network 404
 * -------------------------------------------------------------------------- */
.wny-404 {
	box-sizing: border-box;
	padding: clamp(2.25rem, 5vw, 4.25rem) 1.25rem clamp(3rem, 6vw, 5rem);
	background: #ffffff;
	color: #142239;
}

.wny-404__inner {
	max-width: 760px !important;
	margin-inline: auto;
	text-align: center;
}

.wny-404__code {
	margin: 0 0 .25rem;
	color: #d9dce2;
	font-size: clamp(4.75rem, 10vw, 7.5rem);
	font-weight: 800;
	letter-spacing: -.065em;
	line-height: .82;
}

.wny-404__title {
	margin: 0 auto clamp(1rem, 2vw, 1.35rem);
	max-width: 720px;
	color: #142239;
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 750;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.wny-404-media {
	width: min(100%, 410px);
	margin: 0 auto .55rem;
}

.wny-404-media__window {
	padding: 3px;
	border: 1px solid #202020;
	background: #bfbfbf;
	box-shadow:
		0 0 0 1px #f4f4f4 inset,
		0 0 0 2px #6d6d6d,
		0 10px 24px rgba(20, 34, 57, .14);
}

.wny-404-media__titlebar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 27px;
	padding: 3px 5px 3px 8px;
	background: #07379b;
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 1;
	text-align: left;
	user-select: none;
}

.wny-404-media__close {
	display: grid;
	width: 20px;
	height: 20px;
	place-items: center;
	border: 1px solid #1f1f1f;
	background: #d6d6d6;
	box-shadow: 1px 1px 0 #ffffff inset, -1px -1px 0 #707070 inset;
	color: #111111;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.wny-404-media video {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	background: #000000;
}

.wny-404-media__hear {
	display: inline-flex;
	gap: .42rem;
	align-items: center;
	justify-content: center;
	margin: .7rem auto 0;
	padding: .2rem .35rem;
	border: 0;
	background: transparent;
	color: #064cc9;
	font: inherit;
	font-size: .95rem;
	font-weight: 650;
	line-height: 1.35;
	cursor: pointer;
}

.wny-404-media__hear:hover,
.wny-404-media__hear:focus-visible {
	text-decoration: underline;
}

.wny-404-media__hear:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.wny-404-media__speaker {
	font-size: 1.05rem;
	line-height: 1;
}

.wny-404__subtitle {
	margin: .65rem auto .35rem;
	max-width: 640px;
	color: #142239;
	font-size: clamp(1.12rem, 2vw, 1.35rem);
	font-weight: 750;
	line-height: 1.25;
}

.wny-404__copy {
	max-width: 560px;
	margin: 0 auto 1.15rem;
	color: #4e5b6d;
	font-size: 1rem;
	line-height: 1.55;
}

.wny-404__actions {
	gap: .8rem;
	margin: 0 auto 1.1rem;
}

.wny-404__actions .wp-block-button__link {
	min-width: 190px;
	padding: .78rem 1.15rem;
	border-radius: 6px;
	font-weight: 700;
}

.wny-404__home .wp-block-button__link::before {
	content: "⌂";
	margin-right: .45rem;
	font-size: 1.15em;
	vertical-align: -.03em;
}

.wny-404__support .wp-block-button__link::before {
	content: "?";
	display: inline-grid;
	width: 1.2em;
	height: 1.2em;
	margin-right: .45rem;
	place-items: center;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	font-size: .78em;
	font-weight: 800;
	line-height: 1;
	vertical-align: .1em;
}

.wny-404__search-wrap {
	max-width: 410px !important;
	margin-inline: auto;
}

.wny-404__search-label {
	margin: 0 0 .35rem;
	color: #7a828d;
	font-size: .8rem;
}

.wny-404__search.wp-block-search {
	margin: 0;
}

.wny-404__search .wp-block-search__inside-wrapper {
	min-height: 42px;
	padding: 0;
	border: 1px solid #d4d9e0;
	border-radius: 6px;
	background: #ffffff;
	overflow: hidden;
}

.wny-404__search .wp-block-search__input {
	min-width: 0;
	padding: .65rem .8rem;
	border: 0;
	outline: 0;
	background: transparent;
	color: #142239;
	font: inherit;
}

.wny-404__search .wp-block-search__button {
	margin: 0;
	padding: .55rem .7rem;
	border: 0;
	background: transparent;
	color: #334155;
}

.wny-404__search .wp-block-search__button:hover,
.wny-404__search .wp-block-search__button:focus-visible {
	background: #f3f5f8;
}

@media (max-width: 600px) {
	.wny-404 {
		padding-inline: 1rem;
	}

	.wny-404__code {
		font-size: clamp(4.25rem, 24vw, 6rem);
	}

	.wny-404__title {
		font-size: clamp(1.7rem, 8vw, 2.2rem);
	}

	.wny-404-media {
		width: min(100%, 360px);
	}

	.wny-404__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.wny-404__actions .wp-block-button,
	.wny-404__actions .wp-block-button__link {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wny-404-media video {
		scroll-behavior: auto;
	}
}

