/*
Theme Name: Bankwp-Real-Estate
Theme URI: https://www.bankwp.com/
Author: BankWP
Author URI: https://www.bankwp.com/
Description: Theme inmobiliario profesional para Lucas Inmobiliarias, compatible con WordPress y preparado para integrarse con plugins WRE/Real Estate. Incluye buscador interno de propiedades, fecha y hora superior, slideshow responsive, tarjetas de propiedades, footer editable y diseño serio adaptable a desktop y móviles.
Version: 1.0.26
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bankwp-real-estate
Tags: real-estate, custom-logo, custom-menu, featured-images, translation-ready, block-styles, responsive-layout
*/
:root{--bwp-navy:#102033;--bwp-navy-2:#182b42;--bwp-gold:#c59b3b;--bwp-gold-2:#e2bd62;--bwp-slate:#627085;--bwp-bg:#f5f7fa;--bwp-white:#fff;--bwp-border:#dfe5ec;--bwp-dark:#0b1725;--bwp-green:#1f8a5b;--bwp-red:#b84535;--bwp-shadow:0 18px 45px rgba(16,32,51,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bwp-bg);color:var(--bwp-dark);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.bwp-container{width:min(1180px,92%);margin:0 auto}.screen-reader-text{position:absolute;left:-9999px}.bwp-topbar{background:var(--bwp-navy);color:#d9e3ef;font-size:14px}.bwp-topbar-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:42px}.bwp-powered a{color:var(--bwp-gold-2);font-weight:700}.bwp-date-time{font-weight:700;letter-spacing:.2px}.bwp-header{background:#fff;box-shadow:0 6px 20px rgba(16,32,51,.08);position:sticky;top:0;z-index:40}.bwp-header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0}.bwp-brand{display:flex;align-items:center;gap:12px}.bwp-logo-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--bwp-navy),var(--bwp-gold));display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:var(--bwp-shadow)}.bwp-title{font-size:24px;font-weight:900;color:var(--bwp-navy);line-height:1}.bwp-tagline{font-size:12px;color:var(--bwp-slate);margin-top:4px}.bwp-menu ul{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}.bwp-menu a{font-weight:800;color:var(--bwp-navy);font-size:14px}.bwp-menu a:hover{color:var(--bwp-gold)}.bwp-mobile-toggle{display:none;background:var(--bwp-navy);color:#fff;border:0;border-radius:10px;padding:10px 12px;font-weight:800}.bwp-hero{background:linear-gradient(120deg,rgba(16,32,51,.93),rgba(24,43,66,.86)),url('assets/images/hero-pattern.svg');background-size:cover;color:#fff;padding:62px 0 34px}.bwp-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.bwp-kicker{color:var(--bwp-gold-2);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.bwp-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.02;margin:12px 0 16px}.bwp-hero p{color:#dbe5f1;font-size:18px;max-width:660px}.bwp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.bwp-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:999px;font-weight:900;border:1px solid transparent;cursor:pointer}.bwp-btn-primary{background:var(--bwp-gold);color:#111}.bwp-btn-secondary{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}.bwp-search-box{background:#fff;color:var(--bwp-dark);border-radius:24px;padding:24px;box-shadow:var(--bwp-shadow)}.bwp-search-title{font-size:22px;font-weight:900;color:var(--bwp-navy);margin:0 0 14px}.bwp-search-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bwp-field{display:flex;flex-direction:column;gap:6px}.bwp-field label{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--bwp-slate)}.bwp-field input,.bwp-field select{width:100%;border:1px solid var(--bwp-border);border-radius:12px;padding:12px 12px;font-size:15px;background:#fff;color:var(--bwp-dark)}.bwp-search-submit{grid-column:1/-1;background:var(--bwp-navy);color:#fff;border:0;border-radius:14px;padding:14px;font-weight:900;font-size:16px}.bwp-slider-wrap{padding:34px 0;background:#fff}.bwp-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:22px}.bwp-section-head h2{font-size:32px;margin:0;color:var(--bwp-navy)}.bwp-section-head p{margin:6px 0 0;color:var(--bwp-slate)}.bwp-slider{position:relative;overflow:hidden;border-radius:28px;background:#0f2033;box-shadow:var(--bwp-shadow)}.bwp-slides{display:flex;transition:transform .55s ease}.bwp-slide{min-width:100%;display:grid;grid-template-columns:1fr 1fr;min-height:380px}.bwp-slide-media{background:#dfe5ec}.bwp-slide-media img{width:100%;height:100%;object-fit:cover}.bwp-slide-content{padding:38px;color:#fff;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,var(--bwp-navy),var(--bwp-navy-2))}.bwp-price{color:var(--bwp-gold-2);font-size:28px;font-weight:900}.bwp-slide h3{font-size:34px;margin:10px 0}.bwp-meta{display:flex;flex-wrap:wrap;gap:10px;color:#dbe5f1;font-weight:800}.bwp-slider-controls{position:absolute;right:18px;bottom:18px;display:flex;gap:10px}.bwp-slider-controls button{width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--bwp-navy);font-weight:900}.bwp-main{padding:42px 0}.bwp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.bwp-card{background:#fff;border:1px solid var(--bwp-border);border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(16,32,51,.08);transition:transform .2s}.bwp-card:hover{transform:translateY(-3px)}.bwp-card-img{position:relative;height:220px;background:#edf1f6}.bwp-card-img img{width:100%;height:100%;object-fit:cover}.bwp-badge{position:absolute;top:14px;left:14px;background:var(--bwp-gold);color:#111;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px}.bwp-card-body{padding:18px}.bwp-card h3{font-size:20px;margin:8px 0 10px;color:var(--bwp-navy)}.bwp-card .bwp-location{color:var(--bwp-slate);font-weight:700}.bwp-card-actions{display:flex;gap:10px;margin-top:16px}.bwp-small-btn{flex:1;text-align:center;border-radius:12px;padding:11px 10px;font-weight:900;background:var(--bwp-navy);color:#fff}.bwp-wa{background:var(--bwp-green)}.bwp-features{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}.bwp-feature{background:#fff;border:1px solid var(--bwp-border);border-radius:20px;padding:22px;box-shadow:0 10px 25px rgba(16,32,51,.06)}.bwp-feature-icon{font-size:32px}.bwp-feature h3{margin:10px 0 6px;color:var(--bwp-navy)}.bwp-footer{background:var(--bwp-navy);color:#dbe5f1;margin-top:40px}.bwp-footer-widgets{padding:38px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.bwp-footer a{color:var(--bwp-gold-2)}.bwp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;text-align:center}.bwp-footer-bottom a{font-weight:900}.bwp-page-content{background:#fff;padding:28px;border-radius:22px;border:1px solid var(--bwp-border)}.bwp-results-note{margin:0 0 20px;color:var(--bwp-slate);font-weight:700}.bwp-empty{background:#fff;border:1px solid var(--bwp-border);border-radius:20px;padding:28px;text-align:center;color:var(--bwp-slate)}
@media(max-width:900px){.bwp-hero-grid,.bwp-slide{grid-template-columns:1fr}.bwp-grid,.bwp-features,.bwp-footer-widgets{grid-template-columns:1fr 1fr}.bwp-menu{display:none;position:absolute;left:0;right:0;top:84px;background:#fff;padding:18px}.bwp-menu.is-open{display:block}.bwp-menu ul{flex-direction:column;align-items:flex-start}.bwp-mobile-toggle{display:block}.bwp-header-inner{position:relative}.bwp-slide-media{height:260px}}
@media(max-width:640px){.bwp-topbar-inner{flex-direction:column;align-items:flex-start;padding:10px 0}.bwp-search-form,.bwp-grid,.bwp-features,.bwp-footer-widgets{grid-template-columns:1fr}.bwp-hero{padding-top:36px}.bwp-section-head{display:block}.bwp-card-img{height:200px}.bwp-slide h3{font-size:26px}.bwp-slide-content{padding:26px}.bwp-title{font-size:20px}}


/* Bankwp Real Estate v1.0.6 updates */
.bwp-header{background:linear-gradient(135deg,#071827 0%,#0c2238 48%,#111827 100%);border-bottom:1px solid rgba(197,155,59,.35);box-shadow:0 14px 36px rgba(0,0,0,.22)}
.bwp-header-inner{padding:14px 0}.bwp-brand .custom-logo{max-height:56px;width:auto}.bwp-title{color:#fff;letter-spacing:.4px}.bwp-tagline{color:#b9c6d7}.bwp-logo-mark{background:linear-gradient(135deg,#d4a62a,#7b5a13);box-shadow:0 0 0 1px rgba(255,255,255,.14),0 12px 30px rgba(212,166,42,.25)}
.bwp-menu ul{gap:10px}.bwp-menu a{display:inline-flex;align-items:center;min-height:40px;padding:9px 14px;border-radius:999px;color:#e7eef8;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:.22s ease}.bwp-menu a:hover{color:#111;background:linear-gradient(135deg,var(--bwp-gold),var(--bwp-gold-2));border-color:rgba(226,189,98,.8);transform:translateY(-1px)}
.bwp-mobile-toggle{background:linear-gradient(135deg,var(--bwp-gold),var(--bwp-gold-2));color:#111;box-shadow:0 10px 24px rgba(212,166,42,.25)}
.bwp-card-img img,.bwp-slide-media img{width:100%;height:100%;object-fit:cover}.bwp-pagination{margin-top:28px;display:flex;justify-content:center}.bwp-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;margin:0 4px;padding:0 12px;border-radius:12px;background:#fff;border:1px solid var(--bwp-border);font-weight:900;color:var(--bwp-navy)}.bwp-pagination .current,.bwp-pagination a:hover{background:var(--bwp-navy);color:#fff;border-color:var(--bwp-navy)}
.bwp-footer-contact p{margin:.35rem 0}.bwp-footer-contact a{font-weight:900}
@media(max-width:900px){.bwp-menu{top:76px;background:#071827;border-top:1px solid rgba(197,155,59,.35)}.bwp-menu a{width:100%;justify-content:flex-start}}


/* Bankwp Real Estate v1.0.7 property listing update */
.bwp-no-photo{width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf1f6,#dfe7ef);color:#102033;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:20px}
.bwp-related{margin-top:34px;padding-top:24px;border-top:1px solid var(--bwp-border)}
.bwp-related .bwp-section-head h2{font-size:28px}
.bwp-related-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.bwp-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.bwp-related-grid{grid-template-columns:1fr}}


/* Bankwp Real Estate v1.0.8 listing gallery update */
.bwp-main .bwp-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));align-items:stretch}
.bwp-card{height:100%;display:flex;flex-direction:column}
.bwp-card-body{display:flex;flex-direction:column;flex:1}
.bwp-card-actions{margin-top:auto;padding-top:16px}
.bwp-card-img{height:235px;overflow:hidden;display:block}
.bwp-card-gallery{position:relative;width:100%;height:100%;overflow:hidden;background:#edf1f6}
.bwp-card-gallery-track{display:flex;height:100%;width:calc(100% * var(--bwp-gallery-count,1));transform:translateX(0)}
.bwp-card-gallery-track img{width:calc(100% / var(--bwp-gallery-count,1));height:100%;object-fit:cover;flex:0 0 calc(100% / var(--bwp-gallery-count,1))}
.bwp-card-gallery.has-multiple .bwp-card-gallery-track{animation:bwpGallerySlide calc(var(--bwp-gallery-count,1) * 3.5s) infinite ease-in-out}
.bwp-photo-count{position:absolute;right:12px;bottom:12px;background:rgba(7,24,39,.82);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;backdrop-filter:blur(5px)}
@keyframes bwpGallerySlide{
  0%,16%{transform:translateX(0)}
  24%,36%{transform:translateX(calc(-100% / var(--bwp-gallery-count,1)))}
  44%,56%{transform:translateX(calc(-200% / var(--bwp-gallery-count,1)))}
  64%,76%{transform:translateX(calc(-300% / var(--bwp-gallery-count,1)))}
  84%,96%{transform:translateX(calc(-400% / var(--bwp-gallery-count,1)))}
  100%{transform:translateX(0)}
}
@media(max-width:900px){.bwp-card-img{height:225px}.bwp-main .bwp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:640px){.bwp-card-img{height:215px}.bwp-main .bwp-grid{grid-template-columns:1fr;gap:18px}.bwp-card{border-radius:18px}.bwp-card-body{padding:16px}.bwp-price{font-size:24px}}

/* v1.0.9: si una propiedad no tiene imagen real, no se usa bandera ni placeholder gráfico. */
.bwp-card-img .bwp-no-photo,.bwp-slide-media .bwp-no-photo{background:#edf1f6;color:#102033;display:grid;place-items:center;width:100%;height:100%;font-weight:900;}

/* v1.0.10: la imagen destacada/placeholder repetida queda como último recurso; las tarjetas priorizan fotos reales del listing. */
.bwp-no-photo{height:100%;min-height:180px;display:grid;place-items:center;background:#eef2f7;color:#627085;font-weight:900;text-align:center;padding:18px}


/* v1.0.18: móvil usa exactamente la galería real del listing; nunca usa fondos/placeholder de bandera. */
@media(max-width:640px){
  .bwp-card-img{height:215px!important;background:#edf1f6!important;overflow:hidden!important;}
  .bwp-card-img,.bwp-card-gallery,.bwp-card-gallery-track{display:block;}
  .bwp-card-gallery-track{display:flex!important;height:100%!important;}
  .bwp-card-gallery-track img,.bwp-card-img img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;background:transparent!important;}
  .bwp-card-img::before,.bwp-card-img::after,.bwp-card-gallery::before,.bwp-card-gallery::after{content:none!important;display:none!important;background-image:none!important;}
}


/* v1.0.19: precio visible e imágenes reales iguales en desktop y móvil */
.bwp-price{display:block!important;min-height:1.25em;color:var(--bwp-gold-2)!important;font-weight:900!important;visibility:visible!important;opacity:1!important}
.bwp-price:empty{display:none!important}
.bwp-card-gallery,.bwp-card-img{background:#edf1f6!important;background-image:none!important}
.bwp-card-gallery-track{display:flex!important;height:100%!important;width:calc(100% * var(--bwp-gallery-count,1))!important}
.bwp-card-gallery-track img{display:block!important;height:100%!important;width:calc(100% / var(--bwp-gallery-count,1))!important;flex:0 0 calc(100% / var(--bwp-gallery-count,1))!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;visibility:visible!important}
@media(max-width:640px){
  .bwp-card-img{height:215px!important;min-height:215px!important;display:block!important;position:relative!important;overflow:hidden!important;background-image:none!important}
  .bwp-card-gallery{display:block!important;height:100%!important;min-height:215px!important;overflow:hidden!important;background-image:none!important}
  .bwp-card-gallery-track{display:flex!important;height:100%!important;width:calc(100% * var(--bwp-gallery-count,1))!important}
  .bwp-card-gallery-track img{height:100%!important;width:calc(100% / var(--bwp-gallery-count,1))!important;flex:0 0 calc(100% / var(--bwp-gallery-count,1))!important;max-width:none!important;object-fit:cover!important;object-position:center center!important}
  .bwp-card .bwp-price{display:block!important;font-size:24px!important;line-height:1.2!important;margin-bottom:6px!important;color:var(--bwp-gold-2)!important}
}


/* v1.0.26: Fix móvil basado en v1.0.19. Conserva desktop y repara tarjetas que reciben bandera/placeholder en teléfonos. */
@media(max-width:640px){
  .bwp-card-img{display:block!important;height:215px!important;min-height:215px!important;overflow:hidden!important;background:#edf1f6!important;background-image:none!important;}
  .bwp-card-img > img,
  .bwp-card-gallery,
  .bwp-card-gallery-track{display:block!important;height:100%!important;min-height:215px!important;background-image:none!important;}
  .bwp-card-gallery-track{display:flex!important;width:calc(100% * var(--bwp-gallery-count,1))!important;}
  .bwp-card-gallery-track img,
  .bwp-card-img img,
  .bwp-mobile-fixed-img{display:block!important;height:100%!important;width:calc(100% / var(--bwp-gallery-count,1))!important;flex:0 0 calc(100% / var(--bwp-gallery-count,1))!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;visibility:visible!important;}
  .bwp-mobile-image-fixed .bwp-card-gallery-track{width:100%!important;}
  .bwp-mobile-image-fixed .bwp-card-gallery-track img{width:100%!important;flex:0 0 100%!important;}
  .bwp-card-img img[src*="bandera"],
  .bwp-card-img img[src*="flag"],
  .bwp-card-img img[src*="placeholder"],
  .bwp-card-img img[src*="fallback"]{display:none!important;}
}
