/* Punto Inmobiliario - Site CSS (Video style) */
:root{
  --pi-accent:#f1733e;
  --pi-bg:#ffffff;
  --pi-text:#1a1a1a;
  --pi-muted:#6a6a6a;
  --pi-border:#e9e9e9;
  --pi-card:#ffffff;
  --pi-shadow: 0 18px 60px rgba(0,0,0,.08);
}


/* Hide theme header/logo on plugin pages (avoid duplicate huge logo) */
body.pi-site-page header:not(.pi-site-header),
body.pi-site-page #masthead,
body.pi-site-page .site-header,
body.pi-site-page .elementor-location-header,
body.pi-site-page .wp-block-template-part{
  display:none !important;
}
body.pi-site-page{ margin-top:0 !important; }

.pi-page, .pi-page *{ box-sizing:border-box; }
.pi-page{ width:100%; margin:0; padding:0; color:var(--pi-text); background:var(--pi-bg); text-align:left; }
.pi-page img{ max-width:100%; height:auto; display:block; }

.pi-container{ max-width:1200px; margin:0 auto; padding:24px 18px; }

/* Header */
.pi-site-header{
  position:sticky; top:0; z-index:9999;
  background:#fff; border-bottom:1px solid var(--pi-border);
}
.pi-site-header-inner{
  max-width:1200px; margin:0 auto; padding:10px 18px;
  display:flex; align-items:center; gap:14px;
}
.pi-brand{ display:flex; align-items:center; text-decoration:none; }
.pi-brand-logo{ height:96px !important; width:auto !important; max-width:420px !important; background:transparent !important; border-radius:0 !important; object-fit:contain; }
.pi-site-nav{ display:flex; gap:14px; flex-wrap:wrap; }
.pi-nav-link{
  text-decoration:none; color:#111; font-weight:800;
  padding:8px 10px; border-radius:999px;
}
/* override theme link styles */
.pi-site-nav a.pi-nav-link,
.pi-site-nav a.pi-nav-link:visited,
.pi-site-nav a.pi-nav-link:hover,
.pi-site-nav a.pi-nav-link:focus{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  color:#111 !important;
}
.pi-nav-link.is-active{ background:#f4f4f4; }
.pi-site-actions{ margin-left:auto; display:flex; gap:10px; align-items:center; }
.pi-action-link{ text-decoration:none; color:#111; font-weight:800; padding:8px 10px; border-radius:999px; }
.pi-action-btn{
  text-decoration:none; font-weight:900;
  padding:10px 14px; border-radius:999px;
  background:#111; color:#fff;
}
.pi-action-btn:hover{ filter:brightness(.95); }

/* Hero (Inicio) */
.pi-hero2{
  position:relative;
  min-height:420px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
}
.pi-hero2-overlay{ position:absolute; inset:0; background:rgba(0,0,0,.35); }
.pi-hero2-content{ position:relative; text-align:center; max-width:920px; margin:0 auto; }
.pi-hero2-title{
  color:#fff; font-weight:900; letter-spacing:1px;
  font-size:56px; line-height:1.0;
}
.pi-hero2-sub{
  color:#fff; margin-top:10px; font-size:18px; opacity:.95;
}
.pi-hero2-search{
  margin:22px auto 0;
  background:#fff;
  border-radius:22px;
  box-shadow:var(--pi-shadow);
  padding:14px;
}

/* About grid */
.pi-about-grid{ display:flex; gap:22px; align-items:flex-start; }
.pi-about-text{ width:58%; }
.pi-about-image{ width:42%; }
.pi-about-text h1{ font-size:34px; line-height:1.15; margin:0 0 12px; }
.pi-about-text p{ color:var(--pi-text); font-size:16px; line-height:1.7; margin:0 0 14px; }
.pi-about-image img{ width:100%; border-radius:18px; box-shadow:var(--pi-shadow); }

/* Home search */
.pi-home-search{ width:100%; }
.pi-home-search .pi-row{ display:flex; gap:10px; }
.pi-home-search select{
  flex:1; padding:12px 14px;
  border:1px solid #dcdcdc;
  border-radius:999px;
  background:#fff;
  min-width:160px;
  max-width:100%;
  box-sizing:border-box;
  font-size:16px;
}
.pi-home-search .pi-row+.pi-row{ margin-top:10px; }
.pi-home-search button{
  flex:1; padding:12px 14px; border:0; border-radius:999px;
  cursor:pointer; font-weight:900;
}
.pi-home-search .pi-go-list{ background:#111; color:#fff; }
.pi-home-search .pi-go-map{ background:#f2f2f2; color:#111; }

/* Contact block */
.pi-contact-block{ margin-top:8px; }
.pi-contact-top{ display:flex; gap:18px; align-items:stretch; }
.pi-contact-map{ width:58%; }
.pi-contact-card{ width:42%; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); }
.pi-accent{ color:var(--pi-accent); letter-spacing:.5px; margin:0 0 10px; font-size:28px; }
.pi-contact-lines{ font-size:16px; line-height:1.7; }
.pi-contact-lines a{ color:inherit; text-decoration:none; }
.pi-contact-lines a:hover{ text-decoration:underline; }
.pi-gmap,.pi-map-embed{ width:100%; height:320px; border:0; border-radius:18px; box-shadow:var(--pi-shadow); }
.pi-inst{ display:inline-flex; align-items:center; justify-content:center; margin-top:10px; color:var(--pi-accent); text-decoration:none; }
.pi-inst svg{ display:block; }

/* Contact form section */
.pi-contact-form-wrap{ margin-top:26px; }
.pi-title{ text-align:center; font-size:34px; letter-spacing:.5px; margin:10px 0 18px; }
.pi-contact-grid{ display:flex; gap:18px; align-items:stretch; }
.pi-form-card{ width:56%; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); }
.pi-other-card{ width:44%; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); overflow:hidden; }
.pi-form-card h3,.pi-other-card h3{ font-size:26px; margin:4px 0 6px; }
.pi-muted{ color:var(--pi-muted); margin:0 0 12px; line-height:1.6; }
.pi-form input,.pi-form textarea{
  width:100%; padding:12px 14px; margin-bottom:12px;
  border-radius:14px; border:1px solid #dcdcdc; outline:none;
  font-size:15px; background:#fff;
}
.pi-check{ display:flex; gap:10px; align-items:flex-start; justify-content:flex-start; font-size:13px; color:var(--pi-text); margin:8px 0; }
.pi-check input[type="checkbox"]{ width:auto !important; height:auto !important; margin-top:2px; }
.pi-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 16px; border-radius:999px; border:0;
  background:var(--pi-accent); color:#fff; font-weight:900; cursor:pointer;
  text-decoration:none;
}
.pi-btn:hover{ filter:brightness(.95); }
.pi-btn-soft{ background:#f2f2f2; color:#111; }
.pi-flash{ background:#fff5f1; border:1px solid #ffd3c3; color:#7a2c10; border-radius:14px; padding:10px 12px; margin:10px 0; }
.pi-flash-inline{ margin-top:12px; }

/* Toast desactivado */
.pi-toast{display:none !important;}
/* Botón "Abrir mapa" en el embed */
.pi-osm-wrap{ position:relative; }
.pi-osm-wrap .pi-map-open{ position:absolute; right:10px; bottom:10px; background:rgba(255,255,255,.92); border:1px solid rgba(0,0,0,.12); padding:8px 10px; border-radius:12px; font-weight:600; font-size:13px; }

/* Other contact */
.pi-other-line{ font-size:16px; line-height:1.7; margin:6px 0; }
.pi-phone-big{ font-size:38px; font-weight:900; margin:6px 0; color:var(--pi-accent); }
.pi-phone-big a{ color:inherit; text-decoration:none; }
.pi-illus{ width:90%; max-width:380px; margin:18px auto 0; opacity:.95; }

/* Login */
.pi-login-grid{ display:flex; gap:18px; align-items:stretch; }
.pi-login-card{ width:50%; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); }
.pi-login-card h2{ font-size:28px; margin:4px 0 6px; }
.pi-login-box{ max-width:520px; margin:0 auto; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); text-align:center; }
#pi-login-form p{ margin:0 0 12px; }
#pi-login-form label{ display:block; font-weight:800; margin-bottom:6px; }
#pi-login-form input[type="text"],#pi-login-form input[type="password"]{ width:100%; padding:12px 14px; border-radius:14px; border:1px solid #dcdcdc; }
#pi-login-form input[type="submit"]{ width:100%; padding:12px 14px; border-radius:14px; border:0; background:#111; color:#fff; font-weight:900; cursor:pointer; }

/* Buscador layout */
.pi-buscador{ display:flex; gap:18px; }
.pi-left{ width:30%; background:var(--pi-card); border:1px solid var(--pi-border); border-radius:16px; padding:14px; box-shadow:var(--pi-shadow); }
.pi-right{ width:70%; }
.pi-left h3{ margin:6px 0 10px; font-size:18px; }
.pi-left label{ display:block; font-size:12px; margin-top:10px; margin-bottom:6px; color:#333; }
.pi-left input,.pi-left select{ width:100%; padding:10px; border:1px solid #dcdcdc; border-radius:12px; outline:none; }
.pi-left .pi-row2{ display:flex; gap:8px; }
.pi-topbar{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.pi-pill{ padding:8px 12px; border-radius:999px; border:1px solid #dcdcdc; background:#fff; cursor:pointer; font-weight:800; }
.pi-pill.is-active{ background:#111; color:#fff; border-color:#111; }
.pi-count{ margin-left:auto; color:#444; font-size:13px; }
.pi-results{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.pi-card{ display:flex; gap:12px; border:1px solid #ececec; border-radius:16px; overflow:hidden; background:#fff; text-decoration:none; color:inherit; }
.pi-card:hover{ box-shadow:0 8px 30px rgba(0,0,0,.06); transform:translateY(-1px); }
.pi-card-img{ width:38%; min-height:150px; background-size:cover; background-position:center; background-color:#f2f2f2; }
.pi-card-body{ padding:12px; width:62%; }
.pi-card-title{ font-weight:900; font-size:14px; line-height:1.2; margin-bottom:6px; }
.pi-card-sub{ font-size:12px; color:#666; margin-bottom:10px; }
.pi-card-price{ font-size:16px; font-weight:900; margin-bottom:10px; }
.pi-card-meta{ display:flex; flex-wrap:wrap; gap:8px; font-size:12px; color:#555; }
.pi-pagination{ margin-top:14px; display:flex; gap:6px; flex-wrap:wrap; }
.pi-pagination button{ padding:8px 10px; border-radius:12px; border:1px solid #ddd; background:#fff; cursor:pointer; font-weight:800; }
.pi-pagination button.is-active{ background:#111; color:#fff; border-color:#111; }
.pi-map{ height:560px; border-radius:16px; border:1px solid var(--pi-border); box-shadow:var(--pi-shadow); }
.pi-empty{ padding:16px; border:1px dashed #ddd; border-radius:16px; color:#555; }

/* Panel */
.pi-panel{ max-width:980px; margin:0 auto; }
.pi-panel-card{ background:var(--pi-card); border:1px solid var(--pi-border); border-radius:18px; padding:18px; box-shadow:var(--pi-shadow); }
.pi-panel-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.pi-panel-meta{ display:flex; flex-direction:column; gap:8px; }
.pi-code{ background:#f4f4f4; padding:2px 6px; border-radius:8px; font-size:12px; }
.pi-portal-wrap{ margin-top:16px; }
.pi-portal-iframe{ width:100%; height:78vh; border:1px solid var(--pi-border); border-radius:16px; background:#fff; box-shadow:var(--pi-shadow); }

/* Responsive */
@media(max-width:980px){
  .pi-brand-logo{height:60px !important; max-width:300px !important;}

  .pi-site-header-inner{ flex-direction:column; align-items:flex-start; }
  .pi-site-actions{ margin-left:0; }
  .pi-hero2{ min-height:360px; }
  .pi-hero2-title{ font-size:38px; }
  .pi-about-grid{ flex-direction:column; }
  .pi-about-text,.pi-about-image{ width:100%; }
  .pi-contact-top,.pi-contact-grid,.pi-login-grid,.pi-buscador{ flex-direction:column; }
  .pi-contact-map,.pi-contact-card,.pi-form-card,.pi-other-card,.pi-login-card,.pi-left,.pi-right{ width:100%; }
  .pi-results{ grid-template-columns:1fr; }
  .pi-map{ height:420px; }
  .pi-home-search .pi-row{ flex-direction:column; }
}

@media(max-width:980px){ .pi-brand-logo{ height:78px !important; width:auto !important; max-width:360px !important; background:transparent !important; border-radius:0 !important; } }

.pi-site-header a, .pi-site-header a:visited{ text-decoration:none !important; }



/* Panel form (user friendly) */
.pi-panel-grid{ display:grid; grid-template-columns: 1fr 1.2fr; gap:18px; margin-top:18px; align-items:start; }
@media (max-width: 980px){ .pi-panel-grid{ grid-template-columns:1fr; } }

.pi-h3{ margin:0 0 10px; font-size:22px; font-weight:900; }

.pi-table-wrap{ background:#fff; border:1px solid var(--pi-border); border-radius:18px; box-shadow:var(--pi-shadow); overflow:hidden; }
.pi-table{ width:100%; border-collapse:collapse; }
.pi-table th, .pi-table td{ padding:12px 14px; border-bottom:1px solid var(--pi-border); text-align:left; font-size:14px; vertical-align:top; }
.pi-table th{ background:#fafafa; font-weight:900; }
.pi-table tr:last-child td{ border-bottom:none; }
.pi-link{ font-weight:900; color:var(--pi-accent); text-decoration:none; }

.pi-prop-form label{ display:block; font-weight:900; margin:10px 0 6px; }
.pi-prop-form input[type="text"],
.pi-prop-form input[type="url"],
.pi-prop-form input[type="number"],
.pi-prop-form textarea{
  width:100%;
  border:1px solid var(--pi-border);
  border-radius:14px;
  padding:12px 12px;
  background:#fff;
  outline:none;
}
.pi-prop-form textarea{ resize:vertical; }

.pi-form-section{
  background:#fff;
  border:1px solid var(--pi-border);
  border-radius:18px;
  padding:14px 14px;
  box-shadow:var(--pi-shadow);
  margin-bottom:14px;
}

.pi-form-grid2{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.pi-form-grid3{ display:grid; grid-template-columns: 1fr 1fr 1fr; gap:12px; }
.pi-form-grid4{ display:grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap:12px; }
@media (max-width: 980px){
  .pi-form-grid2,.pi-form-grid3,.pi-form-grid4{ grid-template-columns:1fr; }
}

.pi-help{ font-size:12px; color:var(--pi-muted); margin-top:6px; }

.pi-checkline{ display:flex; flex-direction:column; justify-content:flex-end; padding-top:18px; }
.pi-checkbig{ display:flex; gap:10px; align-items:center; font-weight:900; }
.pi-checkbig input{ width:18px; height:18px; }

.pi-map-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.pi-map-search{ display:flex; gap:8px; align-items:center; }
.pi-map-search input{ min-width:260px; }
@media (max-width: 600px){ .pi-map-search input{ min-width:160px; } }

.pi-prop-map{ width:100%; height:320px; border-radius:18px; overflow:hidden; border:1px solid var(--pi-border); }
.pi-map-coords{ display:flex; gap:18px; margin-top:10px; }

.pi-form-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
