/*
Theme Name: Divi Child Theme
Description: Child theme for Divi v5
Version: 1.0.0
Author: Huckleberry Branding, LLC
Author URI: htttps://huckleberrybranding.com
Theme URI: https://www.elegantthemes.com/
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: Divi
*/

/* ========== Custom CSS from Generator ========== */

/* ========== News grid: Read More button (Divi Pixel filterable grid) ==========
   Module has "use icon" off, so Divi Pixel outputs content: attr(data-icon) with no
   data-icon attribute. Force the ETmodules right arrow ("$") and navy label. */
body #page-container .et_pb_section .dipi_filterable_grid .dipi-fg-readmore-button {
	color: var(--gcid-primary-color, #001330) !important;
}
body #page-container .et_pb_section .dipi_filterable_grid .dipi-fg-readmore-button::after {
	content: "$" !important;
}

/* ========== Single post: featured image always full width of the column ========== */
.single-post .et_pb_post_title .et_pb_title_featured_container,
.single-post .et_pb_post_title .et_pb_title_featured_container .et_pb_image_wrap {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
}
.single-post .et_pb_post_title .et_pb_title_featured_container img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	/* 16:9 crop, centered: ~15% shorter than the 3:2 originals (1152x648 at desktop) */
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
/* Placeholder avatar (square, no photo yet): keep it small and centered instead of 1152px tall */
.single-post .et_pb_post_title .et_pb_title_featured_container img[src*="placeholder_v2"] {
	width: 400px !important;
	aspect-ratio: 1;
	margin: 0 auto;
}

/* ========== News grid: Load More button, styled to match Read More ========== */
body #page-container .dipi_filterable_grid .dipi-pagination {
	margin-top: 20px;
}
body #page-container .dipi_filterable_grid .dipi-loadmore-btn {
	display: inline-block;
	background-color: var(--gcid-3m7sd0pxim, #f7914f);
	color: var(--gcid-primary-color, #001330);
	border: 2px solid var(--gcid-3m7sd0pxim, #f7914f);
	border-radius: 68px;
	padding: 10px 28px;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.7;
	cursor: pointer;
	transition: background-color 300ms, border-color 300ms, color 300ms;
}
body #page-container .dipi_filterable_grid .dipi-loadmore-btn:hover,
body #page-container .dipi_filterable_grid .dipi-loadmore-btn:focus-visible {
	background-color: var(--gcid-secondary-color, #274a72);
	border-color: var(--gcid-secondary-color, #274a72);
	color: #fff;
}

/* ========== Footer: Request Service button stays on one line ==========
   Its column is ~190px on laptop widths, which wrapped the label onto two lines.
   Slightly tighter padding keeps it inside the column gap down to 981px. */
body #page-container .et-l--footer .et_pb_button_0_tb_footer.et_pb_button {
	white-space: nowrap !important;
	padding-left: 22px !important;
	padding-right: 44px !important;
}

/* ========== Footer: email on one line ==========
   inspections@rpanashville.com needs ~264px with its icon; the Get In Touch column was ~197px.
   From 1200px up, Quick Links / Get In Touch / Business Hours size to their content and the
   logo column takes the rest (>=266px). Below 1200 there isn't room, so the email breaks only
   at the <wbr> after "@" (set in the footer blurb text), never mid-word. */
body #page-container .et-l--footer .et_pb_blurb_2_tb_footer .et_pb_blurb_description {
	overflow-wrap: normal;
	word-break: normal;
}
@media (min-width: 1200px) {
	body #page-container .et-l--footer .et_pb_row_0_tb_footer > .et_pb_column_0_tb_footer {
		flex: 1 1 0 !important;
		width: auto !important;
	}
	body #page-container .et-l--footer .et_pb_row_0_tb_footer > .et_pb_column_1_tb_footer,
	body #page-container .et-l--footer .et_pb_row_0_tb_footer > .et_pb_column_2_tb_footer,
	body #page-container .et-l--footer .et_pb_row_0_tb_footer > .et_pb_column_3_tb_footer {
		flex: 0 0 auto !important;
		width: max-content !important;
		max-width: none !important;
	}
}

/* News grid Read More arrow: module CSS sets top: 26px, which sits ~2px below the label's midline. */
body #page-container .et_pb_section .dipi_filterable_grid .dipi-fg-readmore-button::after {
	top: 24px !important;
}

/* ========== 404 page (child theme 404.php) ========== */
.rpa-404 {
	padding-block: 96px 120px;
	color: #132d4c;
}
.rpa-404 > p,
.rpa-404 h1 {
	max-width: 640px;
}
.rpa-404__eyebrow {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .65;
	padding-bottom: 8px;
}
.rpa-404 h1 {
	font-size: 42px;
	line-height: 1.2;
	font-weight: 700;
	color: #132d4c;
	padding-bottom: 16px;
}
.rpa-404 > p:not(.rpa-404__eyebrow) {
	font-size: 18px;
	line-height: 1.5;
}
.rpa-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 32px;
}
.rpa-404__btn {
	display: inline-block;
	padding: 14px 28px;
	border: 2px solid #f7914f;
	border-radius: 68px;
	background: #f7914f;
	color: #001330;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.rpa-404__btn--outline {
	background: transparent;
	border-color: #001330;
}
.rpa-404__btn:hover,
.rpa-404__btn:focus-visible {
	background: #001330;
	border-color: #001330;
	color: #fff;
}
.rpa-404__btn:focus-visible {
	outline: 2px solid #f7914f;
	outline-offset: 3px;
}
@media (max-width: 767px) {
	.rpa-404 { padding-block: 64px 80px; }
	.rpa-404 h1 { font-size: 32px; }
}
/* No sidebar on the 404, so hide the divider line Divi draws for sidebar layouts. */
.error404 #main-content .container::before {
	display: none;
}

/* Footer social icons hidden for now (Jason, 2026-10-01). The X link is still set in the footer module; delete this rule to bring them back. */
.et-l--footer .et_pb_social_media_follow_0_tb_footer {
	display: none !important;
}
