/*
 * ACD Universal - WordPress / WPBakery adjustments on top of the original ACD stylesheet (universal.css).
 */

/* ---------- Navbar ---------- */
.admin-bar .navbar-fixed-top { top: 32px; }
@media (max-width: 782px) { .admin-bar .navbar-fixed-top { top: 46px; } }
@media (max-width: 600px) { .admin-bar .navbar-fixed-top { top: 0; } }

/* ---------- Content wrapper: sits above the parallax hero like the original sections ---------- */
.acd-content {
	position: relative;
	z-index: 992;
	background-color: #fff;
}

/* WPBakery rows are full-width sections here (each row carries the original section classes). */
.acd-content > .vc_row {
	margin-left: 0;
	margin-right: 0;
}
.acd-content > .vc_row > .wpb_column > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}
/* Section overlays (.overlay) must cover the whole row, so WPBakery's wrappers can't be positioned. */
.acd-content > .vc_row > .wpb_column,
.acd-content > .vc_row > .wpb_column > .vc_column-inner,
.acd-content > .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper,
.acd-content > .vc_row > .wpb_column > .vc_column-inner > .wpb_wrapper > .wpb_raw_code {
	position: static;
}
.acd-content > .vc_row > .wpb_column { float: none; width: 100%; }
/* Inner rows with the "container" class center the content like Bootstrap's .container. */
.acd-content .vc_row.vc_inner.container {
	margin-left: auto;
	margin-right: auto;
	float: none;
}
.acd-content .vc_row.vc_inner.container-fluid { margin-left: 0; margin-right: 0; }
.acd-content .wpb_content_element { margin-bottom: 0; }
.acd-content .wpb_text_column p:last-child { margin-bottom: 0; }
.acd-content .wpb_text_column + .wpb_text_column,
.acd-content .wpb_text_column + .wpb_single_image,
.acd-content .wpb_single_image + .wpb_text_column { margin-top: 35px; }
.acd-content .vc_column_container { float: left; }
@media (max-width: 767px) {
	.acd-content .vc_column_container { float: none; }
}

/* Keep the original vertical centering of two-column sections. */
.acd-content .vc_row.vc_inner.acd-middle { display: flex; flex-wrap: wrap; align-items: center; }
.acd-content .vc_row.vc_inner.acd-middle::before,
.acd-content .vc_row.vc_inner.acd-middle::after { display: none; }
@media (max-width: 767px) {
	.acd-content .vc_row.vc_inner.acd-middle { display: block; }
}

/* ---------- Buttons ---------- */
.btn-color { border: 2px solid #04769a; color: #fff !important; }
/* Home > Our Services: space above the "Services Details" button row (row class set in WPBakery). */
.acd-content .vc_row.vc_inner.services-cta { margin-top: 50px; }
/* Home + Contact: space below the address / email / phone block (column class set in WPBakery). */
.acd-content .contact-details { margin-bottom: 50px; }
/* Home > Our Services heading: WPBakery's "#content .wpb_text_column :last-child { margin-bottom: 0 }"
   removes the original 35px heading margin; restore it here. */
.acd-content #services .services-wrapper h2 { margin-bottom: 100px; }

/* ---------- Images ---------- */
.acd-content img { max-width: 100%; height: auto; }
.services-wrapper .chimney-cleaning img,
.services-wrapper img.chimney-cleaning { width: 100%; height: auto; }
.acd-content .wpb_single_image.vc_align_center { text-align: center; }
.who-we-are-wrapper p.no-pad + p { margin-top: 32px; }

/* Partner logos row (original: div.carousel). */
.acd-content .carousel.partners { margin: 0; }

/* ---------- Contact Form 7 ---------- */
.universal-contact-form .wpcf7-form p { margin-bottom: 15px; }
.universal-contact-form input[type="text"],
.universal-contact-form input[type="email"],
.universal-contact-form input[type="tel"],
.universal-contact-form textarea {
	display: block;
	width: 100%;
	height: auto;
	padding: 10px 0;
	font-size: 15px;
	border: 0;
	border-bottom: 1px solid #ddd;
	background: transparent;
	box-shadow: none;
}
.universal-contact-form textarea { height: 90px; resize: vertical; }
.universal-contact-form input[type="submit"] {
	font-size: 20px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
	padding: 12px 30px;
	border: 2px solid #04769a;
	background-color: #04769a;
	color: #fff;
	border-radius: 0;
}
.universal-contact-form .wpcf7-not-valid-tip { font-size: 12px; color: #c00; }
.universal-contact-form .wpcf7-response-output { margin: 20px 0 0 !important; padding: 10px !important; font-size: 13px; }

/* Why Choose Us cards: same 3:2 crop for every photo so the grid stays even. */
.portfolio-wrapper .portfolio-item a { display: block; }
.portfolio-wrapper .portfolio-item img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

/* =====================================================================
   Client feedback 2026-10-21
   Brand: orange #fc6400, blue #04769a, dark #22262d
   ===================================================================== */

/* ---------- Header: phone number ---------- */
.navbar-custom .nav li.menu-phone a {
	font-size: 18px;
	font-weight: 700;
	color: #fc6400 !important;
	white-space: nowrap;
}
.navbar-custom .nav li.menu-phone a:hover { color: #fc6400 !important; text-decoration: underline; }
.navbar-custom .navbar-call {
	float: right;
	margin: 10px 8px 0 0;
	width: 46px;
	height: 46px;
	line-height: 46px;
	text-align: center;
	border-radius: 50%;
	background: #fc6400;
	color: #fff !important;
	font-size: 22px;
}
.navbar-custom .navbar-call .fa { opacity: 1 !important; }

/* ---------- Colored sections instead of the gray placeholder images ---------- */
/* Subtle dot texture on a brand gradient. */
#services.bg-img4,
.acd-content .facts.bg-img,
.acd-content .banner-consulation {
	background-image: radial-gradient(rgba(255, 255, 255, .09) 1.5px, transparent 1.5px), var(--acd-gradient) !important;
	background-size: 22px 22px, cover !important;
	background-position: 0 0, center !important;
	background-attachment: scroll !important;
}
#services.bg-img4 { --acd-gradient: linear-gradient(135deg, #04769a 0%, #03566f 100%); }
.acd-content .facts.bg-img { --acd-gradient: linear-gradient(135deg, #fc6400 0%, #d94f00 100%); }
.acd-content .banner-consulation { --acd-gradient: linear-gradient(135deg, #22262d 0%, #2f3640 100%); }
/* The template's dark overlay was only there to darken the placeholder photo. */
#services.bg-img4 .overlay,
.acd-content .facts.bg-img .overlay { display: none; }
.acd-content .facts.bg-img h5,
.acd-content .facts.bg-img .numscroller { color: #fff; }
.acd-content .banner-consulation .btn-color,
#services .btn-color { background-color: #fc6400; border-color: #fc6400; }

/* ---------- Home > Our Services icons: bigger, less empty space, hover + click ---------- */
@media (min-width: 1200px) {
	#services .vc_row.vc_inner.container { width: 1400px; max-width: 100%; }
}
#services .service-link {
	display: block;
	padding: 25px 10px 10px;
	border-radius: 14px;
	color: #fff;
	text-decoration: none;
	transition: background-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
#services .service-link img { width: 180px; max-width: 100%; height: auto; transition: transform .3s ease; }
#services .service-link .service-title {
	display: block;
	color: #fff;
	margin: 20px 0 8px;
	font-size: large;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.7;
	transition: color .3s ease;
}
#services .service-link:hover,
#services .service-link:focus {
	background-color: rgba(255, 255, 255, .12);
	transform: translateY(-6px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}
#services .service-link:hover img { transform: scale(1.06); }
#services .service-link:hover .service-title { color: #ffd2b3; }
#services .service-link .service-more {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	opacity: 0;
	transition: opacity .3s ease;
}
#services .service-link:hover .service-more { opacity: 1; }

/* ---------- Partner logos: own section (light tint, title, logo cards) ---------- */
.acd-content .acd-partners {
	background: #eef4f7;
	padding: 70px 15px;
	margin-bottom: 0;
}
.acd-partners .acd-partners-title {
	text-align: center;
	font-size: 28px;
	margin: 0 0 40px;
	color: #22262d;
}
.acd-partners .acd-partners-title::after {
	content: "";
	display: block;
	width: 60px;
	height: 3px;
	margin: 18px auto 0;
	background: #fc6400;
}
.acd-content .acd-partners .carousel.partners {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	height: auto;
	max-width: 1000px;
	margin: 0 auto;
	background: transparent;
}
.acd-content .acd-partners .carousel-logo-wrapper {
	float: none;
	width: auto;
	flex: 1 1 240px;
	max-width: 300px;
	height: 200px;
	margin: 0;
	padding: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 6px 24px rgba(34, 38, 45, .08);
}
/* 150px = the logo files' real size, so they stay sharp. */
.acd-content .acd-partners .carousel-logo-wrapper img { max-height: 150px; width: auto; }

/* ---------- Footer ---------- */
.acd-footer {
	position: relative;
	z-index: 992;
	background: #22262d;
	color: #c9ced6;
	border-top: 5px solid #fc6400;
	font-size: 15px;
}
.acd-footer-main { padding: 70px 0 40px; }
.acd-footer-col { margin-bottom: 30px; }
.acd-footer h5 {
	color: #fff;
	font-size: 15px;
	letter-spacing: .12em;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid #fc6400;
	display: inline-block;
}
.acd-footer a { color: #fff; }
.acd-footer a:hover, .acd-footer a:focus { color: #fc6400; text-decoration: none; }
.acd-footer-logo img { width: 150px; height: auto; margin-bottom: 20px; }
.acd-footer-tagline { color: #c9ced6; margin-bottom: 20px; line-height: 1.7; }
.acd-footer-links, .acd-footer-contact { list-style: none; padding: 0; margin: 0 0 20px; }
.acd-footer-links li { margin-bottom: 10px; }
.acd-footer-contact li { margin-bottom: 12px; padding-left: 26px; position: relative; }
.acd-footer-contact .fa { position: absolute; left: 0; top: 5px; color: #fc6400; opacity: 1 !important; }
.acd-footer-social { display: flex; align-items: center; gap: 15px; flex-wrap: wrap; }
.acd-footer .acd-yelp {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border-radius: 8px;
	padding: 6px 12px;
}
.acd-footer .acd-yelp img { width: 72px; height: auto; }
.acd-footer .acd-yelp:hover { opacity: .85; }
.acd-footer .acd-social { margin: 0; }
.acd-footer .acd-footer-call .fa { opacity: 1 !important; }
.acd-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding: 18px 0;
	font-size: 13px;
	color: #9aa1ab;
}
.acd-footer-bottom .container { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
/* Bootstrap's clearfix pseudo-elements would otherwise become flex items. */
.acd-footer-bottom .container::before,
.acd-footer-bottom .container::after { display: none; }
@media (max-width: 767px) {
	.acd-footer-main { padding-top: 50px; text-align: center; }
	.acd-footer-social { justify-content: center; }
	.acd-footer-contact li { padding-left: 0; }
	.acd-footer-contact .fa { position: static; margin-right: 6px; }
	.acd-footer-bottom .container { justify-content: center; text-align: center; }
}

/* ---------- Contact page map (Google Maps embed, no API key needed) ---------- */
.acd-content .acd-map iframe { display: block; width: 100%; height: 430px; border: 0; }

/* ---------- No scroll-in animations: content shows immediately ---------- */
/* The template's WOW.js fades sections in as you scroll; the original CSS already disabled it below 800px. */
.wow {
	visibility: visible !important;
	animation-name: none !important;
}

/* ---------- Buttons: a bit bigger than the original template (19px text, tight padding) ---------- */
.btn {
	font-size: 20px !important;
	padding: 12px 30px;
}
.acd-footer .acd-footer-call { font-size: 18px !important; padding: 10px 24px; }

/* ---------- Home slider: slides 2+ use an H2 (one H1 per page) styled like the template's .intro h1 ---------- */
.intro h2.intro-title {
	font-size: 60px;
	font-weight: 900;
	line-height: 80px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0 0 35px;
	color: inherit;
}
@media (max-width: 768px) {
	.intro h2.intro-title { font-size: 48px; line-height: 48px; }
}
@media (max-width: 480px) {
	.intro h2.intro-title { font-size: 30px; line-height: 40px; }
}

/* =====================================================================
   Client feedback 2026-10-23
   ===================================================================== */

/* ---------- Header: bigger logo, phone icon in proportion to the number ---------- */
.navbar-custom .navbar-brand .logo,
.navbar-custom.top-nav-collapse .navbar-brand .logo,
.navbar-custom.top-nav-collapse .navbar-brand .logodark {
	max-height: 68px;
	max-width: none;
}
.navbar-custom .nav li.menu-phone .fa {
	font-size: 1.3em;
	vertical-align: -2px;
	margin-right: 2px;
}
/* White (scrolled) navbar: centre the menu on the taller logo. */
@media (min-width: 768px) {
	.navbar-custom.top-nav-collapse .navbar-nav > li > a {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}
/*
 * Wide screens: the header uses the same 960px grid as the Trusted & Certified cards (3 x 300px + 2 x 30px),
 * so the logo lines up with the first card and "CONTACT" ends at the last card's edge.
 * The phone number sits outside the grid, 40px to the right.
 */
@media (min-width: 1440px) {
	.navbar-custom .container,
	.navbar-custom.top-nav-collapse .container {
		width: 990px !important;
		position: relative;
	}
	/* Cancels the last link's right padding so its text, not its box, ends on the grid edge. */
	.navbar-custom .navbar-main-collapse .navbar-nav { margin-right: -13px; }
	.navbar-custom .nav li.menu-phone {
		position: absolute;
		top: 0;
		left: calc(100% + 25px);
	}
}

/* ---------- "Schedule an inspection" banners: Call / Email us / WhatsApp ---------- */
.acd-cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
.acd-cta-buttons .btn { margin: 0; }
.acd-cta-buttons .btn .fa { opacity: 1 !important; margin-right: 4px; }
.acd-content .banner-consulation .acd-cta-email,
.acd-cta-buttons .acd-cta-email { background-color: #04769a; border-color: #04769a; color: #fff; }
.acd-content .banner-consulation .acd-cta-whatsapp,
.acd-cta-buttons .acd-cta-whatsapp { background-color: #25d366; border-color: #25d366; color: #fff; }
.acd-cta-buttons .btn:hover,
.acd-cta-buttons .btn:focus { color: #fff; filter: brightness(1.08); }
@media (max-width: 480px) {
	.acd-cta-buttons { flex-direction: column; align-items: stretch; }
}
