/*
Theme Name: Unisol Homes
Theme URI: https://unisolhomes.com
Author: Unisol Homes
Description: Custom turnkey construction company theme with location-based pricing and built-in CRM/lead capture.
Version: 1.0
Text Domain: unisol
*/

:root{
  --primary:#1a4d3e;
  --accent:#d4a24c;
  --light:#f7f5f0;
  --dark:#212121;
  --muted:#6b6b6b;
  --blueprint:#2b5f8a;
  --blueprint-line:#cfe0ec;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Segoe UI',Arial,sans-serif;color:var(--dark);line-height:1.6;background:#fff;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

header.site-header{background:var(--primary);color:#fff;position:sticky;top:0;z-index:100;}
.nav-wrap{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;}
.logo{font-size:1.5rem;font-weight:700;letter-spacing:1px;color:#fff;}
.logo span{color:var(--accent);}
nav ul{display:flex;list-style:none;gap:28px;}
nav a{font-weight:500;color:#fff;}
nav a:hover{color:var(--accent);}
.btn{background:var(--accent);color:var(--dark);padding:10px 22px;border-radius:4px;font-weight:600;border:none;cursor:pointer;display:inline-block;}

.hero{position:relative;color:#fff;padding:120px 20px;text-align:center;overflow:hidden;background:linear-gradient(135deg,var(--primary),#0e2233);}
.hero-slide{position:absolute;inset:-20% 0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease-in-out;z-index:0;will-change:transform;}
.hero-slide::after{content:"";position:absolute;inset:0;background:rgba(20,40,30,.6);}
.hero-slide.active{opacity:1;}
.hero-content{position:relative;z-index:1;}
.hero h1{font-size:2.8rem;margin-bottom:16px;}
.hero p{font-size:1.2rem;max-width:700px;margin:0 auto 28px;}
.hero-dots{position:relative;z-index:1;display:flex;justify-content:center;gap:8px;margin-top:30px;}
.hero-dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background .3s;}
.hero-dots span.active{background:var(--accent);}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:rgba(20,40,30,.55);z-index:0;}

section.content-section{padding:60px 20px;max-width:1200px;margin:0 auto;}
.section-title{text-align:center;margin-bottom:40px;}
.section-title h2{font-size:2rem;color:var(--primary);}
.section-title p{color:var(--muted);margin-top:8px;}

.phases{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.phase-card{background:var(--light);border-radius:8px;padding:28px;border-left:5px solid var(--accent);}
.phase-card .num{font-size:2rem;font-weight:700;color:var(--accent);}
.phase-card h3{margin:10px 0;color:var(--primary);}

.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.card{background:#fff;border:1px solid #eee;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.card img{height:200px;object-fit:cover;}
.card-body{padding:18px;}
.card-body h3{color:var(--primary);margin-bottom:8px;}

.pricing-tool{background:var(--light);border-radius:10px;padding:32px;max-width:700px;margin:0 auto;}
.pricing-tool label{font-weight:600;display:block;margin-bottom:6px;}
.pricing-tool select,.pricing-tool input{width:100%;padding:10px;margin-bottom:18px;border:1px solid #ccc;border-radius:5px;}
.price-result{background:var(--primary);color:#fff;padding:20px;border-radius:8px;text-align:center;margin-top:10px;}
.price-result .amount{font-size:2rem;font-weight:700;color:var(--accent);}
.pkg-table{width:100%;border-collapse:collapse;margin-top:30px;}
.pkg-table th,.pkg-table td{border:1px solid #ddd;padding:12px;text-align:center;}
.pkg-table th{background:var(--primary);color:#fff;}
.pkg-table tr:nth-child(even){background:var(--light);}

.form-wrap{max-width:600px;margin:0 auto;background:var(--light);padding:32px;border-radius:10px;}
.form-wrap input,.form-wrap select,.form-wrap textarea{width:100%;padding:12px;margin-bottom:16px;border:1px solid #ccc;border-radius:5px;font-family:inherit;}
.form-wrap label{font-weight:600;display:block;margin-bottom:6px;}

footer.site-footer{background:var(--dark);color:#ccc;text-align:center;padding:30px 20px;font-size:.9rem;}
footer.site-footer a{color:var(--accent);}

@media(max-width:768px){
  nav ul{position:absolute;top:100%;left:0;right:0;background:var(--primary);flex-direction:column;padding:20px;display:none;}
  nav ul.open{display:flex;}
  .hero h1{font-size:2rem;}
  .phases{grid-template-columns:repeat(3,1fr);gap:10px;}
  .phase-card{padding:14px;}
  .phase-card .num{font-size:1.3rem;}
  .phase-card h3{font-size:.85rem;margin:6px 0;}
  .phase-card p{display:none;}
}

/* Top contact bar */
.top-bar{background:#0e2233;color:#cfe0ec;font-size:.85rem;}
.top-bar-inner{display:flex;justify-content:space-between;align-items:center;padding:6px 20px;flex-wrap:wrap;gap:6px;}
.top-bar-contact a{color:#cfe0ec;margin-right:18px;}
.top-bar-contact a:hover{color:var(--accent);}
.top-bar-social{display:flex;gap:10px;}

/* Social icons */
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.08);font-size:.95rem;}
.social-icon:hover{background:var(--accent);}

/* Custom logo */
.custom-logo{max-height:48px;width:auto;}

/* Transparent header */
header.site-header.is-transparent{background:transparent;box-shadow:none;}
header.site-header.is-transparent .logo a, header.site-header.is-transparent nav a{color:#fff;}

/* Mega menu */
nav.has-mega-menu ul#navMenu li{position:relative;}
nav.has-mega-menu ul#navMenu li.menu-item-has-children > a{display:flex;align-items:center;justify-content:space-between;gap:10px;}
nav.has-mega-menu ul#navMenu li.menu-item-has-children > a::after{
  content:"+";
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;font-size:.85rem;line-height:1;font-weight:700;
  margin-left:auto;
  border:1px solid rgba(255,255,255,.5);border-radius:50%;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
nav.has-mega-menu ul#navMenu li.menu-item-has-children:hover > a::after{
  transform:rotate(135deg);
  background:var(--accent);border-color:var(--accent);color:var(--dark);
}
nav.has-mega-menu ul#navMenu li ul{
  display:none;position:absolute;top:100%;left:0;background:#fff;min-width:240px;
  box-shadow:0 12px 28px rgba(0,0,0,.15);border-radius:0 0 8px 8px;
  border-top:3px solid var(--accent);padding:10px 0;z-index:200;
  opacity:0;transform:translateY(6px);transition:opacity .2s ease, transform .2s ease;
}
nav.has-mega-menu ul#navMenu li:hover > ul{display:block;opacity:1;transform:translateY(0);}
nav.has-mega-menu ul#navMenu li ul li{display:block;padding:0;}
nav.has-mega-menu ul#navMenu li ul li a{display:block;padding:10px 20px;color:var(--dark);font-weight:400;font-size:.92rem;border-left:3px solid transparent;}
nav.has-mega-menu ul#navMenu li ul li a:hover{background:var(--light);color:var(--primary);border-left-color:var(--accent);}
nav.has-mega-menu ul#navMenu li ul li.menu-item-has-children > a::after{
  content:"+";border:1px solid var(--muted);color:var(--muted);margin-left:auto;
}
nav.has-mega-menu ul#navMenu li ul li.menu-item-has-children:hover > a::after{
  background:var(--accent);border-color:var(--accent);color:var(--dark);transform:rotate(135deg);
}
nav.has-mega-menu ul#navMenu li ul li.menu-item-has-children{position:relative;}
nav.has-mega-menu ul#navMenu li ul li ul{top:0;left:100%;border-top:none;border-left:3px solid var(--accent);border-radius:8px;}

/* Footer */
footer.site-footer{background:var(--dark);color:#ccc;padding:0;font-size:.9rem;}
footer.site-footer .footer-inner{margin:0 auto;padding:50px 20px 0;}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding-bottom:30px;}
.footer-col h4{color:#fff;margin-bottom:14px;font-size:1rem;}
.footer-col p{margin-bottom:8px;font-size:.88rem;color:#bbb;}
.footer-menu{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-menu a{color:#bbb;font-size:.88rem;}
.footer-menu a:hover{color:var(--accent);}
.footer-social{display:flex;gap:8px;margin-top:10px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);text-align:center;padding:18px 0;font-size:.85rem;color:#999;}

@media(max-width:768px){
  nav.has-mega-menu ul#navMenu li ul{position:static;box-shadow:none;background:rgba(255,255,255,.05);border-top:none;border-left:3px solid var(--accent);border-radius:0;opacity:1;transform:none;}
  nav.has-mega-menu ul#navMenu li ul li a{color:#eee;}
  nav.has-mega-menu ul#navMenu li ul li a:hover{background:rgba(255,255,255,.08);color:var(--accent);}
  nav.has-mega-menu ul#navMenu li.menu-item-has-children > a{justify-content:space-between;}
  nav.has-mega-menu ul#navMenu li.menu-item-has-children > a::after{border-color:rgba(255,255,255,.5);margin-left:auto;font-weight:700;width:22px;height:22px;font-size:1.1rem;}
  nav.has-mega-menu ul#navMenu li ul li ul{position:static;left:0;border-left:3px solid var(--accent);}
}

/* Blog */
.placeholder-img{width:100%;height:100%;min-height:180px;background:linear-gradient(135deg,var(--light),#ddd);}
.featured-post{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;background:var(--light);border-radius:10px;overflow:hidden;margin-bottom:30px;align-items:stretch;}
.featured-post-img{display:block;overflow:hidden;}
.featured-post-img img,.featured-post-img .placeholder-img{width:100%;height:100%;object-fit:cover;min-height:260px;}
.featured-post-body{padding:28px;display:flex;flex-direction:column;justify-content:center;}
.featured-post-body h2{color:var(--primary);margin:10px 0;}
.featured-post-body h2 a{color:var(--primary);}
.badge{display:inline-block;background:var(--accent);color:var(--dark);font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:4px;text-transform:uppercase;letter-spacing:1px;width:fit-content;}
.post-meta{color:var(--muted);font-size:.85rem;margin:6px 0 10px;}

.blog-grid{display:grid;grid-template-columns:repeat(var(--blog-cols, 3), 1fr);gap:24px;}
.blog-list{display:flex;flex-direction:column;gap:20px;}
.blog-list .blog-card{display:grid;grid-template-columns:240px 1fr;gap:0;}
.blog-list .blog-card-img{min-height:160px;}
.blog-card{background:#fff;border:1px solid #eee;border-radius:8px;overflow:hidden;}
.blog-card-img{display:block;overflow:hidden;height:180px;}
.blog-card-img img,.blog-card-img .placeholder-img{width:100%;height:100%;object-fit:cover;}
.blog-card-body{padding:18px;}
.blog-card-body h3{color:var(--primary);font-size:1.05rem;margin-bottom:6px;}
.blog-card-body h3 a{color:var(--primary);}
.read-more{color:var(--accent);font-weight:600;font-size:.9rem;}

.author-box{display:flex;gap:16px;align-items:center;background:var(--light);border-radius:8px;padding:18px;margin-top:30px;}
.author-avatar img{border-radius:50%;}
.author-info h4{color:var(--primary);margin-bottom:4px;}
.author-info p{color:var(--muted);font-size:.9rem;}

@media(max-width:768px){
  .featured-post{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
  .blog-list .blog-card{grid-template-columns:1fr;}
}



/* AI Chatbot widget */
#unisol-chat-bubble{
  position:fixed;bottom:24px;right:24px;width:58px;height:58px;border-radius:50%;
  background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:1000;border:none;
}
#unisol-chat-window{
  position:fixed;bottom:96px;right:24px;width:320px;max-height:440px;background:#fff;
  border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);display:none;flex-direction:column;
  overflow:hidden;z-index:1000;
}
#unisol-chat-window.open{display:flex;}
#unisol-chat-header{background:var(--primary);color:#fff;padding:12px 16px;font-weight:600;display:flex;justify-content:space-between;align-items:center;}
#unisol-chat-header span.close{cursor:pointer;font-size:1.2rem;}
#unisol-chat-body{flex:1;padding:12px;overflow-y:auto;font-size:.88rem;background:var(--light);}
#unisol-chat-body .msg{margin-bottom:10px;max-width:85%;padding:8px 12px;border-radius:8px;line-height:1.4;}
#unisol-chat-body .bot{background:#fff;border:1px solid #eee;}
#unisol-chat-body .user{background:var(--accent);color:var(--dark);margin-left:auto;}
#unisol-chat-input{display:flex;border-top:1px solid #eee;}
#unisol-chat-input input{flex:1;border:none;padding:10px;font-size:.88rem;outline:none;}
#unisol-chat-input button{background:var(--primary);color:#fff;border:none;padding:0 16px;cursor:pointer;}


/* Future-Ready Features: "Precision Meets Intelligence" */
.blueprint-section{
  background-color:#0e2233;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.blueprint-section::before{
  content:"";position:absolute;top:-25%;left:0;right:0;height:150%;
  background-image:
    linear-gradient(rgba(43,95,138,.35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,95,138,.35) 1px, transparent 1px);
  background-size:40px 40px;
  will-change:transform;
  transform:translateY(calc(var(--parallax-offset, 0px) * -1));
}
.blueprint-section .section-title h2{color:#fff;letter-spacing:1px;}
.blueprint-section .section-title p{color:#a9c2d4;}
.blueprint-section .section-title .tag{
  display:inline-block;font-family:'Courier New',monospace;font-size:.75rem;
  letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:10px;
}
.future-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;z-index:1;}
.future-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.15);
  border-radius:6px;
  padding:24px;
  position:relative;
}
.future-card::before{
  content:attr(data-index);
  position:absolute;top:-12px;left:18px;background:var(--accent);color:var(--dark);
  font-family:'Courier New',monospace;font-size:.75rem;font-weight:700;
  padding:2px 8px;border-radius:3px;
}
.future-card .icon{font-size:1.8rem;margin-bottom:12px;display:block;}
.future-card h3{font-size:1.05rem;margin-bottom:8px;color:#fff;}
.future-card p{font-size:.9rem;color:#c2d2dd;}

