/*
|--------------------------------------------------------------------------
| ComfortAirflow Main Stylesheet
|--------------------------------------------------------------------------
| Version: 1.0
|--------------------------------------------------------------------------
*/
/*
|--------------------------------------------------------------------------
| CSS VARIABLES - DESIGN SYSTEM
|--------------------------------------------------------------------------
*/
:root {
	/*==========================================================
	Brand Colors
	==========================================================*/
    --primary-color: #12355B;
    --primary-dark: #0B2340;
    --primary-light: #EAF3FA;
    --secondary-color: #F97316;
    --secondary-dark: #D95E0A;
    --accent-color: #00A6D6;
	/*==========================================================
	Neutral Colors
	==========================================================*/
    --white: #FFFFFF;
    --black: #111111;
    --text-color: #333333;
    --text-light: #666666;
    --background-light: #F7F9FB;
    --border-color: #E5E7EB;
	/*==========================================================
	Typography
	==========================================================*/
    --font-primary:
        Arial,
        Helvetica,
        sans-serif;
	/*==========================================================
	Spacing
	==========================================================*/
    --spacing-xs: 5px;
    --spacing-sm: 10px;
    --spacing-md: 20px;
    --spacing-lg: 40px;
    --spacing-xl: 60px;
	/*==========================================================
	Border Radius
	==========================================================*/
    --radius-small: 5px;
    --radius-medium: 10px;
    --radius-large: 20px;
	/*==========================================================
	Shadows
	==========================================================*/
    --shadow-small:
        0 2px 8px rgba(0,0,0,0.08);
    --shadow-medium:
        0 5px 20px rgba(0,0,0,0.12);
    --shadow-button:
        0 4px 12px rgba(0,0,0,0.25);
}
/*==========================================================
	GLOBAL RESET
==========================================================*/
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
}
body {
    margin:0;
    font-family:
    var(--font-primary);
    color:
    var(--text-color);
    background:
    var(--white);
}
img {
    max-width:100%;
    height:auto;
}
a {
    text-decoration:none;
}
ul {
    list-style:none;
    padding:0;
    margin:0;
}
/*==========================================================
	CONTAINER
==========================================================*/
.container {
    width:90%;
    max-width:1200px;
    margin:auto;
}
/*==========================================================
	HEADER & NAVIGATION
==========================================================*/
.site-header {
    position:relative;
    z-index:2000;
    background:
    var(--white);
    border-bottom:
    1px solid var(--border-color);
    box-shadow:
    var(--shadow-small);
}
.header-container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:80px;
}
.logo a {
    display:flex;
    flex-direction:column;
}
.logo-main {
    font-size:28px;
    font-weight:700;
    color:
    var(--primary-color);
}
.logo-tagline {
    font-size:13px;
    color:
    var(--text-light);
}
.main-navigation {
    display:flex;
    align-items:center;
    gap:30px;
}
.main-navigation ul {
    display:flex;
    gap:25px;
}
.main-navigation a {
    color:
    var(--text-color);
    font-weight:500;
    transition:
    0.3s ease;
}
.main-navigation a:hover {
    color:
    var(--accent-color);
}
.phone-button {
    background:
    var(--secondary-color);
    color:
    var(--white) !important;
    padding:
    12px 22px;
    border-radius:
    var(--radius-small);
    font-weight:600;
    transition:
    0.3s ease;
}
.phone-button:hover {
    background:
    var(--secondary-dark);
}
.mobile-menu-toggle {
    display:none;
    font-size:28px;
    background:none;
    border:0;
    cursor:pointer;
}
/*==========================================================
	BUTTONS
==========================================================*/
/*
.btn {
    display:inline-block;
    padding:
    14px 28px;
    border-radius:
    var(--radius-small);
    font-weight:600;
    transition:
    0.3s ease;
}
*/
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    border-radius: var(--radius-small);
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}
.btn-primary {
    background: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    color: var(--white);
    white-space: nowrap;
    box-shadow: var(--shadow-button);
}
.btn-primary:hover {
    background: var(--secondary-dark);
    border-color: var(--secondary-dark);
    color: var(--white);
}
/*==========================================================
	SECTIONS
==========================================================*/
.section {
    padding:
    var(--spacing-xl) 0;
}
.section-title {
    text-align:center;
    margin-bottom:
    var(--spacing-lg);
}
.section-title h2 {
    color:
    var(--primary-color);
    font-size:36px;
}
.legal-content {
    padding-bottom: 20px;
}
.cta-section {
    padding-top: 0;
}
/*==========================================================
	FOOTER
==========================================================*/
.site-footer {
    background: var(--primary-dark);
    color: #ffffff;
    padding: 35px 0 30px;
}
.footer-links {
    display: flex;
    justify-content: center;
    gap: 80px;
    flex-wrap: wrap;
    margin-bottom: 25px;
}
.footer-column {
    min-width: 180px;
}
.footer-column h3 {
    color: #ffffff;
    font-size: 20px;
    margin-bottom: 18px;
    font-weight: 700;
}
.footer-column a {
    display: block;
    color: #ffffff;
    text-decoration: none;
    margin-bottom: 12px;
    transition: color .25s ease;
}
.footer-column a:hover {
    color: var(--secondary-color);
}
.footer-contact {
    text-align: center;
    margin-bottom: 30px;
}
.footer-phone {
    margin-bottom: 15px;
}
.footer-phone a {
    display: inline-block;
    padding: 12px 28px;
    border: 2px solid #ffffff;
    border-radius: 30px;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
    transition: all .25s ease;
}
.footer-phone a:hover {
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    color: #ffffff;
}
.footer-service-area {
    color: rgba(255,255,255,.85);
    font-size: 16px;
}
.footer-copyright {
    border-top: 1px solid rgba(255,255,255,.15);
    padding-top: 25px;
    text-align: center;
    color: rgba(255,255,255,.75);
    font-size: 14px;
}
/*==========================================================
	MOBILE
==========================================================*/
@media (max-width:768px) {
    .footer-links {
        flex-direction: column;
        gap: 35px;
        text-align: center;
    }
    .footer-column {
        min-width: auto;
    }
}
/*==========================================================
	MOBILE RESPONSIVE
==========================================================*/
@media(max-width:768px) {
    .header-container {
        min-height:70px;
    }
    .mobile-menu-toggle {
        display:block;
    }
	.main-navigation {
		display:none;
		position:absolute;
/*		top:70px;	*/
		top:149px;
		left:0;
		width:100%;
		background:
		var(--white);
		flex-direction:column;
		padding:20px;
		box-shadow:
		var(--shadow-small);
		z-index:1000;
	}
    .main-navigation.active {
        display:flex;
    }
    .main-navigation ul {
        flex-direction:column;
        width:100%;
        gap:15px;
    }
    .phone-button {
        width:100%;
        text-align:center;
    }
}
/*==========================================================
	HERO SECTION
==========================================================*/
.hero {
    position:relative;
    min-height:650px;
    display:flex;
    align-items:center;
    background-image:
    url('/assets/images/hero/hvac-hero.webp');
    background-size:cover;
    background-position: center 5%;
    color:white;
}
.hero-overlay {
    position:absolute;
    inset:0;
    background:
    rgba(11,35,64,0.50);
}
.hero-container {
    position:relative;
    z-index:2;
}
.hero-content {
    max-width:650px;
}
.hero h1 {
    font-size:52px;
    line-height:1.15;
    margin-bottom:20px;
}
.hero p {
    font-size:20px;
    line-height:1.6;
    margin-bottom:30px;
}
.hero-buttons {
    display:flex;
    gap:15px;
    margin-bottom:35px;
}
.btn-call {
    background: var(--secondary-color);
    border: 2px solid var(--secondary-color);
    color: var(--white);
    white-space: nowrap;
    box-shadow: var(--shadow-button);
}
.btn-call:hover {
    background: var(--secondary-dark);
    border-color: var(--secondary-dark);
    color: var(--white);
}
.hero-features {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    font-size:15px;
}
@media(max-width:768px){
.hero {
    min-height:600px;
}
.hero h1 {
    font-size:36px;
}
.hero p {
    font-size:17px;
}
.hero-buttons {
    flex-direction:column;
}
.hero-features {
    flex-direction:column;
}
}
/*==========================================================
	LOCATION HERO
==========================================================*/
.location-hero {
    min-height:450px;
    display:flex;
    align-items:center;
    background-size:cover;
    background-position:center;
    color:white;
}
.location-hero .section-title h1 {
    color:white;
}
.location-hero .section-title p {
    color:white;
    font-size:20px;
    max-width:600px;
    margin:0 auto;
    text-align:left;
}
/*==========================================================
	SERVICES SECTION
==========================================================*/
.services-grid {
    display:grid;
    grid-template-columns:
    repeat(3, 1fr);
    gap:30px;
}
.service-card {
    background:
    var(--white);
    padding:35px 25px;
    border-radius:
    var(--radius-medium);
    box-shadow:
    var(--shadow-small);
    text-align:center;
    transition:
    0.3s ease;
}
.service-card:hover {
    transform:
    translateY(-8px);
    box-shadow:
    var(--shadow-medium);
}
.service-icon {
    font-size:45px;
    margin-bottom:20px;
}
.service-card h3 {
    color:
    var(--primary-color);
    margin-bottom:15px;
}
.service-card p {
    color:
    var(--text-light);
    line-height:1.6;
}
.service-card a {
    display:inline-block;
    margin-top:15px;
    color:
    var(--accent-color);
    font-weight:600;
}
@media(max-width:900px) {
    .services-grid {
        grid-template-columns:
        repeat(2, 1fr);
    }
}
@media(max-width:600px) {
    .services-grid {
        grid-template-columns:
        1fr;
    }
}
.location-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}
.location-links a {
    display: inline-block;
    padding: 10px 18px;
    background: var(--background-light);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    text-decoration: none;
    color: var(--primary-color);
    font-weight: 600;
    transition: .25s;
}
.location-links a:hover {
    background: var(--primary-color);
    color: white;
}
/*==========================================================
	WHY CHOOSE US
==========================================================*/
.why-choose{
    background:var(--background-light);
}
.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}
.why-card{
    background:white;
    padding:35px;
    border-radius:var(--radius-medium);
    box-shadow:var(--shadow-small);
    text-align:center;
    transition:.3s;
}
.why-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-medium);
}
.why-icon{
    font-size:48px;
    margin-bottom:20px;
}
.why-card h3{
    color:var(--primary-color);
    margin-bottom:15px;
}
.why-card p{
    color:var(--text-light);
    line-height:1.6;
}
@media(max-width:900px){
.why-grid{
grid-template-columns:repeat(2,1fr);
}
}
@media(max-width:600px){
.why-grid{
grid-template-columns:1fr;
}
}
/*==========================================================
	REVIEWS
==========================================================*/
.reviews-grid {
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
align-items:stretch;
}
.review-card {
background:#fff;
padding:30px;
border-radius:var(--radius-medium);
box-shadow:var(--shadow-small);
transition:.3s;
height:100%;
}
.review-card:hover {
transform:translateY(-8px);
box-shadow:var(--shadow-medium);
}
.review-stars {
color:#f4b400;
font-size:22px;
margin-bottom:15px;
}
.review-card h3 {
color:var(--primary-color);
font-size:20px;
margin-bottom:15px;
line-height:1.3;
}
.review-text {
font-style:italic;
line-height:1.7;
margin-bottom:20px;
}
.review-author {
color:var(--text-light);
font-size:15px;
line-height:1.6;
}
.review-service {
margin-top:10px;
padding-top:10px;
border-top:1px solid var(--border-color);
font-size:14px;
color:var(--text-light);
}
.reviews-button {
text-align:center;
margin-top:40px;
}
@media(max-width:900px) {
.reviews-grid {
    grid-template-columns:repeat(2,1fr);
}
}
@media(max-width:600px) {
.reviews-grid {
    grid-template-columns:1fr;
}
}
/*==========================================================
	REVIEWS PAGE
==========================================================*/
.reviews-page .section-title h1 {
    color:var(--primary-color);
    font-size:42px;
    margin-bottom:15px;
}
/*==========================================================
	REVIEW SUMMARY
==========================================================*/
.reviews-summary {
    text-align:center;
    margin-bottom:40px;
}
.average-rating {
    display:inline-flex;
    flex-direction:column;
    align-items:center;
}
.summary-stars {
    color:#f4b400;
    font-size:32px;
    letter-spacing:3px;
}
.average-rating strong {
    font-size:36px;
    color:var(--primary-color);
}
.average-rating span {
    color:var(--text-light);
    margin-top:5px;
}
/* ==========================================================
   Load More Reviews
========================================================== */
.load-more-reviews {
    text-align: center;
    margin-top: 35px;
}
.load-more-reviews .btn {
    min-width: 220px;
}
/* ==========================================================
   LEAVE A REVIEW
========================================================== */
.leave-review-section {
    padding-top: 15px;
    padding-bottom: 15px;
}
.leave-review-section .section-title {
    margin-bottom: 0;
}
.leave-review-section .section-title h2 {
    margin-bottom: 10px;
}
.leave-review-section .section-title p {
    margin-bottom: 15px;
}
.leave-review-section .hero-buttons {
    margin-top: 10px;
    justify-content: center;
}
/*==========================================================
	SERVICE AREAS
==========================================================*/
.service-areas{
background:
var(--background-light);
}
.cities-grid{
display:grid;
grid-template-columns:
repeat(3,1fr);
gap:20px;
}
.city-card{
background:white;
padding:20px;
border-radius:
var(--radius-medium);
text-align:center;
box-shadow:
var(--shadow-small);
transition:.3s;
}
.city-card:hover{
transform:
translateY(-5px);
box-shadow:
var(--shadow-medium);
}
.city-card a{
font-weight:600;
color:
var(--primary-color);
}
.city-icon{
font-size:20px;
display:block;
margin-bottom:10px;
}
.cities-button{
text-align:center;
margin-top:35px;
}
@media(max-width:900px){
.cities-grid{
grid-template-columns:
repeat(2,1fr);
}
}
@media(max-width:600px){
.cities-grid{
grid-template-columns:
1fr;
}
}
/*==========================================================
	Breadcrumbs
==========================================================*/
.breadcrumbs {
    padding: 20px 0;
    font-size: 14px;
}
.breadcrumbs nav {
    color: #666;
}
.breadcrumbs a {
    color: #0b5ed7;
    text-decoration: none;
}
.breadcrumbs span {
    margin: 0 8px;
}
.breadcrumbs nav > span:first-child {
    margin-left: 0;
}
/*==========================================================
	CONTACT
==========================================================*/
.contact-grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(240px,1fr));
gap:30px;
margin-top:50px;
}
.contact-card{
background:#fff;
padding:35px 30px;
border-radius:12px;
text-align:center;
box-shadow:
0 8px 24px rgba(0,0,0,.08);
transition:.3s;
}
.contact-card:hover{
transform:translateY(-5px);
}
.contact-icon{
font-size:40px;
margin-bottom:20px;
}
.contact-card h3{
margin-bottom:15px;
color:var(--primary-color);
}
.contact-card p{
margin-bottom:10px;
}
.contact-card a{
color:var(--primary-color);
font-weight:600;
text-decoration:none;
}
.contact-card a:hover{
color:var(--secondary-color);
}
/*==========================================================
	CONTACT FORM
==========================================================*/
.contact-form{
max-width:900px;
margin:0 auto;
}
.form-row{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(240px,1fr));
gap:25px;
margin-bottom:25px;
}
.form-group{
display:flex;
flex-direction:column;
}
.form-group label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:var(--primary-color);
}
.form-group input,
.form-group select,
.form-group textarea{
padding:15px;
border:1px solid var(--border-color);
border-radius:8px;
font-size:16px;
font-family:inherit;
}
.form-group textarea{
resize:vertical;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
outline:none;
border-color:var(--secondary-color);
}
.form-submit{
text-align:center;
margin-top:30px;
}
.privacy-note{
    text-align:center;
    margin-top:20px;
    color:var(--text-light);
    font-size:15px;
    font-style:italic;
}
.alert-error{
background:#fdeaea;
border:1px solid #d9534f;
color:#b00020;
padding:20px;
border-radius:8px;
margin-bottom:25px;
}
.alert-error ul{
margin:0;
padding-left:20px;
}
/*==========================================================
	CONTACT FORM MESSAGES
==========================================================*/
.alert-success{
background:#eaf8ee;
border:1px solid #28a745;
color:#155724;
padding:20px;
border-radius:8px;
margin-bottom:30px;
}
.alert-success h3{
margin-top:0;
margin-bottom:10px;
color:#155724;
}
.alert-error{
background:#fdeaea;
border:1px solid #dc3545;
color:#842029;
padding:20px;
border-radius:8px;
margin-bottom:30px;
}
.alert-error ul{
margin:0;
padding-left:20px;
}
/*==========================================================
	Honeypot
==========================================================*/
.honeypot{
display:none;
}
/*
Fot Test Only
.honeypot{
display:block;
}
*/