/**
 * AO Crime Search. Widget styles
 *
 * Restyled from the dark prototype (crime-search-widget_1.html) to the
 * Advanced Overwatch site palette: Inter typography, deep navy #0F1C33,
 * accent red #E63946, light surface #F6F7F9.
 */

.ao-crime-search {
	--ao-navy: #0F1C33;
	--ao-navy-900: #0A1426;
	--ao-navy-700: #1A2B49;
	--ao-red: #E63946;
	--ao-red-dark: #B71C2C;
	--ao-ink: #111111;
	--ao-ink-2: #6B7280;
	--ao-surface: #F6F7F9;
	--ao-border: #E5E7EB;
	--ao-border-strong: #CBD5E1;
	--ao-amber: #F4A261;
	--ao-green: #10B981;
	--ao-orange: #F97316;

	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--ao-ink);
	max-width: 680px;
	margin: 0 auto;
	padding: 24px;
	background: #ffffff;
	border: 1px solid var(--ao-border);
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(15, 28, 51, 0.06);
	box-sizing: border-box;
}

.ao-crime-search *,
.ao-crime-search *::before,
.ao-crime-search *::after {
	box-sizing: border-box;
}

.ao-crime-search__header {
	text-align: center;
	margin-bottom: 24px;
}

.ao-crime-search__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	background: rgba(230, 57, 70, 0.08);
	border: 1px solid rgba(230, 57, 70, 0.2);
	border-radius: 40px;
	padding: 7px 16px;
}

.ao-crime-search__badge-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ao-red);
	box-shadow: 0 0 12px rgba(230, 57, 70, 0.5);
}

.ao-crime-search__badge-text {
	font-size: 11px;
	font-weight: 700;
	color: var(--ao-red);
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.ao-crime-search__title {
	font-size: 28px;
	font-weight: 800;
	color: var(--ao-navy);
	margin: 0 0 8px;
	line-height: 1.2;
	letter-spacing: -0.5px;
}

.ao-crime-search__intro {
	font-size: 15px;
	color: var(--ao-ink-2);
	line-height: 1.55;
	max-width: 460px;
	margin: 0 auto;
}

.ao-crime-search__box {
	background: var(--ao-surface);
	border: 1px solid var(--ao-border);
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 18px;
}

.ao-crime-search__row {
	display: flex;
	gap: 10px;
	margin-bottom: 12px;
}

.ao-crime-search__input-wrap {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid var(--ao-border-strong);
	border-radius: 10px;
	padding: 0 14px;
	transition: border-color 0.2s, box-shadow 0.2s;
	color: var(--ao-ink-2);
}

.ao-crime-search__input-wrap:focus-within {
	border-color: var(--ao-red);
	box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.15);
}

/* important flags: the Elementor kit / theme form styling (1px #D1D5DB
   border, 4px radius, own padding + drop shadow) outranks this class on
   <input> and drew a box-within-a-box inside the white search pill. The
   pill (.ao-crime-search__input-wrap) is the only visible chrome. */
.ao-crime-search__input,
.ao-crime-search__input:focus {
	background: transparent !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	width: 100%;
	padding: 13px 0 !important;
	color: var(--ao-navy);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.5px;
	font-family: inherit;
	text-transform: uppercase;
}

.ao-crime-search__input::placeholder {
	color: #94A3B8;
	text-transform: none;
	font-weight: 500;
}

.ao-crime-search__btn {
	background: linear-gradient(135deg, var(--ao-red), var(--ao-red-dark));
	border: none;
	border-radius: 10px;
	padding: 0 24px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: 0.3px;
	white-space: nowrap;
	box-shadow: 0 4px 16px rgba(230, 57, 70, 0.25);
	transition: transform 0.15s, box-shadow 0.15s;
}

.ao-crime-search__btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(230, 57, 70, 0.35);
}

.ao-crime-search__btn:disabled {
	background: #9CA3AF;
	cursor: wait;
	box-shadow: none;
	transform: none;
}

.ao-crime-search__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ao-crime-search__source {
	font-size: 11px;
	color: var(--ao-ink-2);
}

.ao-crime-search__month {
	display: flex;
	align-items: center;
	gap: 8px;
}

.ao-crime-search__month label {
	font-size: 12px;
	color: var(--ao-ink-2);
	font-weight: 500;
}

.ao-crime-search__month-select {
	background: #ffffff;
	border: 1px solid var(--ao-border-strong);
	border-radius: 6px;
	padding: 6px 10px;
	color: var(--ao-navy);
	font-size: 13px;
	font-family: inherit;
	cursor: pointer;
	outline: none;
}

.ao-crime-search__error {
	/* v2.3.1: on-brand, high-contrast notice (was dark-red-on-red and
	   unreadable on the dark hero. Patrick 2026-08-03). Gold-edged navy
	   panel in split/hero mode; soft gold panel in card mode below. */
	background: #12315B;
	border: 1px solid #35507A;
	border-left: 4px solid #FFC107;
	border-radius: 10px;
	padding: 14px 18px;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 500;
}

.ao-crime-search:not(.ao-crime-search--split) .ao-crime-search__error {
	background: #FCF3E3;
	border-color: #EAD9AE;
	border-left-color: #FFC107;
	color: #5C4708;
}

.ao-crime-search__error[hidden] {
	display: none;
}

.ao-crime-search__results {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.ao-crime-search__results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.ao-crime-search__location-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
	flex-wrap: wrap;
	gap: 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ao-border);
}

.ao-crime-search__location-label {
	font-size: 13px;
	color: var(--ao-ink-2);
	font-weight: 500;
}

.ao-crime-search__location-code {
	font-size: 15px;
	color: var(--ao-navy);
	font-weight: 700;
}

.ao-crime-search__location-area {
	font-size: 13px;
	color: var(--ao-ink-2);
}

.ao-crime-search__location-radius {
	font-size: 12px;
	color: #94A3B8;
	font-style: italic;
}

.ao-crime-search__stats {
	display: flex;
	gap: 12px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.ao-crime-search__stat {
	background: var(--ao-surface);
	border: 1px solid var(--ao-border);
	border-radius: 12px;
	padding: 16px 18px;
	flex: 1 1 150px;
	min-width: 140px;
}

.ao-crime-search__stat-label {
	font-size: 11px;
	color: var(--ao-ink-2);
	text-transform: uppercase;
	letter-spacing: 1.2px;
	font-weight: 700;
	margin-bottom: 6px;
}

.ao-crime-search__stat-value {
	font-size: 28px;
	font-weight: 800;
	color: var(--ao-navy);
	line-height: 1;
}

.ao-crime-search__stat-sub {
	font-size: 11px;
	color: var(--ao-ink-2);
	margin-top: 4px;
}

.ao-crime-search__stat--risk-low    { background: rgba(16, 185, 129, 0.08);  border-color: rgba(16, 185, 129, 0.25); }
.ao-crime-search__stat--risk-mod    { background: rgba(244, 162, 97, 0.10);  border-color: rgba(244, 162, 97, 0.30); }
.ao-crime-search__stat--risk-high   { background: rgba(249, 115, 22, 0.10);  border-color: rgba(249, 115, 22, 0.30); }
.ao-crime-search__stat--risk-severe { background: rgba(230, 57, 70, 0.08);   border-color: rgba(230, 57, 70, 0.30); }
.ao-crime-search__stat--risk-none   { background: #F3F4F6;                   border-color: var(--ao-border); }

.ao-crime-search__risk-value--low    { color: var(--ao-green); }
.ao-crime-search__risk-value--mod    { color: var(--ao-amber); }
.ao-crime-search__risk-value--high   { color: var(--ao-orange); }
.ao-crime-search__risk-value--severe { color: var(--ao-red); }
.ao-crime-search__risk-value--none   { color: var(--ao-ink-2); }

.ao-crime-search__breakdown {
	background: var(--ao-surface);
	border: 1px solid var(--ao-border);
	border-radius: 12px;
	padding: 20px 22px;
	margin-bottom: 20px;
}

.ao-crime-search__breakdown-title {
	font-size: 14px;
	font-weight: 800;
	color: var(--ao-navy);
	margin: 0 0 4px;
	letter-spacing: 0.3px;
}

.ao-crime-search__breakdown-subtitle {
	font-size: 12px;
	color: var(--ao-ink-2);
	margin: 0 0 12px;
}

.ao-crime-search__crime-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ao-border);
}

.ao-crime-search__crime-row:last-child {
	border-bottom: none;
}

.ao-crime-search__crime-row--dimmed {
	opacity: 0.55;
}

.ao-crime-search__crime-icon {
	font-size: 18px;
	width: 28px;
	text-align: center;
	flex-shrink: 0;
}

.ao-crime-search__crime-info {
	flex: 1;
	min-width: 0;
}

.ao-crime-search__crime-info-top {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 4px;
}

.ao-crime-search__crime-name {
	font-size: 13px;
	color: var(--ao-ink-2);
	font-weight: 500;
}

.ao-crime-search__crime-name--highlight {
	color: var(--ao-navy);
	font-weight: 700;
}

.ao-crime-search__crime-count {
	font-size: 13px;
	font-weight: 800;
	margin-left: 8px;
	flex-shrink: 0;
}

.ao-crime-search__crime-bar-bg {
	height: 6px;
	background: rgba(15, 28, 51, 0.06);
	border-radius: 3px;
	overflow: hidden;
}

.ao-crime-search__crime-bar-fill {
	height: 100%;
	border-radius: 3px;
	transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.ao-crime-search__cta {
	background: linear-gradient(135deg, var(--ao-navy), var(--ao-navy-700));
	border: 1px solid var(--ao-navy-900);
	border-radius: 14px;
	padding: 26px 28px;
	text-align: center;
	color: #ffffff;
}

.ao-crime-search__cta-title {
	font-size: 20px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 8px;
}

.ao-crime-search__cta-text {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 18px;
	line-height: 1.55;
}

.ao-crime-search__cta-btn {
	background: linear-gradient(135deg, var(--ao-red), var(--ao-red-dark));
	border: none;
	border-radius: 10px;
	padding: 14px 32px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	letter-spacing: 0.3px;
	box-shadow: 0 4px 20px rgba(230, 57, 70, 0.35);
	transition: transform 0.15s, box-shadow 0.15s;
	text-decoration: none;
	display: inline-block;
}

.ao-crime-search__cta-btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 24px rgba(230, 57, 70, 0.45);
	color: #ffffff;
}

.ao-crime-search__empty {
	text-align: center;
	padding: 32px 20px;
	color: var(--ao-ink-2);
}

.ao-crime-search__empty-icon {
	color: #CBD5E1;
	margin-bottom: 12px;
	display: flex;
	justify-content: center;
}

.ao-crime-search__empty p {
	font-size: 14px;
	color: var(--ao-ink-2);
	margin: 0;
}

.ao-crime-search__attribution {
	font-size: 11px;
	color: #94A3B8;
	margin: 20px 0 0;
	line-height: 1.55;
	text-align: center;
}

.ao-crime-search__attribution a {
	color: var(--ao-ink-2);
	text-decoration: underline;
}

@keyframes ao-crime-search-spin {
	to { transform: rotate(360deg); }
}

.ao-crime-search__spinner {
	display: inline-block;
	animation: ao-crime-search-spin 1s linear infinite;
	vertical-align: middle;
	margin-right: 6px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (max-width: 520px) {
	.ao-crime-search { padding: 18px; }
	.ao-crime-search__title { font-size: 22px; }
	.ao-crime-search__row { flex-direction: column; }
	.ao-crime-search__btn { padding: 14px 24px; }
	.ao-crime-search__stat-value { font-size: 24px; }
}

/* =========================================================================
 * SPLIT LAYOUT (v1.1.0)
 *
 * [ao_crime_search layout="split"] renders ONLY the search controls, meant to
 * sit inside a dark hero panel. The card chrome (white surface, border, shadow,
 * max-width, padding) is stripped; the controls are restyled for navy with a
 * white input and a gold Search button. Card mode above is untouched.
 * Colours here are the AO kit (navy #002855 / gold #FFC107 / blue #009FDF)
 * applied natively, no per-page override needed.
 * ========================================================================= */

.ao-crime-search--split {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: #ffffff;
}

.ao-crime-search--split .ao-crime-search__box {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
}

.ao-crime-search--split .ao-crime-search__input-wrap {
	background: #ffffff;
	border-color: #ffffff;
}

.ao-crime-search--split .ao-crime-search__input {
	color: #002855;
}

.ao-crime-search--split .ao-crime-search__input-wrap:focus-within {
	border-color: #FFC107;
	box-shadow: 0 0 0 3px rgba(255, 193, 7, 0.28);
}

.ao-crime-search--split .ao-crime-search__btn {
	background: #FFC107;
	color: #002855;
	border-radius: 54px;
	box-shadow: 0 4px 16px rgba(255, 193, 7, 0.28);
}

.ao-crime-search--split .ao-crime-search__btn:hover {
	background: #009FDF;
	color: #002855;
	box-shadow: 0 6px 20px rgba(0, 159, 223, 0.32);
}

.ao-crime-search--split .ao-crime-search__month label,
.ao-crime-search--split .ao-crime-search__source {
	color: rgba(255, 255, 255, 0.78);
}

.ao-crime-search--split .ao-crime-search__month-select {
	background: #ffffff;
	border-color: #ffffff;
	color: #002855;
}

/* v1.1.1: compact one-line hero row, [postcode input][Period select][Search].
 * A BT postcode is ~8 chars, so the input is capped instead of greedy; the
 * Period select sits between input and button (its text label is
 * screen-reader-only in split mode; the select shows e.g. "May 2026").
 * The stacking rule at the base-section mobile breakpoint still applies. */
.ao-crime-search--split .ao-crime-search__row {
	flex-wrap: nowrap;
	align-items: stretch;
	margin-bottom: 8px;
}
.ao-crime-search--split .ao-crime-search__input-wrap {
	flex: 0 1 240px;
	min-width: 150px;
}
.ao-crime-search--split .ao-crime-search__row .ao-crime-search__month {
	display: flex;
	align-items: stretch;
	margin: 0;
}
.ao-crime-search--split .ao-crime-search__row .ao-crime-search__month-select {
	height: 100%;
	min-width: 130px;
}
@media (max-width: 600px) {
	.ao-crime-search--split .ao-crime-search__row { flex-wrap: wrap; }
	.ao-crime-search--split .ao-crime-search__input-wrap { flex: 1 1 100%; }
	.ao-crime-search--split .ao-crime-search__row .ao-crime-search__month { flex: 1 1 auto; }
}

/* =========================================================================
 * SPLIT RESULTS REGION (v1.1.0)
 *
 * [ao_crime_results], a full-width region the split form renders into. Results
 * read as first-class brand page sections: a risk banner band, a category card
 * grid, and the attribution. Semantic risk colours (green..red) are preserved.
 * ========================================================================= */

.ao-crime-results {
	--aor-navy: #002855;
	--aor-purple: #5B1F69;
	--aor-blue: #009FDF;
	--aor-gold: #FFC107;
	--aor-ink: #0A0A0A;
	--aor-body: #4A4A4A;
	--aor-muted: #808285;
	--aor-surface: #FFFFFF;
	--aor-border: #E4E4E4;

	font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--aor-ink);
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.ao-crime-results.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.ao-crime-results *,
.ao-crime-results *::before,
.ao-crime-results *::after {
	box-sizing: border-box;
}

.ao-crime-results__inner {
	display: flex;
	flex-direction: column;
	gap: 34px;
}

/* --- risk banner band --- */
.ao-crime-results__banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	padding: 28px 32px;
	border: 1px solid var(--aor-border);
	border-left: 8px solid var(--aor-navy);
	border-radius: 16px;
	background: #F6F8FB;
}

.ao-crime-results__banner-head {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 240px;
}

.ao-crime-results__banner-kicker {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1.4px;
	font-weight: 700;
	color: var(--aor-muted);
}

.ao-crime-results__banner-area {
	font-size: 24px;
	font-weight: 800;
	color: var(--aor-navy);
	line-height: 1.2;
}

.ao-crime-results__banner-place {
	font-size: 16px;
	font-weight: 600;
	color: var(--aor-body);
}

.ao-crime-results__banner-period {
	font-size: 13px;
	color: var(--aor-muted);
	font-family: 'Roboto', sans-serif;
}

.ao-crime-results__banner-figs {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
}

.ao-crime-results__fig {
	display: flex;
	flex-direction: column;
}

.ao-crime-results__fig-num {
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
	color: var(--aor-navy);
}

.ao-crime-results__fig-lbl {
	font-size: 11px;
	color: var(--aor-muted);
	margin-top: 5px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
}

.ao-crime-results__risk-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-width: 118px;
	padding: 14px 22px;
	border-radius: 12px;
	background: #EEF1F5;
}

.ao-crime-results__risk-badge-lvl {
	font-size: 22px;
	font-weight: 800;
	line-height: 1.1;
	color: var(--aor-navy);
}

.ao-crime-results__risk-badge-lbl {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 4px;
	color: var(--aor-muted);
}

/* semantic risk colours (KEEP, a red "High" banner is correct UX) */
.ao-crime-results__banner--low    { border-left-color: #10B981; background: rgba(16, 185, 129, 0.06); }
.ao-crime-results__banner--mod    { border-left-color: #F4A261; background: rgba(244, 162, 97, 0.09); }
.ao-crime-results__banner--high   { border-left-color: #F97316; background: rgba(249, 115, 22, 0.08); }
.ao-crime-results__banner--severe { border-left-color: #E63946; background: rgba(230, 57, 70, 0.06); }
.ao-crime-results__banner--none   { border-left-color: #CBD5E1; background: #F3F4F6; }

.ao-crime-results__risk-badge--low    { background: rgba(16, 185, 129, 0.14); }
.ao-crime-results__risk-badge--low .ao-crime-results__risk-badge-lvl    { color: #059669; }
.ao-crime-results__risk-badge--mod    { background: rgba(244, 162, 97, 0.18); }
.ao-crime-results__risk-badge--mod .ao-crime-results__risk-badge-lvl    { color: #C0741F; }
.ao-crime-results__risk-badge--high   { background: rgba(249, 115, 22, 0.16); }
.ao-crime-results__risk-badge--high .ao-crime-results__risk-badge-lvl   { color: #EA6A0C; }
.ao-crime-results__risk-badge--severe { background: rgba(230, 57, 70, 0.14); }
.ao-crime-results__risk-badge--severe .ao-crime-results__risk-badge-lvl { color: #D62839; }
.ao-crime-results__risk-badge--none   { background: #E9ECF1; }
.ao-crime-results__risk-badge--none .ao-crime-results__risk-badge-lvl   { color: var(--aor-muted); }

/* --- category breakdown section --- */
.ao-crime-results__section-head {
	margin-bottom: 22px;
}

.ao-crime-results__h2 {
	font-size: 30px;
	font-weight: 400;
	color: var(--aor-purple);
	margin: 0 0 8px;
	line-height: 1.25;
}

.ao-crime-results__sub {
	font-size: 15px;
	color: var(--aor-body);
	font-family: 'Roboto', sans-serif;
	line-height: 1.6;
	margin: 0;
	max-width: 760px;
}

.ao-crime-results__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 18px;
}

.ao-crime-results__card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px;
	background: var(--aor-surface);
	border: 1px solid var(--aor-border);
	border-radius: 12px;
	box-shadow: 0 4px 18px rgba(0, 40, 85, 0.05);
}

.ao-crime-results__card--security {
	border-top: 3px solid var(--aor-gold);
}

.ao-crime-results__card:not(.ao-crime-results__card--security) {
	opacity: 0.72;
}

.ao-crime-results__card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ao-crime-results__card-icon {
	font-size: 22px;
	line-height: 1;
}

.ao-crime-results__card-count {
	font-size: 26px;
	font-weight: 800;
	line-height: 1;
}

.ao-crime-results__card-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--aor-navy);
}

.ao-crime-results__card-bar {
	height: 6px;
	border-radius: 3px;
	background: rgba(0, 40, 85, 0.07);
	overflow: hidden;
}

.ao-crime-results__card-bar span {
	display: block;
	height: 100%;
	border-radius: 3px;
	transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.ao-crime-results__card-tag {
	align-self: flex-start;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	color: #7A5C00;
	background: rgba(255, 193, 7, 0.16);
	border-radius: 20px;
	padding: 3px 10px;
}

.ao-crime-results__none {
	text-align: center;
	padding: 24px 0;
}

.ao-crime-results__none .ao-crime-results__sub {
	margin: 0 auto;
}

/* --- attribution --- */
.ao-crime-results__attribution {
	font-size: 12px;
	color: var(--aor-muted);
	line-height: 1.6;
	margin: 0;
	font-family: 'Roboto', sans-serif;
}

.ao-crime-results__attribution a {
	color: var(--aor-body);
	text-decoration: underline;
}

/* --- loading skeleton --- */
.ao-crime-results__banner--skeleton,
.ao-crime-results__card--skeleton {
	border: none;
	box-shadow: none;
	background: linear-gradient(90deg, #eef1f5 25%, #e2e7ee 37%, #eef1f5 63%);
	background-size: 400% 100%;
	animation: ao-crime-shimmer 1.4s ease-in-out infinite;
}

.ao-crime-results__banner--skeleton {
	height: 118px;
	border-radius: 16px;
}

.ao-crime-results__card--skeleton {
	height: 132px;
	border-radius: 12px;
}

.ao-crime-results__inner--loading {
	gap: 28px;
}

@keyframes ao-crime-shimmer {
	0%   { background-position: 100% 0; }
	100% { background-position: 0 0; }
}

@media (max-width: 600px) {
	.ao-crime-results__banner {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px 22px;
	}
	.ao-crime-results__banner-figs {
		gap: 22px;
	}
	.ao-crime-results__h2 { font-size: 25px; }
	.ao-crime-results__fig-num { font-size: 30px; }
	.ao-crime-results__grid {
		grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
		gap: 14px;
	}
}

/* ============================================================
   v2.0.0, server-rendered area section ([ao_crime_area])
   AO kit: navy #0B2545 / gold #D4A017 / blue #2B6CB0, Lato/Roboto.
   ============================================================ */
.ao-crime-area { width: 100%; max-width: none; margin: 0; padding: 24px 0; font-family: Roboto, Lato, -apple-system, sans-serif; color: #1c2b36; }
.ao-crime-area__heading { font-family: Lato, Roboto, sans-serif; font-size: 28px; color: #0B2545; margin: 0 0 12px; }
.ao-crime-area__lead { font-size: 17px; line-height: 1.6; margin: 0 0 10px; }
.ao-crime-area__standing { font-size: 15px; font-weight: 600; padding: 10px 14px; border-radius: 8px; margin: 0 0 18px; }
.ao-crime-area__standing--lower   { background: #E8F5EC; color: #1a6b34; border-left: 4px solid #2E9E52; }
.ao-crime-area__standing--typical { background: #EEF4FB; color: #234E7D; border-left: 4px solid #2B6CB0; }
.ao-crime-area__standing--higher  { background: #FCF3E3; color: #7A5410; border-left: 4px solid #D4A017; }
.ao-crime-area__subheading { font-family: Lato, Roboto, sans-serif; font-size: 20px; color: #0B2545; margin: 22px 0 8px; }
.ao-crime-area__table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0 0 6px; }
.ao-crime-area__table th { text-align: left; background: #0B2545; color: #fff; padding: 8px 12px; font-weight: 600; }
.ao-crime-area__table td { padding: 7px 12px; border-bottom: 1px solid #E3E9F0; }
.ao-crime-area__table tbody tr:nth-child(even) td { background: #F7FAFD; }
.ao-crime-area__table--trend { max-width: none; }
.ao-crime-area__note { font-size: 12.5px; color: #5b6b78; margin: 4px 0 14px; }
.ao-crime-area__attribution { font-size: 12.5px; color: #5b6b78; border-top: 1px solid #E3E9F0; padding-top: 10px; margin-top: 16px; }
@media (max-width: 640px) {
  .ao-crime-area__heading { font-size: 22px; }
  .ao-crime-area__table { font-size: 13.5px; }
}

/* v2.2.0 */
.ao-crime-search__baseline { font-size: 13px; color: #5b6b78; background: #F7FAFD; border-left: 3px solid #FFC107; padding: 8px 12px; border-radius: 6px; margin: 10px 0; }
.ao-crime-search__baseline a { color: #002855; }
.ao-crime-search__geo { display:inline-flex; align-items:center; gap:6px; background:transparent; border:1px solid rgba(255,255,255,.35); color:#fff; border-radius:54px; padding:10px 16px; font:600 13px Lato,sans-serif; cursor:pointer; transition:all .15s; }
.ao-crime-search__geo:hover { border-color:#FFC107; color:#FFC107; }
.ao-crime-search__geo.is-busy { opacity:.55; pointer-events:none; }
.ao-crime-search:not(.ao-crime-search--split) .ao-crime-search__geo { border-color:#CBD6E2; color:#002855; }
.ao-crime-search:not(.ao-crime-search--split) .ao-crime-search__geo:hover { border-color:#FFC107; color:#8a6d00; }
/* Mobile: the controls stack full-width, so the button has room for its
   label (an icon-only gold bar reads as broken). Centre icon + text. */
@media (max-width:600px){ .ao-crime-search__geo{ padding:10px 12px; justify-content:center; } }
