/*
Theme Name: Manava Homes
Theme URI: https://manavahomes.com
Author: Amal Suresh
Author URI: 
Description: A premium, Elementor-compatible real estate theme for Manava Homes with a fully customizable header (logo, menu, button) and footer (tagline, contact info, social icons, footer menus). Built with editable options under Appearance → Customize.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: manava-homes
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800&family=Poppins:wght@400;500;600;700&display=swap');

:root{
  --mh-navy:#0F2438;
  --mh-navy-2:#16334F;
  --mh-gold:#C6A15B;
  --mh-gold-light:#E4CE9E;
  --mh-terracotta:#c1794a;
  --mh-ivory:#FAF8F4;
  --mh-gray:#6B7480;
  --mh-line:#E7E4DD;
}

*{box-sizing:border-box;}

body{
  font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--mh-ivory);
  margin:0;
  color:#2b2b2b;
}

a{color:inherit;}
img{max-width:100%;height:auto;display:block;}

/* ---------------------------------------------
   HEADER
--------------------------------------------- */
.site-header{
  background:var(--mh-navy);
  position:sticky;
  top:0;
  z-index:1000;
  box-shadow:0 2px 10px rgba(0,0,0,0.15);
}

.nav-wrap{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 24px;
  height:76px;
}

.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:24px;
  font-weight:700;
  color:#fff;
  letter-spacing:0.5px;
  text-decoration:none;
  white-space:nowrap;
}
.logo img,
.logo .custom-logo{
  height:var(--mh-logo-header-height, 48px) !important;
  width:auto !important;
  max-height:none !important;
  max-width:none !important;
}
.logo{
  display:flex;
  align-items:center;
}
.logo .custom-logo-link{
  display:flex;
  align-items:center;
}
.logo .mark{
  width:36px;
  height:36px;
  border:2px solid var(--mh-gold);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--mh-gold);
  font-size:16px;
  font-weight:800;
  transform:rotate(45deg);
  flex-shrink:0;
}
.logo .mark .mark-letter{transform:rotate(-45deg);}
.logo .logo-sub{
  display:block;
  font-family:'Segoe UI',sans-serif;
  font-size:10px;
  font-weight:400;
  letter-spacing:2px;
  color:var(--mh-gold-light);
  text-transform:uppercase;
}

.primary-nav{
  display:flex;
  align-items:center;
  gap:2px;
  list-style:none;
  margin:0;
  padding:0;
}
.primary-nav .menu-item{position:relative;}
.primary-nav .menu-item .nav-link{
  display:block;
  padding:12px 16px;
  color:#DCE3EA;
  text-decoration:none;
  font-size:14.5px;
  font-weight:500;
  border-radius:4px;
  transition:color .2s ease, background .2s ease;
}
.primary-nav .menu-item .nav-link:hover,
.primary-nav .menu-item .nav-link:focus-visible{
  color:var(--mh-gold-light);
  background:rgba(255,255,255,0.06);
  outline:none;
}
.primary-nav .menu-item.active > .nav-link{
  color:var(--mh-gold);
}

.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}

.login-link{
  color:#DCE3EA;
  text-decoration:none;
  font-size:14.5px;
  font-weight:500;
  padding:10px 6px;
  white-space:nowrap;
  transition:color .2s ease;
}
.login-link:hover{color:var(--mh-gold-light);}

.btn-post{
  background:var(--mh-gold);
  color:var(--mh-navy);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  padding:11px 20px;
  border-radius:4px;
  white-space:nowrap;
  letter-spacing:0.2px;
  transition:background .2s ease, transform .15s ease;
  box-shadow:0 2px 6px rgba(198,161,91,0.35);
}
.btn-post:hover{
  background:var(--mh-gold-light);
  transform:translateY(-1px);
}

.hamburger{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  z-index:1100;
}
.hamburger .hamburger-bar{
  width:26px;
  height:2px;
  background:#fff;
  transition:all .3s ease;
}
.hamburger.open .hamburger-bar:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open .hamburger-bar:nth-child(2){opacity:0;}
.hamburger.open .hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width: 960px){
  .primary-nav{
    position:fixed;
    top:76px;
    left:0;right:0;bottom:0;
    background:var(--mh-navy-2);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 0 20px;
    transform:translateX(100%);
    transition:transform .3s ease;
    overflow-y:auto;
    border-top:1px solid rgba(255,255,255,0.08);
  }
  .primary-nav.open{transform:translateX(0);}
  .primary-nav .menu-item .nav-link{
    padding:16px 24px;
    font-size:16px;
    border-bottom:1px solid rgba(255,255,255,0.06);
    border-radius:0;
  }
  .desktop-actions{display:none;}
  .hamburger{display:flex;}
}

.mobile-actions-holder{
  position:fixed;
  top:76px;
  left:0;right:0;
  z-index:999;
  transform:translateX(100%);
  transition:transform .3s ease;
  pointer-events:none;
  display:none;
}
.mobile-actions-holder.open{
  transform:translateX(0);
  pointer-events:auto;
}
.mobile-actions{
  background:var(--mh-navy-2);
  padding:16px 24px 24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  border-top:1px solid rgba(255,255,255,0.06);
}
.mobile-actions .login-link{
  text-align:center;
  border:1px solid rgba(255,255,255,0.25);
  border-radius:4px;
  padding:12px;
}
.mobile-actions .btn-post{text-align:center;}

@media (max-width: 960px){
  .mobile-actions-holder{display:block;}
}

@media (max-width: 480px){
  .logo{font-size:19px;}
  .logo .mark{width:30px;height:30px;font-size:13px;}
  .nav-wrap{height:66px;padding:0 16px;}
  .mobile-actions-holder{top:66px;}
  .primary-nav{top:66px;}
}

/* ---------------------------------------------
   MAIN CONTENT (basic defaults so pages/posts render cleanly)
--------------------------------------------- */
.mh-content-wrap{
  width:100%;
  max-width:100%;
  margin:0;
  padding:48px 24px;
  min-height:40vh;
}
.mh-content-wrap .entry-title{
  font-family:'Playfair Display', Georgia, serif;
  color:var(--mh-navy);
  margin-bottom:16px;
}
.mh-content-wrap .entry-content{
  line-height:1.7;
  color:#3a3a3a;
}

/* ---------------------------------------------
   FOOTER
--------------------------------------------- */
.mh-ftr{
  position:relative;
  background:var(--mh-navy);
  font-family:'Poppins','Segoe UI',Helvetica,Arial,sans-serif;
}
.mh-ftr *{box-sizing:border-box;}

.mh-ftr-inner{
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
}

.mh-ftr-top{
  padding:72px 0 48px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}

.mh-ftr-grid{
  display:grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr 1fr;
  gap:40px;
}

.mh-ftr-logo{
  height:var(--mh-logo-footer-height, 58px) !important;
  width:auto !important;
  max-height:none !important;
  display:block;
  margin-bottom:18px;
}
.mh-ftr-brand-name{
  font-family:'Playfair Display', Georgia, serif;
  font-size:22px;
  font-weight:700;
  color:#fff;
  margin:0 0 18px;
  display:block;
}

.mh-ftr-tagline{
  font-size:14px;
  line-height:1.65;
  color:rgba(255,255,255,0.62);
  margin:0 0 24px;
  max-width:320px;
}

.mh-ftr-contact{
  display:flex;
  flex-direction:column;
  gap:11px;
  margin-bottom:24px;
}
.mh-ftr-contact-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  color:rgba(255,255,255,0.75);
}
.mh-ftr-contact-row svg{
  width:17px;
  height:17px;
  color:var(--mh-gold);
  flex-shrink:0;
}

.mh-ftr-social{
  display:flex;
  gap:10px;
}
.mh-ftr-social-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,0.07);
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s ease, color .2s ease, transform .15s ease;
}
.mh-ftr-social-icon svg{width:17px;height:17px;}
.mh-ftr-social-icon:hover{
  background:var(--mh-gold);
  color:var(--mh-navy);
  transform:translateY(-2px);
}

.mh-ftr-col h4{
  font-family:'Playfair Display', Georgia, serif;
  font-size:16px;
  font-weight:700;
  color:#ffffff;
  margin:0 0 20px;
}
.mh-ftr-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:13px;
}
.mh-ftr-col a{
  font-size:13.5px;
  color:rgba(255,255,255,0.62);
  text-decoration:none;
  transition:color .2s ease, padding-left .2s ease;
}
.mh-ftr-col a:hover{
  color:var(--mh-gold);
  padding-left:3px;
}

.mh-ftr-bottom{padding:22px 0;}
.mh-ftr-bottom-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.mh-ftr-bottom-row p{
  margin:0;
  font-size:12.5px;
  color:rgba(255,255,255,0.45);
}
.mh-ftr-legal{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  list-style:none;
  margin:0;
  padding:0;
}
.mh-ftr-legal li{display:flex;align-items:center;gap:10px;}
.mh-ftr-legal li:not(:last-child)::after{content:"\2022";color:rgba(255,255,255,0.25);margin-left:10px;}
.mh-ftr-legal a{
  color:rgba(255,255,255,0.5);
  text-decoration:none;
  transition:color .2s ease;
}
.mh-ftr-legal a:hover{color:var(--mh-gold);}

@media (max-width: 980px){
  .mh-ftr-grid{
    grid-template-columns: 1fr 1fr 1fr;
    row-gap:36px;
  }
  .mh-ftr-brand{grid-column: 1 / 4;}
}

@media (max-width: 620px){
  .mh-ftr-top{padding:52px 0 32px;}
  .mh-ftr-grid{
    grid-template-columns: 1fr 1fr;
    row-gap:32px;
  }
  .mh-ftr-brand{grid-column: 1 / 3;}
  .mh-ftr-bottom-row{
    flex-direction:column;
    align-items:flex-start;
  }
}
