/* =============================================================
   OffPlanVilla — FOOTER
   Pre-footer CTA · popular searches · link columns · SEO · credits
   ============================================================= */

/* ---------- Pre-footer CTA ---------- */
.opv-precta{
  background:var(--opv-sand);
  border-top:1px solid var(--opv-line);
  padding-block:clamp(3rem,6vw,5.5rem);
}
.opv-precta__inner{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(1.75rem,5vw,4.5rem);
  align-items:center;
}
.opv-precta__fig img{aspect-ratio:4/3;border-radius:var(--opv-radius-lg)}
.opv-precta__title{font-size:var(--opv-step-3);margin-bottom:.55rem}
.opv-precta__points{list-style:none;display:grid;gap:.6rem;margin:1.4rem 0 1.8rem}
.opv-precta__points li{
  display:flex;align-items:flex-start;gap:.6rem;
  font-size:var(--opv-step--1);color:var(--opv-ink-2);
}
.opv-precta__points svg{color:var(--opv-green);flex:none;margin-top:.28em}
.opv-precta__actions{display:flex;flex-wrap:wrap;gap:.7rem}
.opv-precta__consent{margin:1.15rem 0 0;max-width:52ch}
@media (max-width:900px){
  .opv-precta__inner{grid-template-columns:1fr}
  .opv-precta__media{order:2}
}

/* ---------- Footer shell ---------- */
.opv-footer{background:var(--opv-white);border-top:1px solid var(--opv-line-soft)}

/* Popular searches */
.opv-footer__popular{
  padding-block:2.25rem;
  border-bottom:1px solid var(--opv-line-soft);
  display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.4rem;
}
.opv-footer__populartitle{
  margin:0;flex:none;
  font-family:var(--opv-sans);font-size:.75rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--opv-ink-4);
}
.opv-footer__popular .opv-chips{flex:1;min-width:0}

/* Main grid */
.opv-footer__main{
  padding-block:clamp(2.5rem,5vw,4rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2.15fr);
  gap:clamp(2rem,5vw,4.5rem);
}
.opv-brand--footer{margin-bottom:1.1rem}
.opv-footer__blurb{
  font-size:.9375rem;line-height:1.65;color:var(--opv-ink-3);
  max-width:44ch;margin-bottom:1.1rem;
}
.opv-footer__wa{margin-top:1.1rem}

.opv-footer__cols{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2rem 1.75rem;
}
.opv-footer__coltitle{
  margin:0 0 1rem;
  font-family:var(--opv-sans);font-size:.75rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--opv-ink-4);
}
.opv-footer__links{list-style:none;display:grid;gap:.1rem}
.opv-footer__links a,.opv-footer__link{
  display:block;padding:.4rem 0;min-height:34px;
  font-size:.9375rem;color:var(--opv-ink-2);text-decoration:none;
  transition:color .18s var(--opv-ease),transform .18s var(--opv-ease);
}
.opv-footer__links a:hover,.opv-footer__link:hover{color:var(--opv-green);transform:translateX(3px)}

@media (max-width:1024px){
  .opv-footer__main{grid-template-columns:1fr}
  .opv-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .opv-footer__cols{grid-template-columns:1fr;gap:1.5rem}
  .opv-footer__links a,.opv-footer__link{min-height:44px;padding:.6rem 0}
}

/* SEO copy + credits */
.opv-footer__legalband{background:var(--opv-paper);border-top:1px solid var(--opv-line-soft)}
.opv-footer__seo{
  padding-block:2.25rem 1.25rem;
  max-width:min(var(--opv-max),100%);
}
.opv-footer__seo p{font-size:.875rem;line-height:1.7;color:var(--opv-ink-3);max-width:92ch}
.opv-footer__seo p:first-child{font-size:.9375rem;color:var(--opv-ink-2)}
.opv-footer__seo a{color:var(--opv-ink-2);text-decoration:underline;text-decoration-color:var(--opv-line)}
.opv-footer__seo a:hover{color:var(--opv-green);text-decoration-color:currentColor}
.opv-footer__seo p:last-child{margin-bottom:0}

.opv-footer__credits{padding-bottom:2.25rem}
.opv-footer__credits p{font-size:.8125rem;line-height:1.65}
.opv-footer__credits p{margin:0;max-width:92ch}
.opv-footer__credits strong{color:var(--opv-ink-2);font-weight:600}
.opv-footer__credits a{color:var(--opv-ink-2)}
.opv-footer__credits a:hover{color:var(--opv-green)}

/* Bottom bar */
.opv-footer__bar{background:var(--opv-white);border-top:1px solid var(--opv-line-soft)}
.opv-footer__barinner{
  padding-block:1.25rem;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;
}
.opv-footer__barinner p{margin:0;font-size:.8125rem}
.opv-footer__legal{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}
.opv-footer__legal a{
  font-size:.8125rem;color:var(--opv-ink-3);text-decoration:none;
  display:inline-flex;align-items:center;min-height:32px;
}
.opv-footer__legal a:hover{color:var(--opv-green)}

/* Leave room for the sticky mobile CTA */
@media (max-width:900px){
  .opv-footer__bar{padding-bottom:4.25rem}
}
