:root{
  --vg-ink:#111326;
  --vg-muted:#61687a;
  --vg-soft:#f6f7fb;
  --vg-line:#e7e8f0;
  --vg-purple:#7746ef;
  --vg-purple-2:#a850f4;
  --vg-blue:#2f7df4;
  --vg-cyan:#11bec7;
  --vg-orange:#ff8a24;
  --vg-coral:#ff696f;
  --vg-green:#2dbf7f;
  --vg-dark:#0d1020;
  --vg-white:#fff;
  --vg-radius:28px;
  --vg-shadow:0 24px 70px rgba(31,27,76,.10);
  --vg-shadow-strong:0 30px 90px rgba(31,27,76,.15);
  --orange:#7746ef !important;
  --orange-dark:#6537d7 !important;
  --black:#111326 !important;
  --text:#111326 !important;
  --muted:#61687a !important;
  --line:#e7e8f0 !important;
  --soft:#f6f7fb !important;
  --beige:#f0f2f7 !important;
  --shadow:0 24px 70px rgba(31,27,76,.10) !important;
  --shadow-lg:0 30px 90px rgba(31,27,76,.15) !important;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{
  margin:0;
  overflow-x:hidden;
  background:#f7f7fa !important;
  color:var(--vg-ink) !important;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body,button,input,select,textarea{font-family:'Inter',system-ui,sans-serif !important}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(calc(100% - clamp(24px,6vw,96px)),1440px) !important;margin-inline:auto}
main{overflow:visible !important}

/* ---------- Shared typography ---------- */
.hero-copy h1,
.section-head h2,
.center-head h2,
.investment-copy h2,
.dark-copy h2,
.page-hero h1,
.detail-hero-copy h1,
.content-card h2,
.video-card h2,
.about-hero h1,
.about-story h2,
.about-contact-copy h2,
.results-top h2,
.admin-page-head h1,
.login-card h1{
  font-family:'Clash Display','Inter',sans-serif !important;
  font-weight:600 !important;
  letter-spacing:-.052em !important;
}

.eyebrow{
  display:inline-flex !important;
  align-items:center;
  gap:.5rem;
  width:max-content;
  margin:0 0 1rem !important;
  padding:.48rem .78rem !important;
  border:1px solid rgba(119,70,239,.14) !important;
  border-radius:999px !important;
  background:#f1ebff !important;
  color:#7040df !important;
  font-size:.70rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase;
}
.eyebrow.dark{color:#7040df !important;background:#f1ebff !important;border-color:rgba(119,70,239,.14) !important}
.section{padding:clamp(4.5rem,8vw,8rem) 0 !important}
.section-light{background:#f7f7fa !important}
.section-head{margin-bottom:2.4rem !important;align-items:end !important}
.section-head h2,.center-head h2,.investment-copy h2,.dark-copy h2{
  margin:0;
  font-size:clamp(2.15rem,4.5vw,3.8rem) !important;
  line-height:1 !important;
}
.section-head p,.center-head p,.investment-copy p,.dark-copy p{
  color:var(--vg-muted) !important;
  font-size:clamp(.96rem,1.3vw,1.08rem);
  line-height:1.7 !important;
}
.section-link,.filter-reset,.property-footer a,.back-link{
  color:var(--vg-purple) !important;
  font-weight:750 !important;
}

/* ---------- Brand ---------- */
.vecqo-brand{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  gap:0 !important;
  white-space:nowrap;
  line-height:1 !important;
  color:var(--vg-ink) !important;
  letter-spacing:-.055em !important;
}
.vecqo-brand-word{
  font-family:'Inter',sans-serif !important;
  font-size:1.48rem !important;
  font-weight:900 !important;
  letter-spacing:-.055em !important;
  text-transform:none !important;
}
.vecqo-brand-word>span{color:var(--vg-purple) !important}
.vecqo-brand-subtitle{
  margin-left:.38rem !important;
  color:#747887 !important;
  font-size:.98rem !important;
  font-weight:450 !important;
  letter-spacing:-.03em !important;
  text-transform:none !important;
}

/* ---------- Navigation: same language as vecqo.com ---------- */
.site-header{
  position:sticky !important;
  top:0 !important;
  z-index:1000 !important;
  padding:14px clamp(12px,3vw,48px) 0 !important;
  border:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  pointer-events:none;
}
.nav{
  width:min(100%,1440px) !important;
  min-height:76px !important;
  height:auto !important;
  margin:auto !important;
  padding:0 16px 0 24px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px !important;
  border:1px solid rgba(65,52,116,.08) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 16px 45px rgba(37,33,80,.08) !important;
  backdrop-filter:blur(20px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(145%) !important;
  pointer-events:auto;
}
.menu{display:flex !important;align-items:center;justify-content:flex-end;gap:12px !important}
.menu-shell{display:flex;align-items:center;justify-content:center;gap:3px;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
.menu-shell a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:.7rem .78rem !important;
  border-radius:11px !important;
  color:#363a4c !important;
  font-size:.82rem !important;
  font-weight:650 !important;
  transition:.2s ease;
}
.menu-shell a:hover{background:#f3efff !important;color:var(--vg-purple) !important}
.admin-menu-access{
  width:42px;height:42px;padding:0 !important;display:grid !important;place-items:center;
  border:1px solid var(--vg-line) !important;border-radius:12px !important;background:#fff !important;color:#5e6271 !important;
}
.admin-menu-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.admin-menu-label{display:none !important}
.nav-toggle{display:none !important;color:var(--vg-ink) !important}

/* ---------- Buttons ---------- */
.btn,.header-cta,.footer-actions .btn{
  min-height:52px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:0 1.25rem !important;
  border:1px solid transparent !important;
  border-radius:14px !important;
  background:linear-gradient(105deg,var(--vg-purple),var(--vg-purple-2)) !important;
  color:#fff !important;
  font-size:.88rem !important;
  font-weight:750 !important;
  box-shadow:0 14px 30px rgba(119,70,239,.24) !important;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease !important;
}
.btn:hover,.header-cta:hover,.footer-actions .btn:hover{
  transform:translateY(-2px) !important;
  background:linear-gradient(105deg,#6c3ee5,#9a45e7) !important;
  box-shadow:0 18px 38px rgba(119,70,239,.30) !important;
}
.btn-sm{min-height:44px !important;padding:0 1rem !important;font-size:.8rem !important}
.btn-outline{
  border-color:rgba(119,70,239,.20) !important;
  background:rgba(255,255,255,.82) !important;
  color:#6938d7 !important;
  box-shadow:0 10px 24px rgba(32,28,78,.06) !important;
}
.btn-outline:hover{background:#fff !important;color:#6031cf !important;border-color:rgba(119,70,239,.28) !important}
.btn-outline-light{border-color:rgba(255,255,255,.22) !important;background:rgba(255,255,255,.06) !important;color:#fff !important;box-shadow:none !important}
.btn-outline-light:hover{background:#fff !important;color:var(--vg-ink) !important}

/* ---------- Home hero ---------- */
.hero{
  position:relative;
  width:min(calc(100% - clamp(24px,6vw,96px)),1440px) !important;
  min-height:760px !important;
  margin:18px auto 0 !important;
  overflow:hidden;
  border:1px solid rgba(65,52,116,.07);
  border-radius:36px !important;
  background:#f7f7fa !important;
  box-shadow:0 26px 80px rgba(42,35,86,.08);
}
.hero-media{background-size:cover !important;background-position:center center !important;transform:scale(1.005)}
.hero-overlay{
  background:
    radial-gradient(circle at 25% 78%,rgba(119,70,239,.10),transparent 27%),
    linear-gradient(90deg,rgba(248,248,252,.995) 0%,rgba(248,248,252,.985) 30%,rgba(248,248,252,.92) 43%,rgba(248,248,252,.55) 58%,rgba(248,248,252,.08) 76%,rgba(248,248,252,0) 100%) !important;
}
.hero:after{
  content:"";
  position:absolute;
  width:410px;height:410px;
  left:-170px;bottom:-230px;
  border-radius:50%;
  background:rgba(17,190,199,.08) !important;
  filter:blur(2px);
}
.hero-grid{min-height:760px !important;padding:90px 0 110px !important;align-items:center !important}
.hero-copy{max-width:730px !important}
.hero-copy h1{
  margin:0 !important;
  max-width:720px;
  color:var(--vg-ink) !important;
  font-size:clamp(3.05rem,5.15vw,4.8rem) !important;
  font-weight:600 !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
}
.hero-line{display:block}
.hero-line-dark{color:var(--vg-ink) !important;font-weight:600 !important}
.hero-line-gradient{
  background:linear-gradient(98deg,var(--vg-purple),var(--vg-blue) 56%,var(--vg-cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent !important;
  font-weight:600 !important;
}
.hero-line-orange{background:linear-gradient(98deg,var(--vg-purple),var(--vg-blue) 56%,var(--vg-cyan));-webkit-background-clip:text;background-clip:text;color:transparent !important;font-weight:600 !important}
.hero-copy p{max-width:650px !important;margin:1.35rem 0 0 !important;color:var(--vg-muted) !important;font-size:clamp(1rem,1.3vw,1.12rem) !important;line-height:1.72 !important}
.hero-actions{display:flex;gap:12px;margin:1.8rem 0 0 !important;flex-wrap:wrap}
.hero-proof{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px !important;max-width:720px !important;margin-top:2rem !important;padding-top:1.2rem !important;border-top:1px solid rgba(65,52,116,.11) !important}
.hero-proof div{display:grid;gap:5px}
.hero-proof strong{color:var(--vg-ink) !important;font-size:.88rem !important;font-weight:750 !important}
.hero-proof span{color:#7b7f8d !important;font-size:.72rem !important;line-height:1.45}

/* ---------- Search bridge ---------- */
.hero-search-section{position:relative;z-index:5;padding:0 0 clamp(3rem,6vw,5rem) !important;background:#f7f7fa !important}
.hero-search-wrap{margin-top:-62px !important}
.search-grid{
  display:grid !important;
  grid-template-columns:1.05fr 1fr 1.1fr auto !important;
  gap:0 !important;
  padding:12px !important;
  border:1px solid rgba(65,52,116,.09) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.95) !important;
  box-shadow:0 28px 70px rgba(31,27,76,.14) !important;
  backdrop-filter:blur(18px);
}
.search-grid label{display:grid;gap:6px;padding:12px 18px !important;border-right:1px solid var(--vg-line) !important}
.search-grid label:last-of-type{border-right:0 !important}
.search-grid span{color:#8b8f9e !important;font-size:.67rem !important;font-weight:800 !important;letter-spacing:.10em !important}
.search-grid input,.search-grid select{width:100%;border:0 !important;background:transparent !important;color:var(--vg-ink) !important;outline:0;font-size:.88rem !important}
.search-grid button{min-width:190px !important;margin:4px !important}
.hero-benefits{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px !important;margin-top:16px !important}
.hero-benefits article{
  padding:18px !important;
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 14px 34px rgba(31,27,76,.05) !important;
}
.hero-benefits strong{display:block;margin-bottom:7px;color:var(--vg-ink) !important;font-size:.88rem !important;font-weight:700 !important}
.hero-benefits span{color:var(--vg-muted) !important;font-size:.78rem !important;line-height:1.55 !important}

/* ---------- Property cards ---------- */
.property-grid{gap:24px !important}
.premium-property-card{
  overflow:hidden;
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(31,27,76,.07) !important;
  transition:transform .25s ease,box-shadow .25s ease;
}
.premium-property-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(31,27,76,.12) !important}
.property-image{height:270px !important}
.property-image img{transition:transform .55s ease !important}
.property-card:hover .property-image img{transform:scale(1.035) !important}
.property-image span{
  left:16px !important;top:16px !important;
  padding:8px 11px !important;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px !important;
  background:rgba(17,19,38,.72) !important;
  color:#fff !important;
  font-size:.7rem !important;font-weight:700 !important;
  backdrop-filter:blur(10px);
}
.property-body{padding:21px !important}
.property-body small{color:#858998 !important;font-size:.72rem !important;font-weight:650 !important}
.property-body h3{margin:8px 0 13px !important;color:var(--vg-ink) !important;font-size:1.42rem !important;line-height:1.1 !important;letter-spacing:-.035em !important;font-weight:650 !important}
.property-body h3 a:hover{color:var(--vg-purple) !important}
.meta{gap:14px !important;color:#686d7d !important;font-size:.78rem !important}
.property-footer{padding-top:15px !important;border-top:1px solid var(--vg-line) !important}
.property-footer strong{font-size:1.52rem !important;color:var(--vg-ink) !important;font-weight:700 !important;letter-spacing:-.035em !important}
.property-footer a{font-size:.76rem !important;color:var(--vg-purple) !important}
.empty{border:1px solid rgba(119,70,239,.12) !important;background:#f4f0ff !important;color:#5e46a3 !important;border-radius:20px !important}

/* ---------- Investment ---------- */
.investment-band{background:#f0f2f7 !important}
.investment-grid{gap:clamp(40px,6vw,76px) !important}
.investment-visual img{height:610px !important;border-radius:34px !important;box-shadow:var(--vg-shadow-strong) !important}
.floating-badge{
  right:22px !important;bottom:22px !important;
  padding:16px 18px !important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px !important;
  background:rgba(13,16,32,.92) !important;
  color:#fff !important;
  box-shadow:0 20px 50px rgba(13,16,32,.25) !important;
  backdrop-filter:blur(14px);
}
.floating-badge span{background:linear-gradient(135deg,var(--vg-purple),var(--vg-blue)) !important;color:#fff !important;border-radius:12px !important}
.floating-badge small{color:rgba(255,255,255,.65) !important}
.check-grid{gap:12px 18px !important}
.check-grid span{position:relative;color:#454a5b !important;font-size:.86rem !important;font-weight:650 !important}

/* ---------- Value cards ---------- */
.center-head{max-width:880px !important;margin:0 auto 2.6rem !important}
.value-grid{gap:20px !important}
.value-card{
  position:relative;
  overflow:hidden;
  padding:30px !important;
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:26px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(31,27,76,.055) !important;
}
.value-card:after{content:"";position:absolute;width:150px;height:150px;right:-85px;bottom:-90px;border-radius:50%;background:rgba(119,70,239,.055)}
.icon-box{
  width:52px !important;height:52px !important;margin-bottom:20px !important;
  border:1px solid rgba(119,70,239,.12);
  border-radius:16px !important;
  background:#f1ebff !important;
  color:var(--vg-purple) !important;
  font-weight:800 !important;
}
.value-card:nth-child(2) .icon-box{background:#edf5ff !important;color:var(--vg-blue) !important;border-color:rgba(47,125,244,.12)}
.value-card:nth-child(3) .icon-box{background:#eafafb !important;color:#078790 !important;border-color:rgba(17,190,199,.16)}
.value-card h3{margin:0 0 10px !important;color:var(--vg-ink) !important;font-size:1.35rem !important;font-weight:650 !important}
.value-card p{color:var(--vg-muted) !important;font-size:.9rem !important;line-height:1.7 !important}

/* ---------- Dark section & footer ---------- */
.dark-cta{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%,rgba(119,70,239,.18),transparent 28%),
    radial-gradient(circle at 88% 86%,rgba(17,190,199,.12),transparent 22%),
    var(--vg-dark) !important;
  color:#fff !important;
}
.dark-copy .eyebrow,.footer .eyebrow{background:rgba(119,70,239,.16) !important;border-color:rgba(168,80,244,.24) !important;color:#d2c2ff !important}
.dark-copy h2{color:#fff !important}
.dark-copy p{color:rgba(255,255,255,.68) !important}
.dark-image-card img{height:440px !important;border-radius:30px !important;box-shadow:0 30px 70px rgba(0,0,0,.28) !important}

.footer-premium{
  padding:70px 0 22px !important;
  background:
    radial-gradient(circle at 10% 0%,rgba(119,70,239,.16),transparent 26%),
    radial-gradient(circle at 92% 12%,rgba(17,190,199,.09),transparent 23%),
    linear-gradient(180deg,#111326 0%,#090b17 100%) !important;
  color:#fff !important;
}
.footer-premium-top{grid-template-columns:1.15fr .55fr 1fr !important;gap:26px !important}
.footer-premium-brand{padding:18px 0 !important}
.footer-premium-brand .footer-logo{width:auto !important;margin:8px 0 18px !important}
.vecqo-brand-footer .vecqo-brand-word{color:#fff !important;font-size:2rem !important}
.vecqo-brand-footer .vecqo-brand-word>span{color:#a98af8 !important}
.vecqo-brand-footer .vecqo-brand-subtitle{color:rgba(255,255,255,.58) !important;font-size:1.15rem !important}
.footer-premium-brand p{max-width:470px;color:rgba(255,255,255,.62) !important;line-height:1.7 !important}
.footer-premium-links,.footer-premium-contact{
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.04) !important;
  box-shadow:none !important;
  backdrop-filter:blur(12px);
}
.footer-premium-links{padding:26px !important}
.footer-premium-links strong{color:#fff !important;font-weight:650 !important}
.footer-premium-links a{color:rgba(255,255,255,.65) !important;margin-bottom:11px !important}
.footer-premium-links a:hover{color:#fff !important}
.footer-premium-contact{padding:28px !important}
.footer-badge{color:#cdbdff !important;background:rgba(119,70,239,.13) !important;border-color:rgba(168,80,244,.20) !important}
.footer-premium-contact h3{color:#fff !important;font-family:'Clash Display','Inter',sans-serif !important;font-size:clamp(1.55rem,2.5vw,2.15rem) !important;font-weight:600 !important;line-height:1.05 !important;letter-spacing:-.04em !important}
.footer-premium-contact p{color:rgba(255,255,255,.60) !important;line-height:1.65 !important}
.footer-contact-list a{color:#fff !important;font-weight:600 !important}
.footer-premium-bottom{border-top:1px solid rgba(255,255,255,.08) !important;color:rgba(255,255,255,.46) !important}
.footer-bottom-links a,.footer-bottom-links span{color:rgba(255,255,255,.48) !important}

/* ---------- WhatsApp card ---------- */
.floating-wa.wa-advisor-card{
  right:18px !important;bottom:18px !important;
  width:245px !important;
  min-height:70px !important;
  padding:10px !important;
  gap:10px !important;
  border:1px solid rgba(119,70,239,.18) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--vg-ink) !important;
  box-shadow:0 20px 50px rgba(31,27,76,.18) !important;
  backdrop-filter:blur(18px);
}
.wa-avatar-wrap,.wa-avatar{width:46px !important;height:46px !important}
.wa-avatar{display:grid !important;place-items:center;border-radius:14px !important;background:linear-gradient(135deg,var(--vg-purple),var(--vg-blue)) !important;color:#fff !important;font-size:.75rem !important;font-weight:800 !important}
.wa-avatar:after{background:var(--vg-cyan) !important}
.wa-status-dot{background:var(--vg-green) !important}
.wa-overline{color:var(--vg-purple) !important;font-size:.43rem !important;font-weight:800 !important;letter-spacing:.09em !important}
.wa-small{color:#979baa !important;font-size:.62rem !important}
.wa-title{color:var(--vg-ink) !important;font-size:.98rem !important;font-weight:700 !important}
.wa-arrow{width:32px !important;height:32px !important;border:1px solid rgba(119,70,239,.14) !important;border-radius:10px !important;background:#f2edff !important;color:var(--vg-purple) !important}
.wa-advisor-card:hover .wa-arrow{background:var(--vg-purple) !important;color:#fff !important}

/* ---------- Listings ---------- */
.page-hero{
  margin-top:18px;
  padding:clamp(4.6rem,8vw,7.2rem) 0 !important;
  border:0 !important;
  background:
    radial-gradient(circle at 14% 10%,rgba(119,70,239,.12),transparent 24%),
    radial-gradient(circle at 84% 22%,rgba(17,190,199,.09),transparent 20%),
    #f0f2f7 !important;
}
.page-hero-copy{max-width:900px !important}
.page-hero h1{max-width:870px;margin:0 0 1rem !important;font-size:clamp(2.6rem,5.4vw,4.75rem) !important;line-height:.98 !important;color:var(--vg-ink) !important}
.page-hero p{max-width:710px;color:var(--vg-muted) !important;font-size:1.02rem !important;line-height:1.72 !important}
.listing-layout{grid-template-columns:310px minmax(0,1fr) !important;gap:30px !important}
.filters-card{
  top:112px !important;
  padding:24px !important;
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(31,27,76,.07) !important;
}
.filters-head h3{font-family:'Clash Display','Inter',sans-serif !important;font-size:1.65rem !important;font-weight:600 !important;letter-spacing:-.035em !important}
.filters-card label{color:#454a5a !important;font-size:.8rem !important;font-weight:650 !important}
.filters-card input,.filters-card select,
.about-contact-form input,.about-contact-form select,.about-contact-form textarea,
.visit-form input,.visit-form select,.visit-form textarea,
.form-grid input,.form-grid select,.form-grid textarea,.login-card input{
  border:1px solid #e2e4ed !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--vg-ink) !important;
  outline:0 !important;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.filters-card input:focus,.filters-card select:focus,
.about-contact-form input:focus,.about-contact-form select:focus,.about-contact-form textarea:focus,
.visit-form input:focus,.visit-form select:focus,.visit-form textarea:focus,
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus{
  border-color:rgba(119,70,239,.52) !important;
  box-shadow:0 0 0 4px rgba(119,70,239,.08) !important;
}
.results-top h2{color:var(--vg-ink) !important;font-size:clamp(2rem,3.2vw,2.8rem) !important;font-weight:600 !important}
.results-top p{color:var(--vg-muted) !important}

/* ---------- Property detail ---------- */
.detail-hero{margin-top:18px;min-height:610px !important}
.detail-hero>img{filter:saturate(.93) contrast(.98)}
.detail-overlay{background:linear-gradient(180deg,rgba(13,16,32,.08) 0%,rgba(13,16,32,.74) 100%) !important}
.detail-hero-copy{min-height:610px !important;padding-bottom:54px !important}
.detail-hero-copy h1{max-width:900px !important;font-size:clamp(2.7rem,5.6vw,4.8rem) !important;line-height:.98 !important;font-weight:600 !important}
.detail-hero-copy p{color:rgba(255,255,255,.76) !important}
.detail-section{background:#f7f7fa !important}
.detail-layout{grid-template-columns:minmax(0,1fr) 370px !important;gap:28px !important}
.detail-price-bar,.content-card,.video-card,.sidebar-card,.premium-contact-card{
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 50px rgba(31,27,76,.06) !important;
}
.detail-price{color:var(--vg-ink) !important;font-size:clamp(2rem,3.8vw,2.75rem) !important;font-weight:700 !important}
.detail-price small{color:#858998 !important;font-weight:600 !important}
.spec-card{border:1px solid var(--vg-line) !important;border-radius:20px !important;background:#f3f4f8 !important}
.spec-card b{color:var(--vg-ink) !important;font-weight:700 !important}
.spec-card span{color:#7b7f8e !important}
.content-card h2,.video-card h2{color:var(--vg-ink) !important;font-size:clamp(1.8rem,3vw,2.45rem) !important}
.richtext{color:var(--vg-muted) !important;line-height:1.82 !important}
.gallery-item{overflow:hidden;border-radius:20px !important;background:#eef0f5 !important}
.gallery-item img{transition:transform .35s ease}
.gallery-item:hover img{transform:scale(1.02)}
.premium-contact-card h3{font-family:'Clash Display','Inter',sans-serif !important;color:var(--vg-ink) !important;font-size:1.8rem !important;font-weight:600 !important;letter-spacing:-.04em !important}
.premium-contact-card p,.premium-contact-card small,.sidebar-card p,.sidebar-list{color:var(--vg-muted) !important}
.sidebar-card h4{font-family:'Clash Display','Inter',sans-serif !important;color:var(--vg-ink) !important;font-size:1.4rem !important;font-weight:600 !important;letter-spacing:-.035em !important}

/* ---------- About ---------- */
.about-hero{
  margin:18px auto 0;
  width:min(calc(100% - clamp(24px,6vw,96px)),1440px);
  overflow:hidden;
  border:1px solid rgba(65,52,116,.07);
  border-radius:36px !important;
  background:
    radial-gradient(circle at 12% 12%,rgba(119,70,239,.14),transparent 25%),
    radial-gradient(circle at 88% 78%,rgba(17,190,199,.10),transparent 25%),
    #f0f2f7 !important;
}
.about-hero-grid{padding:clamp(4.8rem,8vw,7.2rem) 0 !important;gap:56px !important}
.about-hero h1{max-width:820px;margin:0 0 1.2rem !important;color:var(--vg-ink) !important;font-size:clamp(2.8rem,5.3vw,4.65rem) !important;line-height:.98 !important}
.about-hero h1 span{background:linear-gradient(98deg,var(--vg-purple),var(--vg-blue) 56%,var(--vg-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.about-hero p{max-width:680px;color:var(--vg-muted) !important;font-size:1.05rem !important;line-height:1.75 !important}
.about-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.8rem}
.about-facts{gap:14px !important}
.about-facts article{padding:22px !important;border:1px solid rgba(65,52,116,.07) !important;border-radius:22px !important;background:rgba(255,255,255,.80) !important;box-shadow:0 16px 45px rgba(31,27,76,.05) !important}
.about-facts strong{color:var(--vg-ink) !important;font-weight:700 !important}
.about-facts span{color:var(--vg-muted) !important}
.about-story{background:#f7f7fa !important}
.about-story h2{color:var(--vg-ink) !important;font-size:clamp(2.2rem,4.4vw,3.7rem) !important;line-height:1 !important}
.about-story-copy p{color:var(--vg-muted) !important;font-size:1rem !important;line-height:1.75 !important}
.about-values-section{background:#f0f2f7 !important}
.about-values-grid{gap:18px !important}
.about-values-grid article{padding:27px !important;border:1px solid rgba(65,52,116,.07) !important;border-radius:24px !important;background:#fff !important;box-shadow:0 16px 45px rgba(31,27,76,.05) !important}
.about-values-grid article>span{color:var(--vg-purple) !important;background:#f1ebff !important;border-radius:12px !important}
.about-values-grid h3{color:var(--vg-ink) !important;font-weight:650 !important}
.about-values-grid p{color:var(--vg-muted) !important}
.about-contact-section{background:var(--vg-dark) !important;color:#fff !important}
.about-contact-copy .eyebrow{background:rgba(119,70,239,.16) !important;border-color:rgba(168,80,244,.22) !important;color:#d4c7ff !important}
.about-contact-copy h2{color:#fff !important;font-size:clamp(2.4rem,4.5vw,3.8rem) !important;line-height:1 !important}
.about-contact-copy p{color:rgba(255,255,255,.66) !important;line-height:1.7 !important}
.about-contact-data a{color:#fff !important;font-weight:650 !important}
.about-contact-form-card{padding:28px !important;border:1px solid rgba(255,255,255,.09) !important;border-radius:28px !important;background:rgba(255,255,255,.96) !important;box-shadow:0 28px 70px rgba(0,0,0,.24) !important}
.about-contact-form label{color:#3d4253 !important;font-weight:650 !important}

/* ---------- Admin ---------- */
.login-body{
  background:
    radial-gradient(circle at 12% 14%,rgba(119,70,239,.16),transparent 26%),
    radial-gradient(circle at 86% 84%,rgba(17,190,199,.11),transparent 24%),
    #f0f2f7 !important;
}
.login-card{border:1px solid rgba(65,52,116,.08) !important;border-radius:30px !important;box-shadow:0 30px 90px rgba(31,27,76,.15) !important}
.login-card .vecqo-brand{margin-bottom:24px !important}
.login-card h1{color:var(--vg-ink) !important;font-size:2.7rem !important;font-weight:600 !important}
.login-card p{color:var(--vg-muted) !important}
.login-card a{color:var(--vg-purple) !important;font-weight:700 !important}

.admin-body{background:#f3f4f8 !important}
.admin-sidebar{
  background:
    radial-gradient(circle at 20% 0%,rgba(119,70,239,.18),transparent 23%),
    linear-gradient(180deg,#111326 0%,#090b17 100%) !important;
  color:#fff !important;
}
.admin-sidebar .vecqo-brand{display:flex !important;margin-bottom:24px !important;color:#fff !important;padding:0 !important;background:transparent !important}
.admin-sidebar .vecqo-brand-word{color:#fff !important}
.admin-sidebar .vecqo-brand-word>span{color:#a98af8 !important}
.admin-sidebar .vecqo-brand-subtitle{color:rgba(255,255,255,.54) !important}
.admin-sidebar strong{color:rgba(255,255,255,.60) !important;font-weight:600 !important}
.admin-sidebar a{border:1px solid transparent !important;background:rgba(255,255,255,.04) !important;color:rgba(255,255,255,.72) !important;font-weight:500 !important}
.admin-sidebar a:hover{border-color:rgba(168,80,244,.14) !important;background:rgba(119,70,239,.15) !important;color:#fff !important}
.admin-page-head h1{color:var(--vg-ink) !important;font-size:clamp(2.3rem,4vw,3.3rem) !important;font-weight:600 !important}
.admin-page-head p{color:var(--vg-muted) !important}
.admin-stats article,.admin-table-wrap,.form-card,.admin-message-card,.diagnostic-grid .form-card{
  border:1px solid rgba(65,52,116,.07) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 15px 45px rgba(31,27,76,.055) !important;
}
.admin-stats strong{color:var(--vg-ink) !important;font-weight:650 !important}
.admin-stats span{color:var(--vg-muted) !important}
.admin-table th{color:#8b8f9c !important}
.admin-table th,.admin-table td{border-bottom-color:#eceef3 !important}
.admin-property b{color:var(--vg-ink) !important;font-weight:650 !important}
.actions a,.form-actions a{color:var(--vg-purple) !important;font-weight:650 !important}
.actions .danger,.danger{color:#c34d62 !important}
.form-card h3{font-family:'Clash Display','Inter',sans-serif !important;color:var(--vg-ink) !important;font-weight:600 !important;letter-spacing:-.035em !important}
.image-preview,.gallery-live-preview{background:#f6f7fb !important;border-color:#dfe2eb !important}
.admin-progress-track span{background:linear-gradient(90deg,var(--vg-purple),var(--vg-blue),var(--vg-cyan)) !important}
.status.published{background:#eaf8f1 !important;color:#237452 !important}
.status.draft{background:#f2edff !important;color:#6c45bd !important}

/* ---------- Messages / feedback ---------- */
.alert{background:#fff1f4 !important;border-color:#ffd1db !important;color:#8e4052 !important}
.success{background:#edf9f4 !important;border-color:#c6ead9 !important;color:#29664c !important}
.skip-link:focus{background:var(--vg-dark) !important;color:#fff !important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(119,70,239,.24) !important;outline-offset:3px !important}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .menu{gap:8px !important}
  .header-cta{display:none !important}
  .hero{min-height:700px !important}
  .hero-grid{min-height:700px !important}
  .search-grid{grid-template-columns:1fr 1fr !important;gap:0 !important}
  .search-grid label{border-right:0 !important;border-bottom:1px solid var(--vg-line) !important}
  .search-grid button{grid-column:span 2;width:100%;margin:8px 0 0 !important}
  .detail-layout,.listing-layout{grid-template-columns:1fr !important}
  .filters-card,.detail-sidebar{position:static !important}
  .footer-premium-top{grid-template-columns:1fr 1fr !important}
  .footer-premium-brand{grid-column:span 2}
  .admin-body{grid-template-columns:1fr !important}
  .admin-sidebar{position:relative !important;min-height:auto !important}
}

@media(max-width:980px){
  .site-header{padding:10px 12px 0 !important}
  .nav{min-height:64px !important;padding:0 10px 0 14px !important;border-radius:18px !important;grid-template-columns:auto auto !important;justify-content:space-between !important}
  .vecqo-brand-word{font-size:1.15rem !important}
  .vecqo-brand-subtitle{display:none !important}
  .nav-toggle{display:block !important;width:40px;height:40px;border:0 !important;border-radius:11px !important;background:#f3efff !important;color:var(--vg-purple) !important;font-size:1.2rem !important}
  .menu{
    display:none !important;
    position:absolute !important;
    top:76px !important;left:12px !important;right:12px !important;
    padding:12px !important;
    flex-direction:column !important;align-items:stretch !important;
    border:1px solid rgba(65,52,116,.08) !important;border-radius:18px !important;
    background:rgba(255,255,255,.98) !important;box-shadow:0 22px 60px rgba(31,27,76,.14) !important;
  }
  .menu.open{display:flex !important}
  .menu-shell{display:grid !important;grid-template-columns:1fr 1fr !important;width:100% !important}
  .menu-shell a{justify-content:center !important}
  .admin-menu-access{width:100% !important;height:44px !important;display:flex !important;gap:8px !important}
  .admin-menu-label{display:inline !important}
  .hero{margin-top:12px !important;border-radius:28px !important}
  .hero-grid{padding:72px 0 120px !important}
  .hero-copy{max-width:650px !important}
  .hero-overlay{background:linear-gradient(90deg,rgba(248,248,252,.995) 0%,rgba(248,248,252,.98) 52%,rgba(248,248,252,.72) 78%,rgba(248,248,252,.25) 100%) !important}
  .property-grid-home{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .about-hero{margin-top:12px;border-radius:28px !important}
}

@media(max-width:700px){
  .container{width:min(calc(100% - 24px),1440px) !important}
  .section{padding:4.5rem 0 !important}
  .hero{width:calc(100% - 24px) !important;min-height:700px !important}
  .hero-media{background-position:67% center !important;opacity:.52}
  .hero-overlay{background:linear-gradient(180deg,rgba(248,248,252,.99) 0%,rgba(248,248,252,.96) 58%,rgba(248,248,252,.76) 100%) !important}
  .hero-grid{min-height:700px !important;padding:68px 0 150px !important;align-items:start !important}
  .hero-copy h1{font-size:clamp(2.35rem,11vw,3.15rem) !important;line-height:.96 !important}
  .hero-copy p{font-size:.94rem !important;line-height:1.62 !important}
  .hero-actions{flex-direction:column !important;align-items:stretch !important}
  .hero-actions .btn{width:100% !important}
  .hero-proof{grid-template-columns:1fr !important;gap:11px !important}
  .hero-search-wrap{margin-top:-76px !important}
  .search-grid{grid-template-columns:1fr !important;border-radius:20px !important;padding:10px !important}
  .search-grid button{grid-column:auto !important}
  .hero-benefits{grid-template-columns:1fr !important}
  .property-grid-home{grid-template-columns:1fr !important}
  .property-image{height:235px !important}
  .investment-visual img{height:400px !important;border-radius:26px !important}
  .floating-badge{left:14px !important;right:14px !important;bottom:14px !important}
  .check-grid{grid-template-columns:1fr !important}
  .dark-image-card img{height:300px !important}
  .page-hero{padding:4rem 0 !important}
  .page-hero h1{font-size:2.65rem !important}
  .detail-hero,.detail-hero-copy{min-height:430px !important}
  .detail-hero-copy{padding-bottom:32px !important}
  .detail-price-bar{flex-direction:column !important;align-items:flex-start !important}
  .spec-grid{grid-template-columns:1fr 1fr !important}
  .content-card,.video-card,.sidebar-card,.premium-contact-card{padding:20px !important;border-radius:20px !important}
  .gallery-grid{grid-template-columns:1fr !important}
  .gallery-item,.gallery-item:first-child{grid-column:span 1 !important;grid-row:span 1 !important;min-height:220px !important}
  .about-hero{width:calc(100% - 24px)}
  .about-hero-grid{padding:4.4rem 0 !important}
  .about-hero h1{font-size:2.7rem !important}
  .about-hero-actions{flex-direction:column}
  .about-hero-actions .btn{width:100%}
  .about-facts{grid-template-columns:1fr !important}
  .about-story-grid,.about-contact-grid{grid-template-columns:1fr !important}
  .about-values-grid{grid-template-columns:1fr !important}
  .footer-premium{padding-top:50px !important}
  .footer-premium-top{grid-template-columns:1fr !important}
  .footer-premium-brand{grid-column:auto}
  .footer-premium-links,.footer-premium-contact{padding:22px !important}
  .footer-premium-bottom{flex-direction:column !important;align-items:flex-start !important;gap:10px !important}
  .floating-wa.wa-advisor-card{width:190px !important;min-height:58px !important;right:8px !important;bottom:8px !important;padding:8px !important;border-radius:16px !important}
  .wa-avatar-wrap,.wa-avatar{width:38px !important;height:38px !important}
  .wa-small,.wa-overline{display:none !important}
  .wa-title{font-size:.87rem !important}
  .wa-arrow{width:27px !important;height:27px !important}
  .admin-main{padding:16px 12px 28px !important}
  .admin-stats{grid-template-columns:1fr 1fr !important}
  .form-grid{grid-template-columns:1fr !important}
  .span-2{grid-column:span 1 !important}
}

@media(max-width:420px){
  .menu-shell{grid-template-columns:1fr !important}
  .hero-copy h1{font-size:2.2rem !important}
  .property-body h3{font-size:1.28rem !important}
  .property-footer{align-items:flex-end !important}
  .property-footer strong{font-size:1.35rem !important}
  .admin-stats{grid-template-columns:1fr !important}
}


/* ---------- Refinements · 2026-08-18 r2 ---------- */
.section{padding:clamp(3.85rem,5.8vw,5.8rem) 0 !important}
.hero{min-height:680px !important;margin:14px auto 0 !important}
.hero-grid{min-height:680px !important;padding:76px 0 96px !important}
.hero-copy{max-width:700px !important}
.hero-copy h1{font-size:clamp(2.9rem,4.8vw,4.55rem) !important}
.hero-copy p{max-width:620px !important}
.hero-search-wrap{margin-top:-50px !important}
.search-grid{padding:10px !important;border-radius:22px !important;box-shadow:0 20px 52px rgba(31,27,76,.11) !important}
.search-grid label{padding:12px 16px !important}
.search-grid button,.search-grid .btn,.filters-card .btn,.visit-form .btn,.about-contact-form .btn,.detail-price-bar .btn,.hero-actions .btn,.btn{
  background:linear-gradient(108deg,var(--vg-purple) 0%,var(--vg-purple-2) 54%,var(--vg-blue) 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 16px 34px rgba(119,70,239,.22) !important;
}
.search-grid button:hover,.search-grid .btn:hover,.filters-card .btn:hover,.visit-form .btn:hover,.about-contact-form .btn:hover,.detail-price-bar .btn:hover,.hero-actions .btn:hover,.btn:hover{
  background:linear-gradient(108deg,#6d40e7 0%,#9350ec 55%,#2f7df4 100%) !important;
  box-shadow:0 18px 40px rgba(119,70,239,.28) !important;
}
.btn-outline{background:rgba(255,255,255,.88) !important;color:#6837d7 !important;box-shadow:0 10px 24px rgba(31,27,76,.06) !important}
.page-hero{padding:clamp(3.65rem,6vw,5rem) 0 !important}
.listing-layout{gap:24px !important}
.filters-card{padding:22px !important;border-radius:22px !important}
.results-top{margin-bottom:20px !important}
.about-hero{margin:14px auto 0 !important;border-radius:34px !important}
.about-hero-grid{display:grid !important;grid-template-columns:1.1fr .9fr !important;align-items:start !important;gap:34px !important;padding:clamp(4.25rem,6.5vw,5.7rem) 0 !important}
.about-facts article{min-height:0 !important;padding:20px !important}
.about-facts strong{font-size:1.85rem !important}
.about-story-grid,.about-contact-grid{gap:42px !important}
.about-values-grid article{padding:24px !important}
.dark-cta .section{padding:0 !important}
.footer-premium{
  padding:56px 0 18px !important;
  background:
    radial-gradient(circle at 0% 10%,rgba(119,70,239,.18),transparent 27%),
    radial-gradient(circle at 100% 12%,rgba(17,190,199,.10),transparent 25%),
    linear-gradient(180deg,#101325 0%,#090b17 100%) !important;
}
.footer-premium-top{display:grid !important;grid-template-columns:1.12fr .48fr 1fr !important;gap:22px !important;align-items:start !important}
.footer-premium-brand{padding:12px 0 0 !important}
.footer-brand-lockup{display:flex !important;align-items:center !important;gap:14px !important;margin:6px 0 16px !important}
.footer-brand-mark{flex:0 0 auto;display:inline-flex !important;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px !important;background:rgba(255,255,255,.05) !important;border:1px solid rgba(255,255,255,.10) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important}
.footer-brand-mark img{width:38px !important;height:38px !important;display:block}
.footer-brand-copy{display:grid !important;gap:4px !important}
.footer-brand-title{font-family:'Clash Display','Inter',sans-serif !important;font-size:clamp(1.55rem,2vw,2rem) !important;line-height:1 !important;letter-spacing:-.045em !important;color:#fff !important;font-weight:600 !important}
.footer-brand-meta{color:rgba(255,255,255,.56) !important;font-size:.92rem !important;letter-spacing:-.02em !important}
.footer-premium-brand p{max-width:500px !important;margin:0 0 18px !important;color:rgba(255,255,255,.64) !important}
.footer-quick-points{display:flex !important;flex-wrap:wrap !important;gap:10px !important}
.footer-quick-points span{display:inline-flex !important;padding:9px 12px !important;border:1px solid rgba(255,255,255,.09) !important;border-radius:999px !important;background:rgba(255,255,255,.04) !important;color:rgba(255,255,255,.72) !important;font-size:.76rem !important;font-weight:600 !important}
.footer-premium-links,.footer-premium-contact{border-radius:22px !important;background:rgba(255,255,255,.045) !important;border:1px solid rgba(255,255,255,.08) !important;backdrop-filter:blur(14px) !important}
.footer-premium-links{padding:24px !important}
.footer-premium-contact{padding:24px !important}
.footer-premium-links strong{margin-bottom:14px !important;display:block !important}
.footer-premium-links a{margin-bottom:10px !important}
.footer-premium-contact h3{font-size:clamp(1.4rem,2.1vw,1.95rem) !important;line-height:1.08 !important;margin:0 0 12px !important}
.footer-premium-contact p{margin:0 0 16px !important}
.footer-contact-list{display:grid !important;gap:10px !important;margin-bottom:18px !important}
.footer-contact-chip{display:flex !important;flex-direction:column !important;gap:2px !important;padding:14px 16px !important;border-radius:16px !important;background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.08) !important;transition:background .2s ease,border-color .2s ease,transform .2s ease !important}
.footer-contact-chip:hover{background:rgba(255,255,255,.07) !important;border-color:rgba(168,80,244,.26) !important;transform:translateY(-1px) !important}
.footer-contact-chip span{color:rgba(255,255,255,.54) !important;font-size:.74rem !important;font-weight:650 !important;letter-spacing:.03em !important}
.footer-contact-chip strong{margin:0 !important;color:#fff !important;font-size:1rem !important;font-weight:600 !important}
.footer-actions .btn{width:100% !important;min-height:54px !important}
.footer-premium-bottom{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;margin-top:22px !important;padding-top:16px !important}
.footer-bottom-links{display:flex !important;align-items:center !important;gap:14px !important;flex-wrap:wrap !important}
.footer-bottom-links a:hover{color:#fff !important}
@media(max-width:1100px){
  .footer-premium-top{grid-template-columns:1fr 1fr !important}
  .footer-premium-brand{grid-column:span 2 !important}
}
@media(max-width:700px){
  .section{padding:3.75rem 0 !important}
  .hero{min-height:620px !important}
  .hero-grid{min-height:620px !important;padding:66px 0 120px !important}
  .hero-search-wrap{margin-top:-58px !important}
  .page-hero{padding:3.35rem 0 !important}
  .about-hero-grid{grid-template-columns:1fr !important;gap:22px !important;padding:3.6rem 0 !important}
  .footer-premium{padding-top:42px !important}
  .footer-premium-top{grid-template-columns:1fr !important;gap:16px !important}
  .footer-premium-brand{grid-column:auto !important}
  .footer-brand-mark{width:52px !important;height:52px !important;border-radius:16px !important}
  .footer-brand-mark img{width:34px !important;height:34px !important}
  .footer-premium-links,.footer-premium-contact{padding:20px !important}
}

/* ========================================================================== */
/* VECQO refinement 2026-08-18 · color consistency, compact rhythm & footer  */
/* ========================================================================== */

/* Eliminar cualquier herencia naranja del tema anterior */
.search-grid .btn,
.search-grid button,
.filters-card .btn,
.filters-card button,
.form-actions .btn,
.login-card .btn,
.admin-page-head .btn,
.visit-form .btn,
.about-contact-form .btn{
  background:linear-gradient(105deg,var(--vg-purple),var(--vg-purple-2)) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(119,70,239,.20) !important;
}
.search-grid .btn:hover,
.search-grid button:hover,
.filters-card .btn:hover,
.filters-card button:hover,
.form-actions .btn:hover,
.login-card .btn:hover,
.admin-page-head .btn:hover,
.visit-form .btn:hover,
.about-contact-form .btn:hover{
  background:linear-gradient(105deg,#6c3ee5,#9745e8) !important;
  border-color:transparent !important;
}
.filters-card .filter-reset,
.filter-reset,
.section-link,
.property-footer a,
.actions a,
.visits-table a,
.admin-message-contact a{
  color:var(--vg-purple) !important;
}

/* Ritmo vertical más compacto. Evita sumar el padding del CSS legado. */
.section{padding:clamp(3.8rem,5.5vw,5.6rem) 0 !important}
.section-head{margin-bottom:1.8rem !important}
.center-head{margin-bottom:2rem !important}
.hero-search-section{padding-bottom:clamp(2.6rem,4vw,4rem) !important}
.featured-section{padding-top:clamp(3.6rem,5vw,5rem) !important}
.investment-band{padding-top:clamp(4rem,5vw,5.5rem) !important;padding-bottom:clamp(4rem,5vw,5.5rem) !important}
.dark-cta{padding-top:clamp(4rem,5vw,5.4rem) !important;padding-bottom:clamp(4rem,5vw,5.4rem) !important}

/* Sobre nosotros: el tema antiguo añadía padding al padre y al grid simultáneamente. */
.about-hero{padding:0 !important;min-height:0 !important}
.about-hero-grid{padding:clamp(3.9rem,5.5vw,5.6rem) 0 !important;min-height:0 !important}
.about-story,.about-values-section,.about-contact-section{padding-top:clamp(3.8rem,5vw,5.2rem) !important;padding-bottom:clamp(3.8rem,5vw,5.2rem) !important}
.about-story-grid{gap:clamp(30px,4vw,58px) !important}
.about-contact-grid{gap:clamp(30px,4vw,52px) !important}
.about-values-grid article{min-height:0 !important}

/* Hero de listados más contenido */
.page-hero{padding:clamp(3.7rem,5.5vw,5.3rem) 0 !important}
.detail-section{padding-top:clamp(3.2rem,4.5vw,4.8rem) !important;padding-bottom:clamp(3.2rem,4.5vw,4.8rem) !important}

/* Footer VECQO: compacto, sin pastilla blanca detrás del logotipo */
.footer-premium{
  position:relative;
  padding:clamp(3.4rem,5vw,4.6rem) 0 1.35rem !important;
  background:
    radial-gradient(circle at 9% 10%,rgba(119,70,239,.17),transparent 27%),
    radial-gradient(circle at 91% 12%,rgba(17,190,199,.10),transparent 24%),
    linear-gradient(180deg,#111326 0%,#090b17 100%) !important;
}
.footer-premium:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(119,70,239,.76),rgba(47,125,244,.70),rgba(17,190,199,.58),transparent) !important;
}
.footer-premium-top{
  display:grid !important;
  grid-template-columns:minmax(0,1.1fr) minmax(180px,.48fr) minmax(300px,.88fr) !important;
  align-items:start !important;
  gap:clamp(28px,4vw,62px) !important;
}
.footer-premium-brand{padding:0 !important}
.footer-premium-brand .footer-logo,
.footer-logo{
  display:inline-flex !important;
  width:auto !important;
  max-width:none !important;
  margin:0 0 .85rem !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.vecqo-brand-footer{align-items:baseline !important}
.vecqo-brand-footer .vecqo-brand-word{color:#fff !important;font-size:2.15rem !important;font-weight:800 !important}
.vecqo-brand-footer .vecqo-brand-word>span{color:#a98af8 !important}
.vecqo-brand-footer .vecqo-brand-subtitle{display:inline !important;color:rgba(255,255,255,.58) !important;font-size:1.02rem !important}
.footer-unit{
  display:block;margin:0 0 1rem;color:#a990f4;font-size:.66rem;font-weight:700;letter-spacing:.11em;
}
.footer-premium-brand p{max-width:470px;margin:0 !important;color:rgba(255,255,255,.58) !important;font-size:.88rem;line-height:1.72 !important}
.footer-premium-links{
  display:grid !important;
  align-content:start !important;
  gap:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.footer-premium-links strong{margin:0 0 1rem !important;color:#fff !important;font-size:.78rem !important;letter-spacing:.08em;text-transform:uppercase}
.footer-premium-links a{display:block !important;margin:0 !important;padding:.34rem 0 !important;color:rgba(255,255,255,.62) !important;font-size:.88rem !important}
.footer-premium-links a:hover{color:#fff !important;transform:translateX(2px)}
.footer-premium-contact{
  padding:1.45rem !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.045) !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px) !important;
}
.footer-badge{margin-bottom:.85rem !important;padding:.42rem .68rem !important;color:#d0c2ff !important;background:rgba(119,70,239,.15) !important;border-color:rgba(168,80,244,.25) !important}
.footer-premium-contact h3{margin:0 0 .75rem !important;font-size:clamp(1.45rem,2vw,1.9rem) !important;line-height:1.03 !important}
.footer-premium-contact p{margin:0 0 1rem !important;font-size:.86rem !important;line-height:1.62 !important}
.footer-contact-list{display:flex !important;flex-wrap:wrap !important;gap:.55rem 1rem !important;margin:0 0 1.1rem !important}
.footer-contact-list a{font-size:.88rem !important}
.footer-actions .btn{width:100% !important;min-height:46px !important;font-size:.82rem !important}
.footer-premium-bottom{margin-top:2.2rem !important;padding-top:1.15rem !important;font-size:.74rem !important}

@media(max-width:1100px){
  .footer-premium-top{grid-template-columns:1fr 1fr !important}
  .footer-premium-brand{grid-column:1/-1 !important}
}
@media(max-width:700px){
  .section{padding:3.5rem 0 !important}
  .about-hero-grid{padding:3.5rem 0 !important}
  .about-story,.about-values-section,.about-contact-section{padding:3.5rem 0 !important}
  .footer-premium{padding-top:3.2rem !important}
  .footer-premium-top{grid-template-columns:1fr !important;gap:2rem !important}
  .footer-premium-brand{grid-column:auto !important}
  .footer-premium-contact{padding:1.25rem !important}
  .footer-premium-bottom{margin-top:1.8rem !important}
}


/* ===== VECQO r3: fuerza de color para botones heredados del tema anterior ===== */
:root{
  --orange:#7746ef !important;
  --orange-dark:#6537d7 !important;
}
body .btn,
body button.btn,
body a.btn,
body input.btn,
body .header-cta,
body .footer-actions .btn,
body button[type="submit"],
body .search-grid button,
body .filters-card button,
body .admin-page-head .btn,
body .login-card .btn,
body .form-card .btn,
body .admin-main .btn{
  background:linear-gradient(105deg,var(--vg-purple),var(--vg-purple-2)) !important;
  color:#fff !important;
  border-color:transparent !important;
  box-shadow:0 14px 30px rgba(119,70,239,.24) !important;
}
body .btn:hover,
body button.btn:hover,
body a.btn:hover,
body input.btn:hover,
body .header-cta:hover,
body .footer-actions .btn:hover,
body button[type="submit"]:hover,
body .search-grid button:hover,
body .filters-card button:hover,
body .admin-page-head .btn:hover,
body .login-card .btn:hover,
body .form-card .btn:hover,
body .admin-main .btn:hover{
  background:linear-gradient(105deg,#6c3ee5,#9a45e7) !important;
  color:#fff !important;
  box-shadow:0 18px 38px rgba(119,70,239,.30) !important;
}
body .btn:focus-visible,
body button.btn:focus-visible,
body a.btn:focus-visible,
body input.btn:focus-visible,
body button[type="submit"]:focus-visible{
  outline:3px solid rgba(119,70,239,.22) !important;
  outline-offset:3px !important;
}


/* ===== VECQO v8: destacados del Home 3 x 2 ===== */
.property-grid.property-grid-home{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(18px,2vw,28px) !important;
  align-items:stretch !important;
}
.property-grid-home .premium-property-card{
  height:100%;
}
@media (max-width:1100px){
  .property-grid.property-grid-home{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:700px){
  .property-grid.property-grid-home{grid-template-columns:1fr !important;}
}

/* =========================================================
   V8 — Ficha de inmueble: contacto + agenda como tabs/modales
   Solo responsive móvil/tablet vertical. Desktop permanece igual.
   ========================================================= */
.mobile-property-actions,
.mobile-property-modal{display:none}

@media(max-width:820px){
  .property-mobile-ui-ready .detail-sidebar>.premium-contact-card,
  .property-mobile-ui-ready .detail-sidebar>.visit-schedule-card{
    display:none !important;
  }

  .property-mobile-ui-ready .mobile-property-actions{
    position:fixed;
    z-index:1450;
    top:46%;
    right:0;
    display:grid;
    gap:8px;
    transform:translateY(-50%);
    pointer-events:none;
  }

  .mobile-property-action{
    width:152px;
    min-height:54px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 12px 8px 9px;
    border:1px solid rgba(119,70,239,.22);
    border-right:0;
    border-radius:17px 0 0 17px;
    background:rgba(255,255,255,.97);
    color:var(--vg-ink);
    box-shadow:0 14px 36px rgba(31,27,76,.16);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    font:700 .82rem/1.1 'Inter',sans-serif;
    letter-spacing:-.01em;
    cursor:pointer;
    pointer-events:auto;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;
  }
  .mobile-property-action:hover,
  .mobile-property-action:focus-visible{
    transform:translateX(-4px);
    border-color:rgba(119,70,239,.42);
    background:#fff;
    box-shadow:0 18px 44px rgba(31,27,76,.20);
  }
  .mobile-property-action-icon{
    flex:0 0 36px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,var(--vg-purple),#9a53f4);
    color:#fff;
    box-shadow:0 8px 20px rgba(119,70,239,.25);
  }
  .mobile-property-action-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .property-mobile-ui-ready .mobile-property-modal{
    position:fixed;
    inset:0;
    z-index:2000;
    display:none;
    place-items:center;
    padding:18px;
  }
  .property-mobile-ui-ready .mobile-property-modal.is-open{display:grid}
  .mobile-property-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(9,11,23,.56);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .mobile-property-modal-panel{
    position:relative;
    z-index:1;
    width:min(100%,440px);
    max-height:min(88vh,760px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:28px 22px 22px;
    border:1px solid rgba(255,255,255,.60);
    border-radius:26px;
    background:#fff;
    box-shadow:0 34px 90px rgba(8,9,22,.34);
    animation:vecqoMobileModalIn .22s ease-out both;
  }
  .mobile-property-modal-panel-agenda{padding-top:30px}
  .mobile-property-modal-close{
    position:sticky;
    top:0;
    z-index:3;
    float:right;
    width:38px;
    height:38px;
    margin:-16px -10px 2px 10px;
    display:grid;
    place-items:center;
    border:1px solid rgba(65,52,116,.10);
    border-radius:50%;
    background:#f5f2fc;
    color:var(--vg-ink);
    font:500 1.55rem/1 'Inter',sans-serif;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(31,27,76,.10);
  }
  .mobile-property-modal-close:hover{background:#eee8ff;color:var(--vg-purple)}
  .mobile-modal-card{
    clear:both;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .mobile-property-modal .premium-contact-card h3{
    margin-top:20px !important;
    font-size:clamp(1.9rem,8vw,2.35rem) !important;
    line-height:1.02 !important;
  }
  .mobile-property-modal .premium-contact-card>a:not(.btn){
    display:block;
    width:max-content;
    max-width:100%;
    margin-top:7px;
    color:var(--vg-ink) !important;
    font-weight:700 !important;
    overflow-wrap:anywhere;
  }
  .mobile-property-modal .premium-contact-card .btn{
    width:100%;
    margin:20px 0 12px !important;
    justify-content:center;
  }
  .mobile-property-modal .premium-contact-card small{
    display:block;
    line-height:1.6;
  }
  .mobile-property-modal .visit-schedule-card h4{
    margin-top:18px !important;
    font-size:clamp(1.65rem,7vw,2rem) !important;
    line-height:1.05 !important;
  }
  .mobile-property-modal .visit-form{margin-top:18px}
  .mobile-property-modal .visit-form .btn{width:100%}
  body.vecqo-modal-open{overflow:hidden !important;touch-action:none}

  @keyframes vecqoMobileModalIn{
    from{opacity:0;transform:translateY(14px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
}

@media(max-width:420px){
  .mobile-property-action{width:142px;min-height:52px;padding-right:10px;font-size:.78rem}
  .mobile-property-action-icon{width:34px;height:34px;flex-basis:34px;border-radius:11px}
  .property-mobile-ui-ready .mobile-property-actions{top:44%}
  .property-mobile-ui-ready .mobile-property-modal{padding:12px}
  .mobile-property-modal-panel{padding:26px 18px 20px;border-radius:23px}
}

@media(prefers-reduced-motion:reduce){
  .mobile-property-action,
  .mobile-property-modal-panel{animation:none !important;transition:none !important}
}


/* =========================================================
   V8.1 — Responsive hardening
   - evita overflow en hero/home y ficha de inmueble
   - filtros móviles compactos y desplegables
   Desktop conserva la composición V8.
   ========================================================= */

/* Defensas generales contra contenido que expanda el viewport. */
.hero-copy,
.hero-copy h1,
.hero-copy p,
.page-hero-copy,
.detail-hero-copy,
.detail-hero-copy h1,
.detail-hero-copy p,
.results-panel,
.filters-card,
.filters-card form{
  min-width:0 !important;
  max-width:100% !important;
}

.mobile-filter-toggle{display:none}
.filter-actions{display:grid;gap:10px}

@media(max-width:700px){
  /* ---------- HOME ---------- */
  .hero{
    width:calc(100% - 20px) !important;
    min-height:auto !important;
    overflow:hidden !important;
    border-radius:26px !important;
  }
  .hero-grid{
    width:100% !important;
    min-height:0 !important;
    padding:56px 0 96px !important;
  }
  .hero-copy{
    width:100% !important;
    max-width:100% !important;
  }
  .hero-copy .eyebrow{
    width:fit-content !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.25 !important;
    text-align:left;
  }
  .hero-copy h1{
    width:100% !important;
    font-size:clamp(2.05rem,9.4vw,2.65rem) !important;
    line-height:.98 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-wrap:balance;
  }
  .hero-copy h1 .hero-line,
  .hero-copy h1 .hero-line-dark,
  .hero-copy h1 .hero-line-gradient,
  .hero-copy h1 .hero-line-orange{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .hero-copy p{
    width:100% !important;
    max-width:100% !important;
    font-size:.92rem !important;
  }
  .hero-actions{
    width:100% !important;
    min-width:0 !important;
  }
  .hero-actions .btn{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-inline:16px !important;
    white-space:normal !important;
    text-align:center;
  }
  .hero-proof{width:100% !important;max-width:100% !important}

  /* ---------- HERO DE LISTADOS ---------- */
  .page-hero{
    overflow:hidden !important;
    padding:3.25rem 0 !important;
  }
  .page-hero .eyebrow{
    max-width:100% !important;
    width:fit-content !important;
    white-space:normal !important;
  }
  .page-hero h1{
    max-width:100% !important;
    font-size:clamp(2rem,9vw,2.55rem) !important;
    line-height:1 !important;
    overflow-wrap:break-word !important;
    text-wrap:balance;
  }
  .page-hero p{
    max-width:100% !important;
    font-size:.92rem !important;
    line-height:1.6 !important;
  }

  /* ---------- FILTROS MÓVILES COMPACTOS ---------- */
  .listing-layout{
    width:100% !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:22px !important;
  }
  .filters-card{
    width:100% !important;
    padding:0 !important;
    border:0 !important;
    border-radius:20px !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .mobile-filter-toggle{
    width:100%;
    min-height:68px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 28px;
    align-items:center;
    gap:11px;
    padding:11px 13px;
    border:1px solid rgba(65,52,116,.09) !important;
    border-radius:18px !important;
    background:#fff !important;
    color:var(--vg-ink) !important;
    box-shadow:0 12px 34px rgba(31,27,76,.07) !important;
    text-align:left;
    cursor:pointer;
  }
  .mobile-filter-toggle-icon{
    width:42px;height:42px;display:grid;place-items:center;
    border-radius:13px;
    background:#f2edff;
    color:var(--vg-purple);
  }
  .mobile-filter-toggle-icon svg{
    width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  }
  .mobile-filter-toggle-copy{display:grid;gap:2px;min-width:0}
  .mobile-filter-toggle-copy strong{font-size:.92rem;font-weight:750;letter-spacing:-.02em}
  .mobile-filter-toggle-copy small{color:var(--vg-muted);font-size:.72rem;line-height:1.3;white-space:normal}
  .mobile-filter-toggle-chevron{font-size:1.3rem;color:#7f8390;transform:translateY(-2px);transition:transform .2s ease}
  .filters-card.filters-open .mobile-filter-toggle-chevron{transform:rotate(180deg) translateY(2px)}

  .filters-card>form{
    display:none !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:11px !important;
    width:100% !important;
    margin-top:10px;
    padding:15px !important;
    border:1px solid rgba(65,52,116,.08);
    border-radius:18px;
    background:#fff;
    box-shadow:0 14px 38px rgba(31,27,76,.07);
  }
  .filters-card.filters-open>form{display:grid !important}
  .filters-card .filters-head{display:none !important}
  .filters-card .filter-field{
    min-width:0 !important;
    gap:6px !important;
    margin:0 !important;
    font-size:.72rem !important;
    font-weight:650 !important;
  }
  .filters-card .filter-field-location{grid-column:1/-1}
  .filters-card input,
  .filters-card select{
    width:100% !important;
    min-width:0 !important;
    height:44px !important;
    padding:0 11px !important;
    border-radius:12px !important;
    font-size:.82rem !important;
  }
  .filter-actions{
    grid-column:1/-1;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    margin-top:2px;
  }
  .filter-actions .btn{
    width:100% !important;
    min-height:46px !important;
    padding-inline:14px !important;
    border-radius:12px !important;
    font-size:.82rem !important;
  }
  .filter-actions .filter-reset{
    margin:0 !important;
    padding:10px 2px !important;
    font-size:.78rem !important;
    white-space:nowrap;
  }
  .results-top{min-width:0 !important}
  .results-top h2{
    max-width:100% !important;
    font-size:clamp(1.75rem,8vw,2.2rem) !important;
    overflow-wrap:break-word !important;
  }

  /* ---------- FICHA DE INMUEBLE ---------- */
  .detail-hero{
    width:100% !important;
    max-width:100vw !important;
    min-height:420px !important;
    overflow:hidden !important;
  }
  .detail-hero>img{
    width:100% !important;
    max-width:none !important;
  }
  .detail-hero-copy{
    width:min(calc(100% - 24px),1440px) !important;
    min-height:420px !important;
    padding-bottom:30px !important;
  }
  .detail-hero-copy .back-link{
    max-width:100%;
    white-space:normal !important;
  }
  .detail-hero-copy .eyebrow{
    width:fit-content !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.25 !important;
  }
  .detail-hero-copy h1{
    width:100% !important;
    max-width:100% !important;
    margin-right:0 !important;
    font-size:clamp(2rem,9.2vw,2.6rem) !important;
    line-height:.99 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto;
    text-wrap:balance;
  }
  .detail-hero-copy p{
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }
  .detail-price-bar,
  .content-card,
  .video-card,
  .spec-card{
    max-width:100% !important;
    min-width:0 !important;
  }
  .detail-price{
    max-width:100%;
    font-size:clamp(1.8rem,8vw,2.35rem) !important;
    overflow-wrap:anywhere;
  }

  /* Las tabs siguen a la derecha, pero ocupan menos pantalla. */
  .mobile-property-action{
    width:128px !important;
    min-height:48px !important;
    gap:7px !important;
    padding:7px 9px 7px 7px !important;
    border-radius:15px 0 0 15px !important;
    font-size:.72rem !important;
  }
  .mobile-property-action-icon{
    width:32px !important;height:32px !important;flex-basis:32px !important;border-radius:10px !important;
  }
  .mobile-property-action-icon svg{width:17px !important;height:17px !important}
}

@media(max-width:420px){
  .container{width:min(calc(100% - 20px),1440px) !important}
  .hero{width:calc(100% - 16px) !important}
  .hero-grid{padding:48px 0 84px !important}
  .hero-copy h1{font-size:clamp(1.95rem,9vw,2.28rem) !important}
  .hero-copy p{font-size:.88rem !important}
  .page-hero h1{font-size:clamp(1.9rem,8.7vw,2.28rem) !important}
  .detail-hero-copy{width:calc(100% - 20px) !important}
  .detail-hero-copy h1{font-size:clamp(1.9rem,9vw,2.3rem) !important}
  .filters-card>form{padding:12px !important;gap:9px !important}
  .filters-card input,.filters-card select{font-size:.78rem !important;padding-inline:9px !important}
  .mobile-filter-toggle{grid-template-columns:38px minmax(0,1fr) 24px;min-height:62px;padding:9px 11px}
  .mobile-filter-toggle-icon{width:38px;height:38px;border-radius:11px}
  .mobile-filter-toggle-copy small{font-size:.68rem}
  .mobile-property-action{width:116px !important;font-size:.68rem !important}
  .mobile-property-action-icon{width:30px !important;height:30px !important;flex-basis:30px !important}
}

@media(max-width:350px){
  .filters-card>form{grid-template-columns:1fr !important}
  .filters-card .filter-field-location,
  .filter-actions{grid-column:auto}
  .filter-actions{grid-template-columns:1fr !important}
  .filter-actions .filter-reset{text-align:center}
  .mobile-filter-toggle-copy small{display:none}
}

/* =========================================================
   V8.2 — Filtros compactos también en escritorio
   - elimina la columna lateral que podía desbordar/solaparse
   - filtro desplegable superior en todos los tamaños
   - resultados ocupan todo el ancho disponible
   ========================================================= */

/* El listado ya no depende de un sidebar fijo. */
.listing-layout{
  grid-template-columns:minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
}

.filters-card{
  position:static !important;
  top:auto !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

.mobile-filter-toggle{
  display:grid !important;
  grid-template-columns:38px minmax(0,1fr) 24px;
  align-items:center;
  gap:10px;
  width:min(100%,360px) !important;
  min-height:58px;
  padding:9px 12px;
  border:1px solid rgba(65,52,116,.09) !important;
  border-radius:17px !important;
  background:#fff !important;
  color:var(--vg-ink) !important;
  box-shadow:0 12px 34px rgba(31,27,76,.065) !important;
  text-align:left;
  cursor:pointer;
}
.mobile-filter-toggle-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:12px;
  background:#f2edff;
  color:var(--vg-purple);
}
.mobile-filter-toggle-icon svg{
  width:19px;height:19px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.mobile-filter-toggle-copy{display:grid;gap:1px;min-width:0}
.mobile-filter-toggle-copy strong{font-size:.9rem;font-weight:750;letter-spacing:-.02em}
.mobile-filter-toggle-copy small{color:var(--vg-muted);font-size:.70rem;line-height:1.25;white-space:normal}
.mobile-filter-toggle-chevron{font-size:1.25rem;color:#7f8390;transform:translateY(-2px);transition:transform .2s ease}
.filters-card.filters-open .mobile-filter-toggle-chevron{transform:rotate(180deg) translateY(2px)}

/* Panel desplegable: una fila compacta en desktop, nunca invade resultados. */
.filters-card>form{
  display:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-top:12px !important;
  padding:18px !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:12px !important;
  border:1px solid rgba(65,52,116,.08) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 14px 38px rgba(31,27,76,.065) !important;
}
.filters-card.filters-open>form{display:grid !important}
.filters-card .filters-head{display:none !important}
.filters-card .filter-field{
  min-width:0 !important;
  max-width:100% !important;
  gap:6px !important;
  margin:0 !important;
  font-size:.72rem !important;
  font-weight:650 !important;
}
.filters-card .filter-field-type{grid-column:span 2}
.filters-card .filter-field-sector{grid-column:span 2}
.filters-card .filter-field-location{grid-column:span 3}
.filters-card .filter-field-min{grid-column:span 2}
.filters-card .filter-field-max{grid-column:span 3}
.filters-card input,
.filters-card select{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:44px !important;
  padding:0 11px !important;
  border-radius:12px !important;
  font-size:.82rem !important;
  overflow:hidden !important;
  text-overflow:ellipsis;
}
.filter-actions{
  grid-column:1/-1 !important;
  display:flex !important;
  flex-direction:row !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:14px !important;
  margin-top:2px !important;
}
.filter-actions .btn{
  width:auto !important;
  min-width:180px !important;
  min-height:44px !important;
  padding:10px 18px !important;
  border-radius:12px !important;
  font-size:.82rem !important;
}
.filter-actions .filter-reset{
  margin:0 !important;
  padding:10px 2px !important;
  white-space:nowrap;
  font-size:.8rem !important;
}

.results-panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}
.results-top{
  min-width:0 !important;
  max-width:100% !important;
  flex-wrap:wrap !important;
}
.results-top>div{min-width:0 !important;max-width:100% !important}
.results-top h2{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  text-wrap:balance;
}
.property-grid.property-grid-listing{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
}
.property-grid-listing .premium-property-card{
  min-width:0 !important;
  max-width:100% !important;
}
.property-grid-listing .property-body,
.property-grid-listing .property-body h3,
.property-grid-listing .property-footer{
  min-width:0 !important;
  max-width:100% !important;
}
.property-grid-listing .property-body h3,
.property-grid-listing .property-body h3 a{
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
}
.property-grid-listing .property-footer{
  flex-wrap:wrap !important;
}
.property-grid-listing .property-footer strong{
  max-width:100%;
  overflow-wrap:anywhere;
}

@media(max-width:1180px){
  .property-grid.property-grid-listing{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  .filters-card>form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .filters-card .filter-field-type,
  .filters-card .filter-field-sector,
  .filters-card .filter-field-min,
  .filters-card .filter-field-max{grid-column:span 1}
  .filters-card .filter-field-location{grid-column:1/-1}
}

@media(max-width:700px){
  .mobile-filter-toggle{width:100% !important}
  .filters-card>form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:15px !important;
    gap:11px !important;
  }
  .filters-card .filter-field-type,
  .filters-card .filter-field-sector,
  .filters-card .filter-field-min,
  .filters-card .filter-field-max{grid-column:span 1}
  .filters-card .filter-field-location{grid-column:1/-1}
  .filter-actions{
    grid-column:1/-1 !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    justify-content:stretch !important;
    gap:12px !important;
  }
  .filter-actions .btn{width:100% !important;min-width:0 !important}
  .property-grid.property-grid-listing{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}

@media(max-width:350px){
  .filters-card>form{grid-template-columns:1fr !important}
  .filters-card .filter-field-type,
  .filters-card .filter-field-sector,
  .filters-card .filter-field-location,
  .filters-card .filter-field-min,
  .filters-card .filter-field-max,
  .filter-actions{grid-column:1 !important}
  .filter-actions{grid-template-columns:1fr !important}
  .filter-actions .filter-reset{text-align:center}
}


/* =========================================================
   V8.3 — Bottom bar móvil de acciones en ficha de inmueble
   - sustituye tabs laterales por una barra inferior compacta
   - integra Contacto, Cita y WhatsApp
   - oculta el WhatsApp flotante duplicado solo en la ficha móvil
   ========================================================= */
@media(max-width:820px){
  .property-detail-page{
    padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .property-detail-page .floating-wa.wa-advisor-card{
    display:none !important;
  }

  .property-detail-page .mobile-property-actions,
  .property-detail-page.property-mobile-ui-ready .mobile-property-actions{
    position:fixed !important;
    z-index:1450 !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width:min(calc(100% - 24px),430px) !important;
    min-height:68px !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:4px !important;
    padding:7px !important;
    transform:translateX(-50%) !important;
    border:1px solid rgba(119,70,239,.15) !important;
    border-radius:22px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 46px rgba(31,27,76,.18),0 4px 14px rgba(31,27,76,.08) !important;
    backdrop-filter:blur(18px) saturate(1.12) !important;
    -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
    pointer-events:auto !important;
  }

  .property-detail-page .mobile-property-action{
    width:100% !important;
    min-width:0 !important;
    min-height:54px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:6px 4px !important;
    border:0 !important;
    border-radius:16px !important;
    background:transparent !important;
    color:var(--vg-ink) !important;
    box-shadow:none !important;
    font:700 .68rem/1.05 'Inter',sans-serif !important;
    letter-spacing:-.01em !important;
    text-decoration:none !important;
    text-align:center !important;
    cursor:pointer !important;
    transform:none !important;
    transition:background .18s ease,color .18s ease,transform .18s ease !important;
    -webkit-tap-highlight-color:transparent;
  }

  .property-detail-page .mobile-property-action:hover,
  .property-detail-page .mobile-property-action:focus-visible,
  .property-detail-page .mobile-property-action:active{
    transform:none !important;
    background:#f5f1ff !important;
    color:var(--vg-purple) !important;
    box-shadow:none !important;
    outline:none !important;
  }

  .property-detail-page .mobile-property-action-icon{
    width:31px !important;
    height:31px !important;
    flex:0 0 31px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:11px !important;
    background:linear-gradient(145deg,var(--vg-purple),#9550f2) !important;
    color:#fff !important;
    box-shadow:0 6px 15px rgba(119,70,239,.22) !important;
  }

  .property-detail-page .mobile-property-action-icon svg{
    width:16px !important;
    height:16px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .property-detail-page .mobile-property-action-label{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .property-detail-page .mobile-property-action-wa .mobile-property-action-icon{
    background:linear-gradient(145deg,#6f48ef,#5b7df3) !important;
  }

  .property-detail-page.vecqo-modal-open .mobile-property-actions{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

@media(max-width:360px){
  .property-detail-page .mobile-property-actions,
  .property-detail-page.property-mobile-ui-ready .mobile-property-actions{
    width:calc(100% - 16px) !important;
    min-height:64px !important;
    padding:6px !important;
    bottom:calc(7px + env(safe-area-inset-bottom, 0px)) !important;
    border-radius:19px !important;
  }
  .property-detail-page .mobile-property-action{
    min-height:51px !important;
    font-size:.63rem !important;
    gap:3px !important;
  }
  .property-detail-page .mobile-property-action-icon{
    width:29px !important;
    height:29px !important;
    flex-basis:29px !important;
    border-radius:10px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .property-detail-page .mobile-property-action{transition:none !important}
}
