/*
Theme Name: Hello Elementor Child - Vinhomes Style
Template: hello-elementor
Version: 1.0.0
*/

:root{
  --vh-navy:#16295c;
  --vh-navy-dark:#0e1c40;
  --vh-gold:#c9a15f;
  --vh-gold-dark:#b3893f;
  --vh-cream:#f4efe6;
  --vh-tan:#e9dcc4;
  --vh-white:#ffffff;
  --vh-text:#2b2b2b;
}

body.vh-home{
  background:var(--vh-cream);
}

/* ===== Hero ===== */
.vh-hero{
  position:relative;
  width:100%;
  min-height:560px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.vh-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(14,28,64,.15) 0%, rgba(14,28,64,.55) 100%);
}
.vh-hero-inner{
  position:relative;
  z-index:2;
  color:#fff;
  padding:0 20px;
}
.vh-hero-inner h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(28px,5vw,54px);
  letter-spacing:2px;
  font-weight:700;
  margin:0;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.vh-hero-inner p{
  margin-top:14px;
  font-size:16px;
  letter-spacing:1px;
  opacity:.9;
}

/* ===== Intro band ===== */
.vh-intro{
  background:var(--vh-cream);
  padding:56px 20px;
  text-align:center;
}
.vh-intro h2{
  color:var(--vh-navy);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(18px,2.4vw,26px);
  font-weight:700;
  max-width:800px;
  margin:0 auto 36px;
  line-height:1.5;
}
.vh-intro-icons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:14px;
  max-width:1100px;
  margin:0 auto;
}
.vh-intro-icons .vh-icon-card{
  border:1px solid var(--vh-gold);
  border-radius:6px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:170px;
  background:#fff;
}
.vh-icon-card .vh-ic-emoji{ font-size:22px; }
.vh-icon-card span.label{
  font-size:12px;
  font-weight:700;
  color:var(--vh-navy);
  text-transform:uppercase;
  letter-spacing:.4px;
  text-align:left;
  line-height:1.3;
}

/* ===== Section shared ===== */
.vh-section{
  position:relative;
  padding:70px 20px;
  overflow:hidden;
}
.vh-section.vh-tan{ background:var(--vh-tan); }
.vh-section.vh-cream{ background:var(--vh-cream); }
.vh-watermark{
  position:absolute;
  top:10px;
  left:0;
  right:0;
  text-align:center;
  font-size:clamp(50px,12vw,150px);
  font-weight:800;
  color:rgba(22,41,92,.06);
  letter-spacing:10px;
  white-space:nowrap;
  pointer-events:none;
  z-index:0;
  text-transform:uppercase;
}
.vh-section-inner{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:0 auto;
}
.vh-section h2.vh-title{
  color:var(--vh-navy);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(24px,3vw,34px);
  font-weight:800;
  margin:0 0 14px;
}
.vh-section p.vh-desc{
  color:#555;
  max-width:720px;
  line-height:1.7;
  margin:0 0 26px;
}
.vh-btn-outline{
  display:inline-block;
  border:1.5px solid var(--vh-navy);
  color:var(--vh-navy);
  background:transparent;
  padding:10px 22px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:2px;
  transition:.2s;
}
.vh-btn-outline:hover{ background:var(--vh-navy); color:#fff; }
.vh-btn-gold{
  display:inline-block;
  background:var(--vh-gold);
  color:#fff;
  padding:12px 30px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.5px;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:3px;
  transition:.2s;
}
.vh-btn-gold:hover{ background:var(--vh-gold-dark); color:#fff; }

/* ===== Featured listing showcase ===== */
.vh-showcase{
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:0;
  background:#111;
  border-radius:4px;
  overflow:hidden;
  min-height:420px;
}
.vh-showcase-main{
  position:relative;
  min-height:420px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:flex-end;
}
.vh-showcase-main::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 55%);
}
.vh-showcase-caption{
  position:relative;z-index:1;
  color:#fff;
  padding:34px;
  max-width:420px;
}
.vh-showcase-caption .kicker{
  font-size:12px;letter-spacing:1px;text-transform:uppercase;opacity:.85;margin-bottom:8px;
}
.vh-showcase-caption h3{
  font-family:Georgia,serif;
  font-size:clamp(20px,2.4vw,30px);
  color:var(--vh-gold);
  margin:0 0 12px;
  text-transform:uppercase;
}
.vh-showcase-caption p{ font-size:14px; line-height:1.6; opacity:.92; margin:0 0 16px;}
.vh-showcase-caption a{ color:#fff; font-weight:700; font-size:13px; text-decoration:underline; }
.vh-showcase-side{
  background:var(--vh-tan);
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.vh-showcase-side h4{ color:var(--vh-navy); font-family:Georgia,serif; font-size:20px; margin:0 0 10px; text-transform:uppercase;}
.vh-showcase-side p{ color:#444; font-size:13px; line-height:1.7; }

/* ===== Community grid ===== */
.vh-grid3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.vh-card{
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(22,41,92,.08);
}
.vh-card .thumb{
  height:220px;
  background-size:cover;
  background-position:center;
}
.vh-card .body{ padding:18px 20px; }
.vh-card .kicker{
  font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--vh-gold-dark);text-transform:uppercase;margin-bottom:6px;
}
.vh-card h4{ margin:0; color:var(--vh-navy); font-size:16px; font-weight:700; }
.vh-card .meta{ margin-top:8px; font-size:12.5px; color:#777; }

.vh-center{ text-align:center; margin-top:34px; }

/* ===== CTA navy band ===== */
.vh-cta{
  background:var(--vh-navy);
  color:#fff;
  padding:64px 20px;
}
.vh-cta-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;
}
.vh-cta .kicker{ color:var(--vh-gold); font-weight:700; letter-spacing:1px; font-size:13px; margin-bottom:10px; text-transform:uppercase;}
.vh-cta h2{ font-family:Georgia,serif; font-size:clamp(22px,3vw,32px); margin:0 0 14px;}
.vh-cta p{ opacity:.85; line-height:1.7; max-width:480px;}
.vh-cta .phones{ margin-top:20px; display:flex; gap:16px; flex-wrap:wrap;}
.vh-cta .phones a{
  background:var(--vh-gold);
  color:#16295c;
  font-weight:800;
  padding:12px 22px;
  border-radius:3px;
  text-decoration:none;
}
.vh-cta-img{
  width:100%;border-radius:6px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}

@media (max-width: 860px){
  .vh-showcase{ grid-template-columns:1fr; }
  .vh-grid3{ grid-template-columns:1fr; }
  .vh-cta-inner{ grid-template-columns:1fr; }
}

