/*
Theme Name: Recoveron
Description: Hello Elementor child theme for Recoveron Industrial (blog templates and site styling).
Template: hello-elementor
Version: 1.3.0
Text Domain: recoveron
*/

.ri-container {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
}

/* The page title band is rendered by the site plugin (ri_titleband_html) and styled in
   its inner.css, so the blog opens the same way as every other inner page. */

/* ---------- Blog index ---------- */
.ri-blog {
	padding: 72px 0 96px;
	background: #f5f5f5;
}

.ri-pagination {
	margin-top: 56px;
	display: flex;
	justify-content: center;
}

.ri-pagination .nav-links {
	display: flex;
	gap: 8px;
}

.ri-pagination .page-numbers {
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 2px solid #1a1a1a;
	border-radius: 3px;
	color: #1a1a1a;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 18px;
	font-weight: 700;
}

.ri-pagination .page-numbers.current,
.ri-pagination a.page-numbers:hover {
	background: #eb2329;
	border-color: #eb2329;
	color: #fff;
}

/* ---------- Single post ---------- */
.ri-single {
	padding: 72px 0 96px;
}

.ri-single__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 64px;
	align-items: start;
}

@media (max-width: 1024px) {
	.ri-single__grid {
		grid-template-columns: 1fr;
	}
}

.ri-prose {
	font-size: 18px;
	line-height: 1.8;
}

.ri-prose > * + * {
	margin-top: 1.1em;
}

.ri-prose h2,
.ri-prose h3,
.ri-prose h4 {
	margin-top: 1.7em;
	margin-bottom: 0.5em;
}

.ri-prose h2 {
	font-size: clamp(30px, 3vw, 38px);
}

.ri-prose h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	margin-top: 14px;
	background: #eb2329;
}

.ri-prose h3 {
	font-size: clamp(23px, 2.2vw, 27px);
}

.ri-prose img {
	height: auto;
	border-radius: 3px;
	box-shadow: 0 22px 48px rgba(17, 17, 17, 0.14);
}

.ri-prose figure {
	margin-left: 0;
	margin-right: 0;
}

.ri-prose .ri-embed {
	aspect-ratio: 16 / 9;
}

.ri-prose .ri-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 3px;
}

.ri-prose ul {
	list-style: none;
	padding-left: 0;
}

.ri-prose ul > li {
	position: relative;
	padding-left: 1.75em;
}

.ri-prose ul > li::before {
	content: "";
	position: absolute;
	left: 0.1em;
	top: 0.66em;
	width: 0.7em;
	height: 0.38em;
	border-left: 3px solid #eb2329;
	border-bottom: 3px solid #eb2329;
	transform: rotate(-45deg);
}

.ri-prose ol {
	padding-left: 1.3em;
}

.ri-prose ol li::marker {
	color: #eb2329;
	font-weight: 700;
}

.ri-prose li + li {
	margin-top: 0.45em;
}

.ri-prose .gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
}

.ri-prose .gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: 0 !important;
	box-shadow: none;
}

.ri-sidebar {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 130px);
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.ri-sidebar__back {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 22px;
	background: #1a1a1a;
	border-radius: 3px;
	color: #fff !important;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: background-color 0.25s ease;
}

.ri-sidebar__back:hover {
	background: #eb2329;
}

.ri-sidebar nav {
	padding: 26px 24px;
	background: #f5f5f5;
	border-top: 4px solid #eb2329;
	border-radius: 3px;
}

.ri-sidebar h2 {
	margin: 0 0 12px;
	font-size: 24px;
}

.ri-recent {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ri-recent li {
	padding: 13px 0;
	border-top: 1px solid #e2e2e2;
}

.ri-recent a {
	color: #1a1a1a;
	font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

.ri-recent a:hover {
	color: #eb2329;
}

.ri-recent time {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: #888;
}

.ri-band {
	padding: 88px 0;
	background: #f5f5f5;
}

.ri-band h2 {
	margin: 0 0 40px;
	text-align: center;
}

.ri-band h2::after {
	content: "";
	display: block;
	width: 64px;
	height: 4px;
	margin: 20px auto 0;
	background: #eb2329;
}


/* ---------- Location landing pages (single-location.php, recoveron-site/includes/locations.php) ---------- */

.ri-local .ri-prose > p:first-child { font-size: 1.15em; font-weight: 500; color: var(--rh-ink, #14171c); }

/* "At a glance": a short answer that stands on its own (also the Service schema description) */
.ri-glance {
	margin: 1.6em 0 2em;
	padding: 22px 26px;
	border-left: 4px solid var(--rh-red, #eb2329);
	border-radius: var(--rh-radius, 14px);
	background: var(--rh-surface-2, #f6f5f3);
}
.ri-glance p { margin: 0; }
.ri-prose .ri-glance__label {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rh-red, #eb2329);
}

/* "Green Bay businesses by the numbers" ([ri_location_data]) */
.ri-prose .ri-local-data {
	margin: 1.6em 0 2.2em;
	padding: 26px 28px 20px;
	border-top: 4px solid var(--rh-red, #eb2329);
	border-radius: var(--rh-radius, 14px);
	background: #fff;
	box-shadow: var(--rh-shadow, 0 8px 24px rgba(20, 23, 28, .08));
}
.ri-local-data figcaption {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-align: left;
	font-style: normal;
	color: var(--rh-red, #eb2329);
}
.ri-prose ul.ri-local-data__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 0 0 20px;
}
.ri-prose ul.ri-local-data__stats > li {
	margin: 0;
	padding: 16px;
	border-radius: var(--rh-radius-sm, 10px);
	background: var(--rh-surface-2, #f6f5f3);
}
.ri-prose ul.ri-local-data__stats > li::before { display: none; }
.ri-local-data__stats strong {
	display: block;
	font-size: 28px;
	line-height: 1.1;
	font-weight: 800;
	color: var(--rh-red, #eb2329);
}
.ri-local-data__stats span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.45; color: var(--rh-text, #3d434c); }
.ri-local-data table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; }
.ri-local-data th, .ri-local-data td { padding: 10px 8px; border: 0; border-bottom: 1px solid var(--rh-line, #e5e7eb); text-align: left; background: none; }
.ri-local-data thead th { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--rh-muted, #6b7280); }
.ri-local-data tbody th { font-weight: 700; color: var(--rh-ink, #14171c); }
.ri-local-data td { font-variant-numeric: tabular-nums; }
.ri-prose .ri-local-data__note { margin: 14px 0 0; font-size: 13px; line-height: 1.55; color: var(--rh-muted, #6b7280); }

/* Service groups and facility types */
.ri-local-groups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 1.4em 0 2em; }
.ri-local-group {
	padding: 22px 24px;
	border-radius: var(--rh-radius, 14px);
	background: #fff;
	box-shadow: var(--rh-shadow, 0 8px 24px rgba(20, 23, 28, .08));
}
.ri-prose .ri-local-group h3 { margin: 0 0 10px; font-size: 19px; }
.ri-prose .ri-local-group ul { margin: 0; }
.ri-prose .ri-local-group li { margin: 0; padding: 7px 0 7px 1.5em; border-top: 1px solid var(--rh-line, #e5e7eb); }
.ri-prose .ri-local-group li:first-child { border-top: 0; font-weight: 700; }
.ri-prose .ri-local-group li::before { top: 1.05em; }
.ri-prose ul.ri-local-industries { display: flex; flex-wrap: wrap; gap: 10px; margin: 1em 0 2em; }
.ri-prose ul.ri-local-industries > li { margin: 0; padding: 0; }
.ri-prose ul.ri-local-industries > li::before { display: none; }
.ri-local-industries a {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--rh-line, #e5e7eb);
	border-radius: 999px;
	background: var(--rh-surface-2, #f6f5f3);
	font-weight: 700;
	text-decoration: none;
}
.ri-local-industries a:hover { border-color: var(--rh-red, #eb2329); color: var(--rh-red, #eb2329); }

/* FAQ block (read by the FAQPage schema) */
.ri-local-faq { margin-top: 2.4em; }
.ri-prose .ri-local-faq h3 {
	margin: 14px 0 0;
	padding: 18px 22px 6px;
	border-radius: var(--rh-radius, 14px) var(--rh-radius, 14px) 0 0;
	background: var(--rh-surface-2, #f6f5f3);
	font-size: 18px;
}
.ri-prose .ri-local-faq h3 + p {
	margin: 0;
	padding: 0 22px 18px;
	border-radius: 0 0 var(--rh-radius, 14px) var(--rh-radius, 14px);
	background: var(--rh-surface-2, #f6f5f3);
}

/* Sidebar facts under the quote card */
.ri-local-facts { padding: 20px 22px; border-radius: var(--rh-radius, 14px); background: var(--rh-surface-2, #f6f5f3); }
.ri-local-facts__title { margin: 0 0 10px; font-weight: 800; color: var(--rh-ink, #14171c); }
.ri-local-facts ul { margin: 0; padding: 0; list-style: none; }
.ri-local-facts li { position: relative; margin: 0 0 8px; padding-left: 22px; font-size: 14px; line-height: 1.45; }
.ri-local-facts li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .45em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rh-red, #eb2329);
}

@media (max-width: 767px) {
	.ri-prose ul.ri-local-data__stats, .ri-local-groups { grid-template-columns: 1fr; }
	.ri-prose .ri-local-data { padding: 20px 16px 16px; }
	.ri-local-data table { font-size: 14px; }
}

/* ---------- Sitemap pages ([ri_sitemap], [ri_sitemap_locations]) ---------- */

.ri-sitemap { columns: 3 300px; column-gap: 24px; margin-top: 12px; }
.ri-sitemap__group {
	position: relative;
	overflow: hidden;
	break-inside: avoid;
	margin: 0 0 24px;
	padding: 26px 26px 20px;
	border-radius: var(--rh-radius, 14px);
	background: #fff;
	box-shadow: var(--rh-shadow, 0 8px 24px rgba(20, 23, 28, .08));
}
.ri-sitemap__group::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--rh-red, #eb2329), var(--rh-red-light, #ff6a4d));
}
.ri-sitemap .ri-sitemap__title {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 14px;
	padding: 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--rh-ink, #14171c);
}
.ri-sitemap .ri-sitemap__title::after { display: none; }
.ri-sitemap__icon {
	flex: none;
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(235, 35, 41, .14), rgba(235, 35, 41, .04));
}
.ri-sitemap__icon::after {
	content: "";
	position: absolute;
	inset: 11px;
	background: var(--rh-red, #eb2329);
	-webkit-mask: var(--ri-icon) center / contain no-repeat;
	mask: var(--ri-icon) center / contain no-repeat;
}
.ri-sitemap__icon--clean { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l1.9 5.6 5.6 1.9-5.6 1.9L12 17l-1.9-5.6-5.6-1.9 5.6-1.9zM19 14l.9 2.6 2.6.9-2.6.9L19 21l-.9-2.6-2.6-.9 2.6-.9z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--paint { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h14a1 1 0 0 1 1 1v1h2v6h-8v2h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1v-4h8V7h-1v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--floor { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3zm10 0h8v8h-8zM3 13h8v8H3zm10 0h8v8h-8z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--factory { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 21V9l6 4V9l6 4V3h4l1 10h3v8z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--people { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='7.5' r='3.5'/%3E%3Ccircle cx='17' cy='8.5' r='2.8'/%3E%3Cpath d='M2 19.5C2 15.9 5.1 13 9 13s7 2.9 7 6.5V21H2zM17.5 21v-1.5a8 8 0 0 0-2.1-5.4A5.6 5.6 0 0 1 22 19.3V21z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--pin { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7.5 7.5 0 0 0-7.5 7.5C4.5 15 12 22 12 22s7.5-7 7.5-12.5A7.5 7.5 0 0 0 12 2zm0 10.3a2.8 2.8 0 1 1 0-5.6 2.8 2.8 0 0 1 0 5.6z'/%3E%3C/svg%3E"); }
.ri-sitemap__icon--news { --ri-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h13a1 1 0 0 1 1 1v15a2 2 0 0 0 2 2H5a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1zm2.5 3.5v4h4v-4zm6 .5v1.8H15V7zm0 3.2v1.8H15v-1.8zm-6 3.3v1.8H15v-1.8zm0 3.2v1.8H15v-1.8zM19 8h2v11a1 1 0 0 1-2 0z'/%3E%3C/svg%3E"); }
.ri-sitemap ul { list-style: none; margin: 0; padding: 0; }
.ri-sitemap ul > li { margin: 0; padding: 0; }
.ri-sitemap ul > li::before { display: none; }
.ri-sitemap__list > li + li { border-top: 1px solid var(--rh-line, #e5e7eb); }
.ri-sitemap a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 2px;
	color: var(--rh-text, #3d434c);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: color .15s, padding .2s;
}
.ri-sitemap a::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin-right: 4px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	color: var(--rh-line, #e5e7eb);
}
.ri-sitemap a:hover { color: var(--rh-red, #eb2329); padding-left: 6px; }
.ri-sitemap a:hover::after { color: var(--rh-red, #eb2329); }
.ri-sitemap__post a { font-weight: 500; }
.ri-sitemap__count {
	margin-left: auto;
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(235, 35, 41, .09);
	color: var(--rh-red, #eb2329);
	font-size: 13px;
	font-weight: 700;
}
.ri-sitemap .ri-sitemap__more {
	justify-content: center;
	margin-top: 12px;
	padding: 12px 16px;
	border-radius: 999px;
	background: rgba(235, 35, 41, .08);
	color: var(--rh-red, #eb2329);
	font-size: 15px;
	font-weight: 700;
}
.ri-sitemap .ri-sitemap__more::after { color: var(--rh-red, #eb2329); }
.ri-sitemap .ri-sitemap__more:hover { padding-left: 16px; background: var(--rh-red, #eb2329); color: #fff; }
.ri-sitemap .ri-sitemap__more:hover::after { color: #fff; }
.ri-sitemap__note { margin-top: 8px; color: var(--rh-muted, #6b7280); font-size: 15px; }

.ri-sitemap__intro { margin: 32px 0 12px; font-size: 17px; color: var(--rh-text, #3d434c); }
