/* VL-003 M1 — City landing pages (Direction B). Scoped under .vl-city. */
.vl-city{--vl-green:#2f7d4f;--vl-dark:#1f4d33;--vl-gold:#ffd23f;color:#33413a;}
.vl-city h1,.vl-city h2{font-family:Raleway,Helvetica,sans-serif;}
.vl-city .vl-sec{max-width:1080px;margin:0 auto;padding:40px 20px;border-bottom:1px solid #eef1f3;}
.vl-city h2{color:var(--vl-dark);font-size:26px;margin:0 0 14px;}
.vl-city p{line-height:1.6;font-size:16px;}

/* Hero */
.vl-hero{background:linear-gradient(135deg,#2f7d4f 0%,#1f4d33 100%);color:#fff;}
.vl-hero-inner{max-width:1080px;margin:0 auto;padding:54px 20px;}
.vl-hero h1{color:#fff;font-size:40px;line-height:1.15;margin:0 0 10px;}
.vl-hero p{font-size:18px;max-width:640px;opacity:.96;}
.vl-hero-cta{margin:18px 0 0;}
.vl-btn{display:inline-block;background:var(--vl-gold);color:var(--vl-dark);font-weight:700;padding:12px 20px;border-radius:6px;text-decoration:none;margin:6px 8px 0 0;}
.vl-btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.7);color:#fff;}
.vl-why .vl-btn-ghost,.vl-reviews .vl-btn-ghost{border-color:var(--vl-green);color:var(--vl-green);}
.vl-badges{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:18px 0 0;}
.vl-badges li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:4px 13px;font-size:13px;}

/* Map + chips */
.vl-map{border-radius:10px;overflow:hidden;line-height:0;}
.vl-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0 0;}
.vl-chips li{background:#eef5f0;color:#2f6b48;border-radius:14px;padding:4px 12px;font-size:13px;}
.vl-nearby a{color:var(--vl-green);font-weight:600;text-decoration:none;}

/* Card grids */
.vl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.vl-card{border:1px solid #e3e9ec;border-radius:10px;padding:16px;display:block;text-decoration:none;color:inherit;background:#fff;}
.vl-card strong{display:block;color:var(--vl-green);margin-bottom:5px;font-size:16px;}
.vl-card span{font-size:14px;color:#5a6b61;}
.vl-svc:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}

/* Gallery (theme [gallery] output) */
.vl-gallery .gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;}
.vl-gallery .gallery-item{margin:0!important;width:auto!important;}
.vl-gallery img{border-radius:8px;width:100%;height:auto;}

/* Reviews */
.vl-rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vl-rev-grid blockquote{background:#faf9f4;border:1px solid #ece9dc;border-radius:10px;padding:16px;margin:0;font-size:15px;color:#33413a;}
.vl-stars{display:block;color:#e6a817;margin-bottom:6px;}

/* FAQ */
.vl-faq dt{font-weight:700;color:var(--vl-dark);font-size:17px;margin-top:16px;}
.vl-faq dd{margin:5px 0 0;font-size:15px;line-height:1.6;}

/* CTA band */
.vl-cta{background:var(--vl-dark);color:#fff;text-align:center;padding:48px 20px;}
.vl-cta h2{color:#fff;}
.vl-cta p{color:#cfe3d4;}
.vl-cta-tel{color:#fff;text-decoration:underline;font-weight:700;}
.vl-cta-form{max-width:640px;margin:22px auto 0;background:#fff;border-radius:12px;padding:24px;text-align:left;color:#33413a;}
.vl-cta-form label{color:var(--vl-dark);font-weight:600;}
.vl-cta-form input[type=text],.vl-cta-form input[type=email],.vl-cta-form input[type=tel],.vl-cta-form textarea,.vl-cta-form select{width:100%;box-sizing:border-box;}
.vl-cta-form .gform_button{background:var(--vl-gold);color:var(--vl-dark);font-weight:700;border:0;padding:12px 22px;border-radius:6px;cursor:pointer;}

@media(max-width:820px){
  .vl-grid{grid-template-columns:1fr 1fr;}
  .vl-rev-grid{grid-template-columns:1fr;}
  .vl-gallery .gallery{grid-template-columns:repeat(2,1fr);}
  .vl-hero h1{font-size:30px;}
}
@media(max-width:520px){
  .vl-grid{grid-template-columns:1fr;}
}
