
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Ensure the page remains scrollable on mobile browsers.
   Some mobile Safari states can get "stuck" if overflow is ever toggled.
   We only lock scrolling intentionally when the menu overlay is open. */
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#111;background:var(--vlc-paper);overflow-y:auto}
a{color:var(--vlc-green);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{width:min(1180px,92vw);margin:0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 14px;font-weight:800;font-size:14px;border:1px solid rgba(255,255,255,.16);cursor:pointer;transition:.15s transform, .15s filter}
.btn:hover{transform:translateY(-1px);text-decoration:none;filter:saturate(1.08)}
.btn-primary{background:linear-gradient(180deg,var(--vlc-green2),var(--vlc-green));color:#fff;border-color:rgba(0,0,0,.18);box-shadow:0 12px 26px rgba(53,94,59,.20)}
.btn-teal{background:linear-gradient(180deg,var(--vlc-green2),var(--vlc-green));color:#fff;border-color:rgba(0,0,0,.18);box-shadow:0 12px 26px rgba(53,94,59,.18)}
.btn-wood{background:linear-gradient(180deg,#ef5a24,#b53f16);color:#1a0d08;border-color:rgba(0,0,0,.20);box-shadow:0 12px 26px rgba(0,0,0,.20)}
.btn-ghost{background:rgba(0,0,0,.25);color:#fff}
.btn-dark{background:linear-gradient(180deg,#1a2326,#0b0f12);color:#fff;border-color:rgba(255,255,255,.14);box-shadow:0 12px 26px rgba(0,0,0,.22)}
.btn-sm{padding:9px 12px;border-radius:12px;font-size:13px}

.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px}

.site-header{
  position:sticky;top:0;z-index:60;
  background:
    linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.40)),
    url('../img/wood.jpg') center/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;position:relative;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:12px}
.brand{flex-shrink:0}
.header-actions{flex-shrink:0}
.site-header .brand{
  /* Keep the logo truly transparent on the wood header */
  padding:0;
  border-radius:0;
  background: transparent;
  border: none;
  backdrop-filter: none;
}
.brand img{
  height:46px;
  width:auto;
  display:block;
  /* Keep logo crisp (avoid iOS Safari blur from filters) */
  filter:none;
  image-rendering:auto;
  -webkit-transform: translateZ(0);
  opacity:1;
}
@media(max-width:420px){
  .header-inner{padding:22px 0}
  .brand img{height:50px}
}

/* Hard override: no pill/box/blur ever behind the logo */
.primary-nav{display:flex;align-items:center;gap:18px}
.primary-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.primary-nav a{color:#fff;font-weight:800;font-size:13px;letter-spacing:.02em}
.nav-cta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nav-toggle{display:none;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.18);backdrop-filter:blur(6px);color:#fff;padding:10px 14px;border-radius:14px}

.hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.20)),
    url('../img/hero-cow.jpg') center/cover no-repeat;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.hero .container{
  display:grid;grid-template-columns:1.2fr .8fr;gap:26px;
  padding:70px 0 56px;align-items:end;
}
.hero h1{
  margin:0 0 12px;
  font-family:Georgia,'Times New Roman',serif;
  color:#fff;
  font-size:58px;line-height:1.02;
  text-shadow:0 18px 60px rgba(0,0,0,.36);
}
.hero p{margin:0 0 20px;color:rgba(255,255,255,.88);font-size:18px;max-width:60ch}
.kicker{display:inline-flex;gap:10px;align-items:center;margin-bottom:10px;color:#e6f4f1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.kicker:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--vlc-green2);box-shadow:0 0 0 3px rgba(79,121,66,.25)}

.searchbar{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.90));
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  box-shadow:var(--vlc-shadow);
  overflow:hidden;
}
.searchbar form{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr auto;gap:0}
.searchbar .seg{padding:10px 12px;border-right:1px solid rgba(0,0,0,.10)}
.searchbar .seg:last-child{border-right:none}
.searchbar label{display:block;font-size:11px;color:#223;font-weight:900;margin:0 0 5px;letter-spacing:.06em;text-transform:uppercase}
.searchbar input,.searchbar select{width:100%;padding:11px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:#fff;font-size:14px}
.searchbar .submit{display:flex;align-items:stretch}
.searchbar .submit button{border-radius:0;border:0;width:100%;padding:0 18px}
.searchbar small{display:block;padding:10px 12px;color:#566;border-top:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.02)}
.searchbar .submit .btn{min-height:56px;font-size:15px;font-weight:900}


.section{
  padding:54px 0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.00),rgba(255,255,255,.60)),
    url('../img/paper.jpg') center/cover no-repeat;
}
.section.alt{background:linear-gradient(180deg,#f7f4ee,#fff)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.section h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:30px;letter-spacing:.01em}
.lead{margin:6px 0 0;color:#445;max-width:70ch}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{
  background:#fff;border:1px solid rgba(15,25,30,.12);
  border-radius:16px;overflow:hidden;
  box-shadow:0 12px 26px rgba(0,0,0,.08);
}
.thumb{aspect-ratio:16/9;background:#e8eceb;position:relative}
.thumb img{width:100%;height:100%;object-fit:cover}

/* SOLD / SALE PENDING stamp */
.vlc-status-stamp{
  position:absolute;
  top:12px;
  left:12px;
  transform:rotate(-12deg);
  padding:8px 14px;
  border-radius:12px;
  font-weight:950;
  letter-spacing:.08em;
  font-size:13px;
  text-transform:uppercase;
  border:2px solid rgba(255,255,255,.90);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
  backdrop-filter: blur(2px);
}
.vlc-status-stamp.sold{ background:rgba(170, 28, 28, .92); color:#fff; }
.vlc-status-stamp.pending{ background:rgba(201, 79, 29, .92); color:#fff; }

/* Status pill used on single listing header */
.vlc-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  margin:0 0 10px;
  border:1px solid rgba(15,25,30,.12);
  background:rgba(15,25,30,.06);
  color:#233;
}
.vlc-status-pill.sold{ background:rgba(170, 28, 28, .12); border-color:rgba(170, 28, 28, .22); color:rgba(120, 14, 14, 1); }
.vlc-status-pill.pending{ background:rgba(201, 79, 29, .14); border-color:rgba(201, 79, 29, .26); color:rgba(141, 43, 10, 1); }
.body{padding:14px}
.title{font-weight:950;font-size:16px;margin:0 0 6px}
.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#566;margin-bottom:10px}
.price{font-weight:950;color:var(--vlc-green);font-size:16px}
/* Listing card actions: clean + consistent on mobile */
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.actions .btn{width:100%;padding:10px 12px}
.actions .act-details{grid-column:1 / -1}

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature{background:linear-gradient(180deg,#fff,#fbfaf6);border:1px solid rgba(0,0,0,.10);border-radius:16px;padding:16px}
.feature h3{margin:0 0 6px;font-size:16px}
.feature p{margin:0;color:#445;font-size:14px}
.feature .icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(53,94,59,.12);color:var(--vlc-green);font-weight:950;border:1px solid rgba(53,94,59,.18)}

.wood-band{
  background:
    linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.35)),
    url('../img/wood.jpg') center/cover no-repeat;
  color:#fff;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10)
}
.wood-band .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:14px}
.panel label{color:rgba(255,255,255,.88)}
.panel input,.panel select{background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.16);color:#fff}
/* The mortgage calculator lives inside a dark wood band; ensure labels never go dark on mobile */
.wood-band .vlc-form label{color:rgba(255,255,255,.88)!important;}
.wood-band .vlc-form input::placeholder{color:rgba(255,255,255,.60);}
.wood-band .vlc-form select{color:#fff;}
.notice{padding:12px 14px;border-radius:14px;border:1px solid rgba(53,94,59,.22);background:rgba(53,94,59,.10)}

.site-footer{
  background:
    linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.70)),
    url('../img/wood.jpg') center/cover no-repeat;
  color:#cfd7da;padding:38px 0
}
.site-footer a{color:#cfd7da}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.footer-bottom{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px}

@media (max-width:980px){
  /* Mobile header: logo LEFT + actions on the right (no overlap). */
  .header-inner{justify-content:space-between}
  .site-header .brand{position:static;left:auto;transform:none}
  .nav-toggle{position:static;right:auto;top:auto;transform:none}

  .hero .container{grid-template-columns:1fr;padding:46px 0 34px}
  .hero h1{font-size:44px}
  .searchbar form{grid-template-columns:1fr 1fr}
  .searchbar .seg{border-right:none;border-bottom:1px solid rgba(0,0,0,.10)}
  .searchbar .submit button{border-radius:0 0 14px 14px;padding:14px 18px}
  .cards{grid-template-columns:1fr 1fr}
  .feature-grid{grid-template-columns:1fr 1fr}
  .wood-band .grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .nav-toggle{display:inline-flex}
  .primary-nav{display:none;flex-direction:column;align-items:stretch;gap:10px;padding:12px 0}
  .primary-nav.open{display:flex}
  .primary-nav ul{flex-direction:column}
}
@media (max-width:560px){
  .cards{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .hero h1{font-size:36px}
}


/* Page hero for internal pages */
.page-hero{
  background: linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.18)), url('../img/hero-cow.jpg') center/cover no-repeat;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.page-hero .container{padding:34px 0 20px}
.page-hero h1{
  margin:0 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  color:#fff;
  font-size:38px;
  text-shadow:0 18px 60px rgba(0,0,0,.36);
}
.page-hero p{margin:0;color:rgba(255,255,255,.88);max-width:70ch}
.page-wrap{padding:26px 0 54px;background:linear-gradient(180deg,#f7f4ee,#fff)}
.page-card{background:#fff;border:1px solid rgba(15,25,30,.12);border-radius:16px;box-shadow:0 12px 26px rgba(0,0,0,.08);overflow:hidden}
.page-card .body{padding:16px}

/* Forms */
.vlc-form label{display:block;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;color:#223}
.vlc-form input,.vlc-form select,.vlc-form textarea{
  width:100%;padding:12px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.14);
  background:#fff;font-size:15px
}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media (max-width:680px){
  .form-grid-2,.form-grid-3{grid-template-columns:1fr}
}

/* Mobile nav panel */
@media (max-width:980px){
  .primary-nav{width:100%}
  .primary-nav.open{
    background:rgba(0,0,0,.24);
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    padding:14px;
    margin-top:10px;
    box-shadow:0 18px 44px rgba(0,0,0,.28);
    backdrop-filter: blur(6px);
  }
  .primary-nav ul{gap:12px}
  .primary-nav a{font-size:16px}
  .nav-cta{margin-top:10px;justify-content:flex-start}
  .nav-cta .btn{flex:1}
  .brand img{height:50px;max-width:210px}
}



/* Nav polish */
.primary-nav ul li{width:100%}
.primary-nav ul a{display:block;padding:10px 8px;border-radius:12px}
.primary-nav ul a:hover{background:rgba(255,255,255,.08);text-decoration:none}


/* Searchbar - match mockup */
.searchbar input,.searchbar select{
  color:#1b2326;
  -webkit-text-fill-color:#1b2326;
}
.searchbar select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:34px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='%231b2326' d='M5.5 7.5 10 12l4.5-4.5 1.4 1.4L10 14.8 4.1 8.9z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:14px 14px;
}
.searchbar input::placeholder{color:rgba(27,35,38,.50)}
.searchbar input:focus,.searchbar select:focus{outline:none;box-shadow:0 0 0 3px rgba(46,110,99,.22);border-color:rgba(46,110,99,.40)}
.searchbar small{display:block;padding:10px 12px;color:rgba(27,35,38,.60)}
@media (max-width:980px){
  .searchbar .submit{grid-column:1/-1}
  .searchbar .submit button{width:100%}
}

.custom-logo, .brand img{background:transparent}

/* Contact layout */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* Form select normalization */
.vlc-form select, .search-card select{
  -webkit-appearance:none; appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, #355E3B 50%), linear-gradient(135deg, #355E3B 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 12px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right:34px;
  color:#123;
}
.vlc-form select:focus, .search-card select:focus{outline:none;box-shadow:0 0 0 4px rgba(44,110,99,.18)}

.brand, .brand-link{background:transparent!important}
.brand img{background:transparent!important}

/* Hero search bar (mockup style) */
.hero-search{margin-top:18px}
.hero-search-bar{
  display:flex; align-items:center; gap:0;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.14);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.hero-search-bar .field{display:flex;align-items:center;gap:10px;padding:12px 14px;flex:1;min-width:0}
.hero-search-bar .field-loc input{
  border:0;background:transparent;outline:none;width:100%;font-size:14px;color:#123
}
.hero-search-bar select{
  border:0;background:transparent;outline:none;width:100%;font-size:14px;color:#123
}
.hero-search-bar .ico{opacity:.65}
.hero-search-bar .sep{width:1px;align-self:stretch;background:rgba(0,0,0,.10)}
.hero-search-btn{
  background:linear-gradient(180deg,#4F7942,#2E4D32);
  color:#fff;border:0;padding:14px 20px;font-weight:900;letter-spacing:.02em;
}
@media (max-width:860px){
  .hero-search-bar{flex-direction:column;align-items:stretch}
  .hero-search-bar .sep{display:none}
  .hero-search-btn{width:100%}
}

/* Search card polish (match mockup) */
.search-card{
  margin-top:18px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.14);
  border-radius:18px;
  box-shadow:0 18px 46px rgba(0,0,0,.22);
  overflow:hidden;
}
.search-card .grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.search-card .field{padding:14px 14px 12px;border-right:1px solid rgba(0,0,0,.08)}
.search-card .field:nth-child(2n){border-right:0}
.search-card label{
  display:block;
  font-weight:900;
  letter-spacing:.08em;
  font-size:12px;
  color:#223;
  opacity:.9;
  text-transform:uppercase;
  margin-bottom:8px;
}
.search-card input, .search-card select{
  width:100%;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  padding:12px 12px;
  background:rgba(255,255,255,.96);
  color:#111;
  font-size:16px;
}
.search-card select{
  -webkit-appearance:none; appearance:none;
  background-image: linear-gradient(45deg, transparent 50%, #355E3B 50%), linear-gradient(135deg, #355E3B 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 12px) 55%;
  background-size: 7px 7px, 7px 7px;
  background-repeat: no-repeat;
  padding-right:38px;
}
.search-card .btn-search{
  display:block;
  width:100%;
  border:0;
  border-radius:0;
  padding:18px 18px;
  font-size:18px;
  font-weight:900;
  letter-spacing:.03em;
}
.search-card .tip{
  margin:0;
  padding:10px 14px 12px;
  font-size:14px;
  color:rgba(20,30,35,.72);
  background:rgba(255,255,255,.70);
}
@media (max-width:860px){
  .search-card .grid{grid-template-columns:1fr}
  .search-card .field{border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}
  .search-card .field:last-child{border-bottom:0}
}

/* Header logo sizing like reference */
.brand img{
  height:44px;
  width:auto;
  display:block;
  background:transparent!important;
}
@media (max-width:980px){
  .brand img{height:46px}
}

@media (min-width: 780px){
  .brand img{height:46px;max-width:320px;}
}

.btn, button.btn, .btn-search, input[type=submit].btn{-webkit-appearance:none;appearance:none;}

/* === VLC Theme overrides (v1.1.8) === */
.brand{min-width:0;}
.brand img{
  height:52px;
  width:auto;
  max-width:min(360px, 64vw);
  display:block;
  image-rendering:auto;
}
@media (max-width:480px){
  .brand img{height:46px;max-width:62vw;}
}
@media (max-width:380px){
  .brand img{height:42px;max-width:58vw;}
}

/* iOS/Safari button normalization */
button, input[type=submit], input[type=button], .btn{
  -webkit-appearance:none;
  appearance:none;
}

/* Ensure primary buttons never fall back to iOS blue */
.btn.btn-primary, .btn-search{
  background: var(--green) !important;
  color:#fff !important;
  border:1px solid rgba(0,0,0,.18) !important;
  border-radius:14px;
}
.btn.btn-primary:hover, .btn-search:hover{filter:brightness(1.03)}

/* Hide any WP login/admin links in frontend UI */
a[href*="wp-login.php"],
a[href*="wp-admin"],
a[href*="/login"],
a[href*="/log-in"],
a[href*="/signin"],
a[href*="/sign-in"]{
  display:none !important;
}



/* Logo overrides (keep crisp; sizing handled in header rules) */
.brand img{filter:none!important;}

/* === Header layout: Logo LEFT + List CTA + Menu (thin header) === */
.site-header .header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:84px; /* thinner */
}

.site-header .brand{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0!important;
  margin:0;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.site-header .brand img{
  height:84px!important; /* 1.5x-ish vs the original tiny */
  width:auto!important;
  max-width:min(420px,44vw)!important;
  image-rendering:auto;
  filter:none!important;
}

.site-header .header-cta{display:inline-flex; white-space:nowrap;}
.site-header .nav-toggle{white-space:nowrap;}

@media (max-width:980px){
  .site-header .header-inner{min-height:80px;}
  .site-header .brand img{height:76px!important;max-width:min(360px,46vw)!important;}
}
@media (max-width:520px){
  .site-header .header-inner{min-height:76px;gap:10px;}
  .site-header .brand img{height:72px!important;max-width:min(300px,50vw)!important;}
  .site-header .header-cta{padding:10px 12px;font-size:13px}
  .site-header .nav-toggle{padding:10px 12px;font-size:13px}
}
/* Desktop header links (primary nav). Mobile uses the overlay + toggle.
   NOTE: do NOT hide primary-nav globally; it is needed on desktop. */

/* Full-screen menu overlay */
.vlc-menu-overlay{position:fixed;inset:0;z-index:9999;display:none;background:rgba(0,0,0,.72);}
body.menu-open{overflow:hidden}
body.menu-open .vlc-menu-overlay{display:block}
.vlc-menu-panel{height:100%;overflow:auto;padding:22px 18px;background:linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.58)),url('../img/wood.jpg') center/cover no-repeat;}
.vlc-menu-top{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.vlc-menu-logo img{height:52px;width:auto;opacity:.95}
.vlc-menu-actions{display:flex;align-items:center;gap:12px}
.vlc-menu-close{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);color:#fff;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.vlc-menu-content{max-width:1100px;margin:0 auto;padding:22px 0 40px;}
.vlc-menu-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.vlc-menu-col{padding:6px 0}
.vlc-menu-col h4{margin:0 0 12px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.vlc-menu-links a{display:block;padding:10px 0;color:rgba(255,255,255,.92);text-decoration:none;font-size:22px;font-weight:700}
.vlc-menu-links a:hover{color:#fff;text-decoration:underline}
.vlc-menu-links a + a{border-top:1px solid rgba(255,255,255,.08)}
.vlc-menu-bottom{max-width:1100px;margin:0 auto;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78);font-weight:600}
.vlc-menu-bottom a{color:#fff;text-decoration:none}
.vlc-menu-bottom a:hover{text-decoration:underline}

@media (min-width:900px){
  .vlc-menu-grid{grid-template-columns:1fr 1fr;gap:44px}
}

/* Hero search: on desktop, the right column is narrower; use a cleaner 2-column layout */
@media (min-width:981px){
  .hero .searchbar form{grid-template-columns:1fr 1fr;}
  .hero .searchbar .seg{border-right:none;border-bottom:1px solid rgba(0,0,0,.10)}
  .hero .searchbar .submit{grid-column:1/-1}
  .hero .searchbar .submit button{border-radius:0 0 14px 14px;padding:14px 18px}
}

/* Overlay menu hero */
.vlc-menu-hero{padding:24px 20px 10px;text-align:center;}
.vlc-menu-hero-logo{max-width:320px;width:84%;height:auto;display:block;margin:0 auto 12px;filter:none;image-rendering:auto;}
.vlc-menu-hero-text{max-width:720px;margin:0 auto 16px;color:rgba(255,255,255,.84);font-size:18px;line-height:1.4;}
@media (max-width:640px){.vlc-menu-hero{padding:18px 16px 6px;} .vlc-menu-hero-logo{max-width:260px;width:90%;}}


@media (max-width:520px){
  .vlc-menu-links a{font-size:20px}
}

/* Our Team page */
.vlc-page-hero{padding:52px 0 10px}
.vlc-page-hero h1{margin:0 0 10px;font-size:44px;letter-spacing:-.02em}
.vlc-lead{max-width:820px;color:rgba(255,255,255,.82);line-height:1.6;font-size:18px}
.vlc-team-section{padding:26px 0 78px}
.vlc-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.vlc-team-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.40)}
.vlc-team-photo{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.vlc-team-body{padding:18px 18px 16px}
.vlc-team-body h2{margin:0 0 4px;font-size:22px}
.vlc-team-role{margin:0 0 10px;color:rgba(255,255,255,.78);font-weight:600}
.vlc-team-meta{margin:0 0 14px;padding:0;list-style:none;color:rgba(255,255,255,.82)}
.vlc-team-meta li{margin:6px 0}
.vlc-team-meta a{color:#fff;text-decoration:none}
.vlc-team-meta a:hover{text-decoration:underline}
.vlc-team-bio{margin:0;color:rgba(255,255,255,.80);line-height:1.65}

@media (max-width:980px){
  .vlc-page-hero h1{font-size:38px}
  .vlc-team-grid{grid-template-columns:1fr;}
}

/* === Our Team page (page-our-team.php) uses .team-* classes (light section) === */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.team-card{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.16)}
.team-photo{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.team-body{padding:18px 18px 16px}
.team-name{margin:0 0 4px;font-size:22px}
.team-role{margin:0 0 10px;color:rgba(0,0,0,.65);font-weight:600}
.team-meta{display:grid;gap:6px;margin:0 0 14px;color:rgba(0,0,0,.70)}
.team-meta a{color:#0E2A47;text-decoration:none}
.team-meta a:hover{text-decoration:underline}
.team-bio{margin:0 0 12px;color:rgba(0,0,0,.78);line-height:1.65}
.team-bio:last-child{margin-bottom:0}

@media (max-width:980px){
  .team-grid{grid-template-columns:1fr}
}


/* v1.4.6 tweaks */
.site-header .brand { padding-left: 10px; }
.site-header .brand-logo { margin-left: 8px; }

.vlc-menu-hero-logo { filter: none !important; }

.card .meta .meta-top{ display:flex; gap:10px; justify-content:space-between; align-items:baseline; }
.card .meta .meta-sub{ font-size:14px; opacity:.85; margin-top:4px; }
.card .meta .loc{ opacity:.8; font-weight:500; }
.notice{ padding:10px 12px; border-radius:12px; margin:10px 0; }
.notice-success{ background: rgba(39, 174, 96, .15); border:1px solid rgba(39,174,96,.35); }

.vlc-form label{ color:#fff; }
.vlc-form input, .vlc-form textarea{ color:#fff; }
.vlc-form input::placeholder{ color: rgba(255,255,255,.65); }



/* Forms: ensure readable text on light and dark sections */
.vlc-form label{display:block;margin:0 0 6px;font-weight:800;color:var(--ink);}
.glass .vlc-form label{color:#fff;}
.vlc-form input,
.vlc-form textarea,
.vlc-form select{
  width:100%;
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(0,0,0,.16);
  border-radius:16px;
  padding:14px 16px;
  font-size:16px;
  line-height:1.25;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.vlc-form textarea{min-height:140px;resize:vertical;}
.vlc-form input::placeholder,
.vlc-form textarea::placeholder{color:rgba(14,42,71,.55);}
.vlc-form input:focus,
.vlc-form textarea:focus,
.vlc-form select:focus{
  border-color:rgba(44,110,99,.85);
  box-shadow:0 0 0 4px rgba(44,110,99,.18);
}

/* Safety net for any standalone inputs used by shortcodes */
.vlc-input{background:#fff;color:var(--ink);}
.vlc-input::placeholder{color:rgba(14,42,71,.55);}

/* Payment calculator layout */
.vlc-calc{max-width:860px;margin:0 auto;}
.vlc-calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:720px){.vlc-calc-grid{grid-template-columns:1fr;}}
.vlc-calc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.vlc-calc .btn{min-width:160px;}
.vlc-calc-result{margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.18);color:#fff;}


/* Calculator + shortcode grid helpers (used on Tools + Listing pages) */
.vlc-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;}
@media (max-width:720px){.vlc-form .row{grid-template-columns:1fr;}}
.vlc-form .field{margin:0;}
.vlc-form .field label{margin-bottom:6px;}
.vlc-form .calc-result{margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.18);color:#fff;}
/* On light pages, use a softer result panel */
.page-template-default .vlc-form .calc-result,
.single-vlc_listing .vlc-form .calc-result{
  background:rgba(14,42,71,.06);
  border:1px solid rgba(14,42,71,.12);
  color:var(--ink);
}

/* --- Form readability fixes (mobile + light cards) --- */
.vlc-form input,
.vlc-form textarea,
.vlc-form select{
  background:#fff !important;
  color:var(--ink) !important;
  border:1px solid rgba(14,42,71,.14) !important;
}
.vlc-form input::placeholder,
.vlc-form textarea::placeholder{
  color:rgba(14,42,71,.45) !important;
}

/* Payment calculator button + grid polish */
.vlc-form .btn{width:100%;}
@media (min-width:721px){
  .vlc-form .btn{width:auto;}
  .vlc-form .row .field--actions{display:flex;justify-content:flex-end;}
}

/* --- Header layout polish --- */
.site-header .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.brand img{height:46px;width:auto;}
@media (max-width:720px){
  .brand img{height:40px;}
  .nav-cta .btn{padding:10px 12px;}
}

/* --- Single listing action buttons layout (mobile clean) --- */
.vlc-listing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
@media (max-width:720px){
  .vlc-listing-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .vlc-listing-actions .btn{width:100%;text-align:center;}
  .vlc-listing-actions .btn-primary{grid-column:1 / -1;}
  .vlc-listing-actions .btn-ghost{grid-column:1 / -1;}

  /* Mobile menu footer CTAs */
  .vlc-menu-ctas{display:flex;gap:10px;}
  .vlc-menu-ctas .btn{flex:1;}
  .vlc-menu-nums{margin-top:10px;display:flex;justify-content:space-between;gap:10px;font-size:13px;opacity:.9}
  .vlc-menu-nums span{white-space:nowrap;}
}


/* List Your Property form polish */
.vlc-card-narrow{max-width:860px;margin:0 auto;}
.vlc-page-title{margin:0 0 8px;}
.vlc-page-lead{margin:0 0 18px;color:rgba(14,42,71,.80);}
.vlc-list-property .btn{width:100%;}
.vlc-form-note{margin:12px 0 0;color:rgba(14,42,71,.70);font-size:14px;}

/* Phase 2 SEO blocks */
.vlc-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.vlc-link-card{display:block;background:#f4f3ef;border:1px solid #ddd7cb;border-radius:14px;padding:14px 16px;text-decoration:none;color:#1e1e1e;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.vlc-link-card strong{display:block;font-size:1rem;line-height:1.2;margin-bottom:4px}
.vlc-link-card span{display:block;color:#5c5b58;font-size:.92rem;line-height:1.35}
.vlc-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.vlc-chip{display:inline-block;background:#eef7f5;color:#355E3B;border:1px solid #cfe8e2;border-radius:999px;padding:6px 11px;font-weight:600;font-size:.92rem}
.vlc-seo-area .lead{font-size:1.05rem;color:#35383d}
@media (max-width:980px){.vlc-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.vlc-link-grid{grid-template-columns:1fr}.vlc-link-card{padding:12px 14px}}


/* Team trust note polish */
.team-exp-note{margin:10px 0 0; color:rgba(14,42,71,.86); font-size:17px; line-height:1.45; max-width:900px; display:flex; gap:10px; align-items:flex-start; flex-wrap:wrap;}
.team-exp-badge{display:inline-flex; align-items:center; gap:6px; white-space:nowrap; background:linear-gradient(180deg,#f66a22,#cf5319); color:#fff; border:1px solid rgba(0,0,0,.08); border-radius:999px; padding:6px 12px; font-weight:800; font-size:12px; letter-spacing:.04em; text-transform:uppercase; box-shadow:0 8px 18px rgba(207,83,25,.18);}
.team-exp-badge:before{content:"★"; font-size:10px; line-height:1; opacity:.95;}
.section.alt .team-exp-note{color:rgba(0,0,0,.78);}
@media (max-width:640px){.team-exp-note{font-size:16px; gap:8px;} .team-exp-badge{font-size:11px; padding:6px 10px;}}


/* Phase20.5 Team cards professional polish */
.team-grid{align-items:stretch}
.team-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.10);transition:transform .18s ease, box-shadow .18s ease,border-color .18s ease;position:relative}
.team-card:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(0,0,0,.14);border-color:rgba(53,94,59,.24)}
.team-card::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--vlc-green2),#ef5a24);opacity:.9}
.team-photo{aspect-ratio:4/3;background:#e9ecef}
.team-body{display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px}
.team-name{font-size:clamp(22px,2.1vw,28px);line-height:1.05;margin:0}
.team-role{margin:0}
.team-role-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#eef6f0;color:var(--vlc-green);border:1px solid rgba(53,94,59,.18)}
.team-meta{grid-template-columns:1fr;gap:8px;margin:2px 0 0}
.team-meta span{display:block;background:#f7f8fa;border:1px solid rgba(15,25,30,.08);border-radius:12px;padding:9px 12px;line-height:1.25}
.team-meta strong{color:#1a2326}
.team-bio{font-size:16px;line-height:1.55;color:#24323a;margin:2px 0 0}
.team-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.team-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:14px;font-weight:800;text-decoration:none;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.team-btn:hover{text-decoration:none;transform:translateY(-1px)}
.team-btn-call{background:linear-gradient(180deg,var(--vlc-green2),var(--vlc-green));color:#fff;border-color:rgba(0,0,0,.14)}
.team-btn-text{background:linear-gradient(180deg,#ef5a24,#c94f1d);color:#fff;border-color:rgba(0,0,0,.14)}
.team-exp-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 0;color:#2f3b41;font-size:15px;line-height:1.4}
.team-exp-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef6f0;border:1px solid rgba(53,94,59,.18);color:var(--vlc-green);font-weight:900;font-size:12px;letter-spacing:.05em;text-transform:uppercase}
@media (max-width:980px){.team-actions{grid-template-columns:1fr 1fr}.team-body{padding:16px 16px 18px}}
@media (max-width:520px){.team-actions{grid-template-columns:1fr}.team-btn{padding:13px 14px}}
