/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready

# Section Content CSS Class Name
1 Hero Contact .hero-contact-section
2 Masonry Grid .masonry-content-section
3 Features Grid .features-grid-section
4 Call to Action Bar .cta-bar-section
5 Services Grid .services-grid-section
6 About Summary .about-summary-section
7 Specialities .specialities-section
8 Financing Split .financing-cta-section
9 Reviews Carousel .reviews-carousel-section
10 FAQ Accordion .faq-accordion-section
11 Service Areas .service-areas-section
12 Video CTA .video-cta-section

/* PX to REM Conversion Reference (Base 16px)
------------------------------------------
8px   = 0.5rem
10px  = 0.625rem
12px  = 0.75rem
13px  = 0.8125rem
14px  = 0.875rem
16px  = 1rem      
18px  = 1.125rem
20px  = 1.25rem
24px  = 1.5rem      
30px  = 1.875rem
32px  = 2rem
34px  = 2.125rem
35px  = 2.1875rem
40px  = 2.5rem      
48px  = 3rem        
54px  = 3.375rem
56px  = 3.5rem      
64px  = 4rem        
------------------------------------------
*/

:root {	
	/* Small UI Elements */
	--8px-rem: 0.5rem;
	--10px-rem: 0.625rem;
	--12px-rem: 0.75rem;
	--13px-rem: 0.8125rem;
	--14px-rem: 0.875rem;

	/* Body & Standard UI */
	--16px-rem: 1rem;
	--18px-rem: 1.125rem;
	--20px-rem: 1.25rem;
	--24px-rem: 1.5rem;

	/* Headings & Subheaders */
	--30px-rem: 1.875rem;
	--32px-rem: 2rem;
	--34px-rem: 2.125rem;
	--35px-rem: 2.1875rem;
	--40px-rem: 2.5rem;

	/* Large Display Typography */
	--48px-rem: 3rem;
	--54px-rem: 3.375rem;
	--56px-rem: 3.5rem;
	--64px-rem: 4rem;

	/* 1. Colors (Hex codes from Figma) */
	--primary: #3490dc;
	--secondary: #ffed4a;
	--dark: #2d3748;
	--light: #f7fafc;
	--white: #ffffff;
	--light-grey: #DBDBDB;
	/* Theme Colors */
	--primary-green: #2E4433;
	--accent-orange: #C06F3C;
	--border-orange: #E37D1C;
	--neutral-tan: #EAD1AE;
	--neutral-paper: #FDFBF7;	
	--forest-green: #297B4F;
	--footer-black: #1E1E1E;
	--footer-credit: #000000;

	/* 2. Spacing (Matching your Figma Grid/Gaps) */
	--container-width: 1100px;
	--content-width: 1100px;
	--section-padding: 80px;
}
/* Base resets to make Figma matching easier */
body {
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: 'Kumbh Sans', sans-serif !important;
	font-optical-sizing: auto;
	font-style: normal;
	font-size: var(--16px-rem);
	font-weight: 400;
}

h1, h2, h3, h4, h5, h6, .elementor-heading-title {
	font-family: 'Kumbh Sans', sans-serif !important;	
	line-height: 1.2;
}
h2 {
	font-weight: 600;
}
h3 {
	font-weight: 500;
}
a {
	background-color: transparent;
	/* Using your theme's orange accent variable */
	color: var(--accent-orange); 
	text-decoration: none;
	transition: color 0.3s ease; /* Smooth hover transition */
}
a:focus,
a:active, 
a:hover {
	/* Using your theme's primary green variable */
	color: var(--primary-green);
	outline: 0;
	text-decoration: none;
}
/* Header Top Bar */
.header-top-bar {
	width: 100%;
	position: relative;
	z-index: 1000;   
	line-height: 1;
}
.header-top-bar__row {
	background-color: var(--primary-green);
}
.header-top-bar .e-con-inner {
	padding: 8px 0;	
}

.header-top-bar p {
	margin-bottom: 0;
	font-size: var(--13px-rem);	
}
.header-top-bar__row p {
	color: #FFFFFF;
}
/* Header Rating */
.header-rating {
	display: flex;
	gap: 0 !important;
	align-items: center;
	line-height: 1;
}
.header-top-bar .header-rating:before {
	content: "4.9";
	font-size: 0.8125rem; /* 13px */
	color: #FFC834; /* Gold color */
	margin-right: 8px;
	font-weight: 700;
}

/* Add the reviews count after the stars */
.header-top-bar .header-rating:after {
	content: "(7 Ratings & Reviews)";
	font-size: 0.8125rem; /* 13px */
	color: #ffffff; /* White text for dark green bar */
	margin-left: 8px;
}

/* Header Top Bar Info */
.header-top-bar .header-top-bar__info {
	padding: 30px 0;
}
.header-top-bar .header-top-bar__info .e-con-inner .header-top-bar__info-wrap {
	max-width: 760px;
	margin: 0 0 0 auto;
	justify-content: flex-end;
	gap: 20px;
}
.header-top-bar__info-wrap > .e-con {
	flex: 0 1 auto !important;
	width: auto !important;
	max-width: none !important;
}
.header-top-bar__info-wrap > .e-con .elementor-icon-box-wrapper {
	gap: 5px !important;
}
.header-top-bar .header-top-bar__info svg {
	fill: var(--accent-orange);
}
.header-top-bar .header-top-bar__info p {
	font-size: var(--14px-rem);
}


/* Site Header */
.site-header {
	padding: 0;
	margin-bottom: -35px;
	z-index: 1000;
}

.site-header .header-inner {
	background: var(--primary-green);
	position: relative;
	padding: 10px 0;
	border-bottom-left-radius: 25px;
	max-width: 1100px;
}
.site-header .site-branding {
	position: absolute;
	top: -75px;
}
.site-header .site-branding .site-logo img {
	display: block;
	line-height: 1;
	width: 139px; 
	height: auto;
	image-rendering: -webkit-optimize-contrast; /* Extra sharpness for some browsers */
}
/* Header Navigation */
.site-header .site-navigation {	
	margin-left: 140px;
	width: 100%;
	position: relative;
}
.site-navigation ul.menu {
	display: flex;
	flex-wrap: nowrap;	
}
.site-navigation ul.menu li {
	display: flex;
	position: relative;
	font-size: var(--14px-rem);
	font-weight: 600;
	text-transform: uppercase;
}
.site-navigation ul.menu li a {
	display: block;
	padding: 17px 15px;
	color: #FFFFFF;
}

.site-navigation .button-request-estimate {
	position: absolute !important;
	right: 5px;
}

.site-navigation ul.menu li.button-request-estimate a {
	background: var(--accent-orange);	
}
/* Button */
.elementor-button {
	background-color: var(--accent-orange);
	border-radius: 0;		
	text-transform: uppercase;
	padding: 17px 24px;
}
.text-accent {
	color: var(--accent-orange); 
}
/* Hero Contact Section */
.hero-contact-section {
	position: relative;
	padding: 100px 0;
	border-top: 4px solid;
	border-bottom: 4px solid;
	border-color: #989899;
}
/* Background Flip */
.hero-contact-section::before {
	transform: scaleX(-1);
	background-size: cover;
	background-position: center;
}
/* The Dark Gradient Overlay */
.hero-contact-section::after {
	content: "";
	position: absolute;
	inset: 0;
	/* This creates a top-to-bottom gradient from dark to darker */
	background: linear-gradient(
		to bottom, 
		rgba(0, 0, 0, 0.4) 0%,   /* Dark */
		rgba(0, 0, 0, 0.85) 100% /* Darker */
	);
	z-index: 1; /* Sits on top of the ::before image */
}

.hero-contact-section .e-con-inner {
	position: relative;
	z-index: 2;
}

.hero-contact-section .e-con-inner {

}

.hero-contact-section,
.hero-contact-section .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-height: 670px; /* Adjust to ensure the section is tall enough */
}

.hero-contact-section .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important; /* Forces children to match parent height */
}

.hero-contact__text-wrapper {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 60px 0; /* Vertical padding keeps text from touching edges */
}

.hero-contact__form-wrapper {
	flex: 1;
	background-color: rgba(0, 0, 0, 0.4);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 50px;
	height: auto !important;
	border-left: 3px solid var(--accent-orange);
	border-right: 3px solid var(--accent-orange);
	max-width: 460px;
}


.hero-contact-section .elementor-widget .elementor-icon-list-item, .hero-contact-section .elementor-widget .elementor-icon-list-item a {
	color: #FFFFFF;
}
.hero-contact-section .elementor-icon-list-icon svg {
	fill: #FFFFFF;
}

/* Style the Title */
.form-title {
	color: #FFFFFF;
	font-size: var(--34px-rem);
	text-align: center;
	font-weight: 600;
	padding: 0;
	max-width: 370px;
	margin: 40px auto;
	width: 100%;
}

/* Style the Input Fields */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
	background: transparent !important;
	border: none !important;
	border-bottom: 1.5px solid #FFFFFF !important; /* The white underline */
	border-radius: 0 !important;
	color: #FFFFFF !important;
	width: 100%;
	padding: 10px 0;
	margin-bottom: 25px;
	font-size: var(--16px-rem);
}

/* Style the Placeholders (The text inside the lines) */
::placeholder {
	color: rgba(255, 255, 255, 0.8) !important;
	font-style: normal;
}

/* Style the Submit Button */
.wpcf7-submit {
	background-color: var(--accent-orange) !important;
	color: #FFFFFF !important;
	border: none !important;
	width: 100%;
	padding: 12px 15px;
	font-weight: bold;
	text-transform: uppercase;
	cursor: pointer;
	margin-top: 20px;
	transition: background 0.3s ease;
	border-radius: 0;
}

.wpcf7-submit:hover {
	background-color: var(--accent-orange) !important; /* Slightly darker orange on hover */
}

/* Financing Section */

/* polygon triangle overlay */
.financing-cta-section {
	position: relative;
	overflow: hidden; /* Keeps the polygon from spilling out of the section */
}

.financing-cta-section .financing-split-overlay::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	clip-path: polygon(75% 0%, 100% 0%, 100% 100%, 0% 100%);
	z-index: 1;
	max-width: 30%;
}
.financing-cta-section .financing-split-overlay .elementor-widget-image img {
	display: inline-block;
	vertical-align: middle;
	margin-right: 200px;
	max-width: 170px;
}
/* Ensure your text/content sits ON TOP of the polygon */
.financing-cta-section .e-con {
	position: relative;
	z-index: 2; 
}

/* ==========================================================================
HOMEPAGE SECTION STYLES, PADDING, COLORS
========================================================================== */

/* Section #1: Hero Contact */
.hero-contact-section {
	position: relative;
	padding: 100px 0;
}

/* Section #2: Masonry Grid */
.masonry-content-section {
	padding: 80px 0;
}
.masonry-content-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
}
/* Give the gallery section a specific class like .project-gallery */
.project-gallery {
	position: relative;
}
.project-gallery .elementor-image img {
	border-radius: 4px; /* Optional: adds a clean professional edge */
	width: 100%;
	height: auto;
	display: block;
}

/* Add a negative margin to the bottom row to pull it up slightly */
.project-gallery .bottom-row-images {
	position: relative;
	z-index: 2;
	gap: 5px;
	margin-top: 43px;
}
.project-gallery .bottom-row-images .elementor-widget-image img {

}
.project-gallery .bottom-row-images .image-left {

}
.project-gallery .bottom-row-images .image-left {
	max-width: 183px;
}
.project-gallery .bottom-row-images .image-right {
	max-width: 260px;
}
.project-gallery .bottom-row-images .image-right .elementor-widget-image img {

}
/* Ensure the top image stays underneath the bottom ones if they overlap */

.project-gallery .top-featured-image {
	position: absolute;
	z-index: 3;
}
.project-gallery .top-featured-image .elementor-widget-image {
	max-width: 353px;
}
.project-gallery .top-featured-image .elementor-widget-image img {
	display: block;
	width: 100%;
	max-width: 353px;
	line-height: 1;
}
/* Section #3: Features Grid */
.features-grid-section {
	padding: 60px 0;    
}
.features-grid-section .e-grid > .e-child {
	border: 1px solid var(--light-grey);
	padding: 36px 40px;
}
.features-grid-section .e-grid > .e-child .elementor-widget-image img {
	max-width: 75px;
}
.features-grid-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	text-align: center;
	font-weight: 400;
}
.features-grid-section h3.elementor-heading-title {
	font-size: var(--20px-rem);
	text-transform: capitalize;
}

/* Section #4: Call to Action Bar */
/* 1. Main Section Styling */
.cta-bar-section {
	position: relative;
	background-color: #2d3e33;
	overflow: hidden;	
	padding: 80px 0 40px;
}

/* 2. The Angled House Image (Right Side) */
.cta-bar-section::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	max-width: 33.333%;
	width: 100%; /* Covers the right half */
	height: 100%;
	background-image: url('/wp-content/uploads/2026/02/e0444ba24f492c923464406eba739c3de78b0149.webp');
	background-size: cover;
	background-position: center left; /* Keeps the house entrance in view */
	/* This creates the specific sharp diagonal from your mockup */
	clip-path: polygon(25% 100%, 100% 100%, 100% 0%, 0% 0%);
	z-index: 1;
	margin: 0 0 0 auto;
}
.cta-bar-section::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #ffffff;
	clip-path: polygon(0 100%, 98% 100%, 100% 0%, 0% 0%);
	z-index: 2;
	margin-left: auto;
	max-width: 66.666%;
}
/* 3. Ensuring Content Stays Visible & Aligned */
.cta-bar-section .elementor-container {
	position: relative;
	z-index: 2; /* Sits on top of the image slant */
	max-width: 1100px !important; /* Forces your 1100px grid */
}

/* 4. Responsive Fix for Mobile */
@media (max-width: 767px) {
	.cta-bar-section::before {
		display: none; /* Hide the slant on mobile so text is readable */
	}
	.cta-bar-section {
		background-image: linear-gradient(rgba(45, 62, 51, 0.9), rgba(45, 62, 51, 0.9)), url('your-house-image-url.jpg');
		background-size: cover;
	}
}
.cta-bar-section .elementor-icon-list-icon {
	fill: #FFFFFF;
}
.cta-bar-section .elementor-button {
	width: 100%;
	max-width: 343px;
}
.cta-bar-section .elementor-widget-image img {
	display: inline-block;
	vertical-align: middle;	
}
.cta-bar-section .elementor-icon-list-text {
	color: #FFFFFF;	
}
/* Section #5: Services Grid */
.services-grid-section {
	padding: 80px 0;
	background: var(--neutral-tan);
}
.services-grid-section .e-con-inner:before {
    content: "";
    display: block;
    width: 100%;
    height: 5px; /* Matches the thickness of the CTA border */
    background-color: var(--accent-orange); /* Your brand orange */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}
.services-grid-section .elementor-widget-image img {
	max-width: 90px;
}
.services-grid-section .services-grid__container .e-con {
	background: #fff;
	padding: 36px 0px;
	border-bottom: 3px solid var(--accent-orange);
}
.services-grid-section .elementor-button {
	background-color: var(--primary-green);
}
/* Target the container ONLY when it contains a hovered 'a' element */
.services-grid-section .services-grid__container .e-con:has(a:hover) {
    background-color: var(--primary-green); /* Or whatever hover color you prefer */
    border-color: #0A6114;
}
/* When the container is "active" via a child hover, turn the H3 white */
.services-grid-section .services-grid__container .e-con:has(a:hover) h3 {
    color: #ffffff !important;
    transition: color 0.3s ease;
}
/* When the container link is hovered, find the image/icon and turn it white */
.services-grid-section .services-grid__container .e-con:has(a:hover) img,
.services-grid-section .services-grid__container .e-con:has(a:hover) i {
    filter: invert(100%) brightness(200%);
    transition: filter 0.3s ease;
}
/* Section #6: About Summary */
.about-summary-section {
	padding: 0;
}
.about-summary-section__left-bg {
	position: relative;
	z-index: 3;
	padding: 150px 0;	
	margin-top: 40px;
	margin-bottom: 60px;
	max-width: 95%;
	background-position: center left;
}
.about-summary-section__left-bg {
    /* offset-x | offset-y | blur-radius | color */
    filter: drop-shadow(15px 15px 0px #ffffff);
}
.about-summary-section__left-bg::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
	background-size: cover;
	background-position: center right;
	z-index: 1;
}
.about-summary-section__left-bg .elementor-widget-image {
	position: relative;
	z-index: 2;
}
.about-summary-section__left-bg:before {
	
}
.about-summary-section__right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* This adds the necessary 'wall' of space on the right */
    padding-right: 10%; 
    padding-left: 1%;   /* Space between the image slant and the text */
    box-sizing: border-box;
	background: var(--primary-green);	
	position: relative;
	z-index: 2;
}
.about-summary-section__right h2, .about-summary-section__right p {
	color: #FFFFFF;
}
.about-summary-section::after {
	content: "";
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--primary-green);
	max-width: 500px;
	margin: 0 0 0 auto;
	clip-path: polygon(50% 0%, 100% 0%, 100% 100%, 0% 100%);
	right: 50%;
	z-index: 1;
}
/* Section #7: Specialities */
.specialities-section {
	padding: 100px 0;	
}
.specialities-section .elementor-widget-image + .e-con-full .elementor-widget-image img {
	max-width: 40px;
}
.specialities-section h2.elementor-heading-title {
	font-size: var(--54px-rem);
	text-align: center;
	margin-bottom: 40px; 
}
.specialities-section h3.elementor-heading-title {
	font-size: var(--24px-rem);
}
.specialities-section .elementor-widget-text-editor p {
	font-size: var(--14px-rem);
}
.specialities-section .elementor-button.elementor-button-link.elementor-size-sm {
    background-color: transparent !important; /* Removes the orange/green box */
    color: var(--primary-green) !important; /* Sets text to black */
    padding: 0 !important; /* Removes internal button spacing to align with text */
    text-decoration: underline !important; /* Adds the requested underline */
    text-underline-offset: 5px; /* Adds a clean gap between text and line */
    font-weight: 600; /* Matches the "Pro" brand feel */
    transition: all 0.3s ease;
}

/* Optional: Subtle hover effect */
.specialities-section .elementor-button.elementor-button-link.elementor-size-sm:hover {
    color: var(--accent-orange) !important; /* Brand orange hover */
    background-color: transparent !important;
}
/* Section #8: Financing Split */

.financing-cta-section {
	position: relative;
	overflow: hidden;
	/* This section contains the diagonal clip-path overlay */
}
.financing-promo {
	background-color: var(--neutral-tan);
}
.financing-split-overlay {
	position: relative;
	overflow: hidden;
	flex: 0 0 50% !important;
	max-width: 50% !important;
	box-sizing: border-box;
}

.financing-split-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* 50% opacity black overlay */
    background-color: rgba(0, 0, 0, 0.5); 
    
    /* Optional: Use a gradient to make it darker behind the text */
    /* background: linear-gradient(90deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%); */
    
    z-index: 1; /* Sits above the image but below the content */
    pointer-events: none; /* Allows user to still click buttons underneath */
}

/* Ensure your logo and text stay on top of the overlay */
.financing-split-overlay .elementor-widget,
.financing-split-overlay .elementor-column {
    position: relative;
    z-index: 2;
}
.financing-split-overlay .elementor-widget-image {
	padding: 40px 0;
	
}
.financing-cta-section .financing-split-overlay::after {
	background: var(--neutral-tan);
}
.financing-cta-section .action-card--call {
	background: var(--primary-green);
}
.financing-cta-section .action-card--book {
	background: var(--accent-orange);
}
.financing-promo--contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-right: 18%;
	padding-left: 0%;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	flex: 0 0 50% !important;
	max-width: 50% !important;
	box-sizing: border-box;
}

.action-grid > .e-con-full {
	padding: 40px 0;	
}
.action-grid > .e-con-full svg, .action-grid > .e-con-full img {
	margin-bottom: 20px;
}
/* Section #9: Reviews Carousel */
.reviews-carousel-section {
	padding: 80px 0;
	/* Container for the Google API plugin */
}

.reviews-carousel-section .elementor-widget-image img {
	width: 100%;
	display: block;
}

/* Section #10: FAQ Accordion */
.faq-accordion-section {
	padding: 0 0 100px;
	/* Styles for the green circle icons and accordion titles */
}
/* 1. Main Title Bar Styling */
.faq-accordion-section .e-n-accordion-item-title {
    display: flex !important;
    align-items: center !important;
    padding: 20px 0 !important;
    border: none !important;
    background-color: transparent !important;
    transition: all 0.3s ease;
	
}

/* 2. Brand Orange Underline (Hover & Open State) */
.faq-accordion-section .e-n-accordion-item[open] .e-n-accordion-item-title,
.faq-accordion-section .e-n-accordion-item-title:hover {
	border: none !important;
    border-bottom: 2px solid #c06c3d !important; /* Brand Orange */
}

/* 3. The Green Question Circle (Left Side) */
.faq-accordion-section .e-n-accordion-item-title::before {
    content: "?";
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    background-color: var(--forest-green);
    color: #ffffff;
    border-radius: 50%;
    margin-right: 20px;
    font-size: 16px;
    font-weight: bold;
}

/* 4. The Interactive Toggle (Right Side X / +) */
.faq-accordion-section .e-n-accordion-item-title-icon.secondary {
    margin-left: auto !important; /* Forces toggle to the far right */
    color: #333 !important;
    font-size: 18px;
    transition: transform 0.3s ease, color 0.3s ease;
}
.faq-accordion-section .elementor-widget-n-accordion .e-n-accordion-item-title-icon {
	order: 3;
	margin: 0 0 0 auto;
	padding-right: 15px;
}
/* 5. Color Change for the Toggle when Open */
.faq-accordion-section .e-n-accordion-item[open] .e-n-accordion-item-title-icon.secondary {
    color: #c06c3d !important; /* Brand Orange X when active */
}

/* 6. Content Area Padding & Indentation */
.faq-accordion-section .e-n-accordion-item .e-con-full {
    padding: 25px 0 40px 52px !important; /* Indents text past the green circle */
    line-height: 1.7;
    color: #555;
	border: 0;
}
/* Section #11: Service Areas */
.service-areas-section {
	padding: 80px 0;
	background: var(--neutral-paper);
}

/* Section #12: Video CTA */
.video-cta-section {
	background-color: var(--primary-green); /* Dark Green */
	color: #FFFFFF;
	padding: 100px 0;
}
.video-cta-section .elementor-icon {
    /* Set the circular background */
    background-color: rgba(192, 108, 61, 0.7) !important; /* Brand Orange at 70% opacity */
    border-radius: 50% !important; /* Makes it a perfect circle */
    
    /* Center the play triangle */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* Sizing */
    width: 120px !important;  /* Overall circle size */
    height: 120px !important;
    
    /* The play triangle itself */
    color: #ffffff !important; /* White triangle */
    font-size: 40px !important; /* Triangle size */
    
    /* Visual polish */
    transition: all 0.4s ease !important;
    cursor: pointer;
}

/* Hover effect for interactivity */
.video-cta-section .elementor-icon:hover {
    background-color: rgba(192, 108, 61, 0.9) !important; /* Darker on hover */
    transform: scale(1.05); /* Slight grow effect */
}
.video-cta-section .elementor-icon svg {
	fill: #FFFFFF;
}
.video-cta-section .video-container {
	border-radius: 15px;
}

/* ==========================================================================
SECTION HEADING STYLES (H2, H3)
========================================================================== */

/* Section #1: Hero Contact: Your Trusted Roofing Contractor in Portland */

.hero-contact-section h1.elementor-heading-title {
	color: #FFFFFF;	
	font-weight: 700;
	font-size: var(--56px-rem);
}

/* Section #2: Masonry Grid: The Roof and Nail Promise */

/* Section #3: Features Grid: Why Choose Roof and Nail */


/* Section #4: Call to Action Bar: Request Detailed Quote */
.cta-bar-section h2.elementor-heading-title {


}

/* Section #5: Services Grid: Our Roofing Services */
.services-grid-section h2.elementor-heading-title {    
	font-size: var(--54px-rem);
	text-align: center;
}
.services-grid-section h3.elementor-heading-title {
	font-size: var(--16px-rem);
	text-align: center;
}

/* Section #6: About Summary: Reliable Roofing */
.about-summary-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
}

/* Section #7: Specialities: Our Speciality */


/* Section #8: Financing Split */
.financing-cta-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
}

.financing-cta-section .action-grid .elementor-widget-text-editor p {
	font-size: var(--30px-rem);    
}

/* Section #9: Reviews Carousel */
.reviews-carousel-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
	text-align: center;
}

/* Section #10: FAQ Accordion */
.faq-accordion-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
	text-align: center;
}

/* Section #11: Service Areas */
.service-areas-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
	text-align: center;
}

/* Section #12: Video CTA */
.video-cta-section h2.elementor-heading-title {
	font-size: var(--35px-rem);
	font-weight: 400;
	color: #FFFFFF;
}

.video-cta-section h2.elementor-heading-title > span {
	font-weight: 600;	
}

/* 1. Global Footer Container */
.custom-footer-section {
    background-color: #1a1a1a !important; /* Dark Charcoal */
    color: #ffffff !important;
    padding: 0;
}
.custom-footer-section .footer-wrap {
	padding: 50px 0;
}
/* 2. Heading Styles (All Columns) */
.custom-footer-section h3, 
.custom-footer-section .elementor-heading-title {
    font-weight: 500;	
    font-size: var(--18px-rem);
    text-transform: uppercase;    
    margin-bottom: 0;
}

/* 3. Text & Link Styling */
.custom-footer-section h3, 
.custom-footer-section .elementor-heading-title,
.custom-footer-section p, 
.custom-footer-section .elementor-icon-list-text {        
    color: #FFFFFF;	
}
.custom-footer-section p {
	font-size: var(--16px-rem);
	margin-bottom: 0;
}
/* Hover Effect for Links */
.custom-footer-section a:hover .elementor-icon-list-text,
.custom-footer-section a:hover {
    color: #c06c3d !important; /* Brand Orange */
    transition: color 0.3s ease;
}

/* 4. Social Icons - The Circular Orange Border */
.custom-footer-section .elementor-social-icon {
    background-color: transparent !important;
    border: 1px solid #c06c3d !important; /* Brand Orange Border */
    border-radius: 50% !important; /* Perfect Circles */
    transition: all 0.3s ease;
}

.custom-footer-section .elementor-social-icon i {
    color: #ffffff !important; /* White Icon Glyph */
}

/* Social Icon Hover Animation */
.custom-footer-section .elementor-social-icon:hover {
    background-color: #c06c3d !important;
    transform: translateY(-3px); /* Subtle lift effect */
}

/* 5. Emergency Service Highlight */
.custom-footer-section .emergency-highlight {
    color: #ffffff !important;
    font-weight: 700;
}
/* 6. Footer Credit */
.footer-credit {
	background: var(--footer-credit);
	padding: 5px 0;
}
.footer-credit p {
	margin-bottom: 0;
	color: #FFFFFF;
}