/**
 * Civic Paper skin for Community Registry, Public Court Records, and Open Records pages.
 * Scoped to body.psr-plugin-page. Does not replace plugin markup.
 */

.psr-plugin-page {
	--psr-ink: var(--wp--preset--color--ink, #0b0c0c);
	--psr-muted: var(--wp--preset--color--muted, #505a5f);
	--psr-paper: var(--wp--preset--color--paper, #ffffff);
	--psr-canvas: var(--wp--preset--color--canvas, #f3f2f1);
	--psr-accent: var(--wp--preset--color--accent, #1d70b8);
	--psr-line: var(--wp--preset--color--line, #b1b4b6);
	--psr-radius: 4px;
	--cr-bg: var(--psr-canvas);
	--cr-surface: var(--psr-paper);
	--cr-border: var(--psr-line);
	--cr-primary: var(--psr-ink);
	--cr-primary2: var(--psr-accent);
	--cr-accent: var(--psr-accent);
	--cr-accent2: var(--psr-accent);
	--cr-text: var(--psr-ink);
	--cr-muted: var(--psr-muted);
	--cr-radius: var(--psr-radius);
	--cr-shadow: none;
	--cr-shadow-lg: none;
}

.psr-plugin-page:has(.cr-wrap h1, .pcr-shell__title, .orr-shortcode h1) .wp-block-post-title {
	display: none;
}

.psr-plugin-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: min(1120px, 100%);
}

.psr-plugin-page .wp-block-post-content {
	max-width: min(1120px, 100%);
	width: 100%;
}

.psr-plugin-page .cr-wrap,
.psr-plugin-page .pcr-shell,
.psr-plugin-page .orr-shortcode {
	font-family: inherit;
	color: var(--psr-ink);
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.psr-plugin-page .cr-wrap.cr-search-layout {
	max-width: none;
}

.psr-plugin-page .pcr-modal,
.psr-plugin-page .orr-modal:not([hidden]),
.psr-plugin-page .cr-search-modal,
.psr-plugin-page .cr-profile-nested-modal,
.psr-plugin-page .cr-photo-carousel {
	z-index: 100020;
}

.psr-plugin-page .pcr-stats {
	top: 5.5rem;
}

/* Community Registry */
.psr-plugin-page .cr-wrap a,
.psr-plugin-page .cr-hero-title,
.psr-plugin-page .cr-hero-title h1 {
	color: var(--psr-ink);
}

.psr-plugin-page .cr-wrap a:where(:not(.cr-btn):not(.button)) {
	color: var(--psr-accent);
}

.psr-plugin-page .cr-wrap a:where(:not(.cr-btn):not(.button)):hover,
.psr-plugin-page .cr-wrap a:where(:not(.cr-btn):not(.button)):focus-visible {
	color: var(--psr-ink);
}

.psr-plugin-page .cr-hero,
.psr-plugin-page .cr-search-stats-card,
.psr-plugin-page .cr-profile-card,
.psr-plugin-page .cr-panel {
	background: var(--psr-paper);
	border: 1px solid var(--psr-line);
	border-radius: var(--psr-radius);
	box-shadow: none;
}

.psr-plugin-page .cr-hero::before,
.psr-plugin-page .cr-hero::after {
	display: none;
}

.psr-plugin-page .cr-btn,
.psr-plugin-page .cr-btn--primary,
.psr-plugin-page .cr-btn--ghost,
.psr-plugin-page .cr-btn--search,
.psr-plugin-page .cr-field-input,
.psr-plugin-page .cr-wrap input,
.psr-plugin-page .cr-wrap select,
.psr-plugin-page .cr-wrap textarea {
	font-family: inherit;
	border-radius: var(--psr-radius);
}

.psr-plugin-page .cr-btn--primary {
	background: var(--psr-accent);
	color: var(--psr-paper) !important;
}

.psr-plugin-page .cr-btn--primary:hover,
.psr-plugin-page .cr-btn--primary:focus-visible {
	background: var(--psr-ink);
	color: var(--psr-paper) !important;
}

.psr-plugin-page .cr-btn--search {
	background: var(--psr-accent);
	color: var(--psr-paper);
	border-color: var(--psr-accent);
	box-shadow: none;
}

.psr-plugin-page .cr-btn--search:hover,
.psr-plugin-page .cr-btn--search:focus-visible {
	background: var(--psr-ink);
	border-color: var(--psr-ink);
	color: var(--psr-paper);
}

.psr-plugin-page .cr-btn--ghost {
	color: var(--psr-accent) !important;
	border-color: var(--psr-line);
}

.psr-plugin-page .cr-field-input:focus,
.psr-plugin-page .cr-wrap input:focus,
.psr-plugin-page .cr-wrap select:focus,
.psr-plugin-page .cr-wrap textarea:focus {
	border-color: var(--psr-accent);
	outline: 2px solid var(--psr-accent);
	outline-offset: 1px;
}

.psr-plugin-page .cr-notice,
.psr-plugin-page .pcr-access-denied {
	background: var(--psr-paper);
	border: 1px solid var(--psr-line);
	border-left: 4px solid var(--psr-accent);
	border-radius: var(--psr-radius);
	padding: 1rem 1.15rem;
	color: var(--psr-ink);
	max-width: 40rem;
}

.psr-plugin-page .cr-notice-auth-link {
	color: var(--psr-accent);
}

/* Public Court Records */
.psr-plugin-page .pcr-shell,
.psr-plugin-page .pcr-shell__title,
.psr-plugin-page .pcr-shell__intro,
.psr-plugin-page .pcr-page-results__title,
.psr-plugin-page .pcr-stats__title,
.psr-plugin-page .pcr-stats__label,
.psr-plugin-page .pcr-stats__value,
.psr-plugin-page .pcr-stats__detail,
.psr-plugin-page .pcr-field__label,
.psr-plugin-page .pcr-search-hint,
.psr-plugin-page .pcr-search-results,
.psr-plugin-page .pcr-search-results__status {
	color: var(--psr-ink);
}

.psr-plugin-page .pcr-shell a {
	color: var(--psr-accent);
}

.psr-plugin-page .pcr-shell a:hover,
.psr-plugin-page .pcr-shell a:focus-visible {
	color: var(--psr-ink);
}

.psr-plugin-page .pcr-page-results,
.psr-plugin-page .pcr-stats,
.psr-plugin-page .pcr-search-results,
.psr-plugin-page .pcr-modal__panel {
	background: var(--psr-paper);
	border-color: var(--psr-line);
	border-radius: var(--psr-radius);
	color: var(--psr-ink);
}

.psr-plugin-page .pcr-btn {
	border-radius: var(--psr-radius);
	font-family: inherit;
}

.psr-plugin-page .pcr-btn--primary {
	background: var(--psr-accent);
	border-color: var(--psr-accent);
	color: var(--psr-paper);
}

.psr-plugin-page .pcr-btn--primary:hover,
.psr-plugin-page .pcr-btn--primary:focus-visible {
	background: var(--psr-ink);
	border-color: var(--psr-ink);
	color: var(--psr-paper);
}

.psr-plugin-page .pcr-btn--ghost {
	background: var(--psr-paper);
	border-color: var(--psr-line);
	color: var(--psr-ink);
}

.psr-plugin-page .pcr-input {
	border-color: var(--psr-line);
	border-radius: var(--psr-radius);
	color: var(--psr-ink);
	background: var(--psr-paper);
}

.psr-plugin-page .pcr-input:focus {
	border-color: var(--psr-accent);
	outline: 2px solid var(--psr-accent);
	outline-offset: 1px;
}

.psr-plugin-page .pcr-search-quota {
	background: var(--psr-canvas);
	border-color: var(--psr-line);
	color: var(--psr-ink);
}

/* Open Records */
.psr-plugin-page .orr-shortcode,
.psr-plugin-page .orr-request-form,
.psr-plugin-page .orr-continue-form {
	color: var(--psr-ink);
}

.psr-plugin-page .orr-shortcode a {
	color: var(--psr-accent);
}

.psr-plugin-page .orr-shortcode a:hover,
.psr-plugin-page .orr-shortcode a:focus-visible {
	color: var(--psr-ink);
}

.psr-plugin-page .orr-request-form .orr-field input[type="text"],
.psr-plugin-page .orr-request-form .orr-field input[type="email"],
.psr-plugin-page .orr-request-form .orr-field input[type="number"],
.psr-plugin-page .orr-request-form .orr-field select,
.psr-plugin-page .orr-request-form .orr-field textarea,
.psr-plugin-page .orr-continue-form .orr-field textarea,
.psr-plugin-page .orr-continue-form input,
.psr-plugin-page .orr-continue-form select {
	border: 1px solid var(--psr-line);
	border-radius: var(--psr-radius);
	background: var(--psr-paper);
	color: var(--psr-ink);
}

.psr-plugin-page .orr-request-form .orr-field input:focus,
.psr-plugin-page .orr-request-form .orr-field select:focus,
.psr-plugin-page .orr-request-form .orr-field textarea:focus,
.psr-plugin-page .orr-continue-form input:focus,
.psr-plugin-page .orr-continue-form select:focus,
.psr-plugin-page .orr-continue-form textarea:focus {
	border-color: var(--psr-accent);
	outline: 2px solid var(--psr-accent);
	outline-offset: 1px;
}

.psr-plugin-page .orr-shortcode .button-primary,
.psr-plugin-page .orr-actions .button.button-primary,
.psr-plugin-page .orr-submit-request,
.psr-plugin-page .orr-continue-form .button-primary {
	background: var(--psr-accent);
	border-color: var(--psr-accent);
	color: var(--psr-paper);
	border-radius: var(--psr-radius);
	text-shadow: none;
	box-shadow: none;
}

.psr-plugin-page .orr-shortcode .button-primary:hover,
.psr-plugin-page .orr-shortcode .button-primary:focus,
.psr-plugin-page .orr-actions .button.button-primary:hover,
.psr-plugin-page .orr-actions .button.button-primary:focus,
.psr-plugin-page .orr-submit-request:hover,
.psr-plugin-page .orr-submit-request:focus,
.psr-plugin-page .orr-continue-form .button-primary:hover,
.psr-plugin-page .orr-continue-form .button-primary:focus {
	background: var(--psr-ink);
	border-color: var(--psr-ink);
	color: var(--psr-paper);
}

.psr-plugin-page .orr-notice {
	border-radius: var(--psr-radius);
}

.psr-plugin-page .orr-modal__panel {
	border-radius: var(--psr-radius);
}

/* Utilities Login / Register */
.psr-plugin-page .util-login-register,
.psr-plugin-page .util-custom-login {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__sitename,
.psr-plugin-page .util-login-register__label,
.psr-plugin-page .util-login-register__remember {
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__subtitle {
	color: var(--psr-muted);
}

.psr-plugin-page .util-login-register__tabs {
	background: var(--psr-canvas);
	border-color: var(--psr-line);
}

.psr-plugin-page .util-login-register__tab {
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__tab.is-active {
	background: var(--psr-paper);
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__tab:hover,
.psr-plugin-page .util-login-register__tab:focus-visible {
	outline-color: var(--psr-accent);
}

.psr-plugin-page .util-login-register__input {
	border-color: var(--psr-line);
	background: var(--psr-paper);
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__input:focus {
	border-color: var(--psr-accent);
	outline-color: var(--psr-accent);
}

.psr-plugin-page .util-login-register__submit,
.psr-plugin-page .util-login-register .button.button-primary {
	background: var(--psr-accent);
	border-color: var(--psr-accent);
	color: var(--psr-paper);
}

.psr-plugin-page .util-login-register__submit:hover,
.psr-plugin-page .util-login-register__submit:focus,
.psr-plugin-page .util-login-register .button.button-primary:hover,
.psr-plugin-page .util-login-register .button.button-primary:focus {
	background: var(--psr-ink);
	border-color: var(--psr-ink);
	color: var(--psr-paper);
}

.psr-plugin-page .util-login-register__submit:focus-visible,
.psr-plugin-page .util-login-register .button.button-primary:focus-visible {
	outline-color: var(--psr-accent);
}

.psr-plugin-page .util-login-register__notice--error {
	background: var(--psr-paper);
	border-color: var(--psr-line);
	border-left: 4px solid var(--psr-accent);
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__account-name {
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__account-link {
	color: var(--psr-accent);
}

.psr-plugin-page .util-login-register__account-link:hover,
.psr-plugin-page .util-login-register__account-link:focus-visible {
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__account-link--logout {
	color: var(--psr-ink);
}

.psr-plugin-page .util-login-register__avatar {
	border: 2px solid var(--psr-line);
}

@media (max-width: 781px) {
	.psr-plugin-page .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	.psr-plugin-page .wp-block-post-content {
		max-width: 100%;
	}

	.psr-plugin-page .cr-wrap,
	.psr-plugin-page .pcr-shell,
	.psr-plugin-page .orr-shortcode {
		padding-left: max(1rem, env(safe-area-inset-left));
		padding-right: max(1rem, env(safe-area-inset-right));
	}

	.psr-plugin-page .cr-wrap {
		padding-bottom: 2.5rem;
	}
}
