:root{
  --elx-blue:#06449b;
  --elx-blue-dark:#09213f;
  --elx-red:#df1730;
  --elx-soft:#f4f6fa;
  --elx-gray:#6b7280;
  --elx-line:#e5e7eb;
  --elx-card:#ffffff;
  --elx-green:#12b76a;
  --elx-gold:#f59e0b;
  --elx-shadow:0 18px 45px rgba(15,23,42,.12);
}
.elx10k-app *{box-sizing:border-box}
.elx10k-app{font-family:var(--elx-font-family, Arial, Helvetica, sans-serif);color:#0f172a;background:#f4f6fa;line-height:1.35;min-height:100vh}
.elx10k-app a{text-decoration:none;color:inherit}
.elx-top{background:var(--elx-blue);color:#fff;font-size:13px;min-height:22px;display:flex;align-items:center;justify-content:flex-end;padding:3px 22px;gap:18px}
.elx-header{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid #eee;position:sticky;top:0;z-index:700;box-shadow:0 2px 16px rgba(15,23,42,.06)}
.elx-logo{display:flex;align-items:center;gap:10px;font-weight:900;color:#050505;letter-spacing:-.03em;font-size:var(--elx-brand-size,28px);text-transform:uppercase;line-height:1.04}
.elx-logo-mark{width:var(--elx-logo-size,44px);height:var(--elx-logo-size,44px);border-radius:50%;background:linear-gradient(135deg,var(--elx-blue),var(--elx-red));display:flex;align-items:center;justify-content:center;color:#fff;font-size:calc(var(--elx-logo-size,44px) * .48);box-shadow:0 8px 22px rgba(6,68,155,.25)}
.elx-logo small{display:block;font-size:var(--elx-subtitle-size,12px);color:var(--elx-blue);letter-spacing:.12em;margin-top:2px;line-height:1.1}

.elx-brand-text{display:block;line-height:1.04}
.elx-logo-box{width:var(--elx-logo-size,52px);height:var(--elx-logo-size,52px);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--elx-line);box-shadow:0 8px 18px rgba(15,23,42,.12);flex:0 0 auto}
.elx-logo-img{width:100%;height:100%;object-fit:contain;display:block;padding:var(--elx-logo-padding,4px)}
.elx-logo.preview{display:inline-flex;background:#fff;border:1px dashed var(--elx-line);border-radius:10px;padding:12px;margin-top:10px}
.elx-logo-preview{background:#f8fafc;border:1px solid var(--elx-line);border-radius:12px;padding:14px}
.elx-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.elx-nav button,.elx-btn{border:0;padding:12px 15px;border-radius:4px;background:transparent;cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:#5a6070;transition:.2s}
.elx-nav button:hover,.elx-nav button.active{color:var(--elx-blue);background:#edf3ff}
.elx-nav .panel-btn{background:var(--elx-red);color:#fff;box-shadow:0 7px 18px rgba(223,23,48,.24)}
.elx-nav .admin-btn{background:var(--elx-blue);color:#fff;box-shadow:0 7px 18px rgba(6,68,155,.24)}
.elx-hero{min-height:360px;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)),url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=80') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;padding:44px 18px;color:#fff}
.elx-hero-inner{max-width:1180px;width:100%}
.elx-hero h1{font-size:32px;margin:0 0 12px;font-weight:900;color:#fff}
.elx-hero p{font-size:16px;margin:0 0 24px;color:#eef2ff}
.elx-quick-tabs{display:flex;justify-content:center;gap:0;margin-bottom:18px}
.elx-quick-tabs span,.elx-quick-tabs button{border:1px solid #fff;padding:10px 18px;background:rgba(0,0,0,.18);color:#fff;font-size:16px;cursor:pointer;appearance:none;border-radius:0;transition:.2s}
.elx-quick-tabs button:hover,.elx-quick-tabs button.active{background:var(--elx-red);border-color:var(--elx-red);box-shadow:0 8px 20px rgba(223,23,48,.25)}
.elx-searchbar{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr 1fr auto;max-width:1280px;margin:auto;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.2)}
.elx-searchbar select,.elx-searchbar input{height:54px;border:0;border-right:1px solid var(--elx-line);padding:0 15px;font-size:14px;background:#fff;color:#0f172a}
.elx-red-btn,.elx-blue-btn,.elx-green-btn,.elx-gray-btn{border:0;border-radius:7px;padding:13px 18px;font-weight:900;cursor:pointer;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}
.elx-red-btn{background:var(--elx-red)}.elx-blue-btn{background:var(--elx-blue)}.elx-green-btn{background:var(--elx-green)}.elx-gray-btn{background:#707782}
.elx-red-btn:hover,.elx-blue-btn:hover,.elx-green-btn:hover,.elx-gray-btn:hover{filter:brightness(.95);transform:translateY(-1px)}
.elx-section{padding:34px 22px;max-width:1560px;margin:auto}
.elx-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:26px;flex-wrap:wrap}
.elx-title h2{font-size:24px;margin:0 0 6px;font-weight:900;text-transform:uppercase;color:#3b3b3b}
.elx-title p{margin:0;color:#7b8494}.elx-title strong{color:var(--elx-blue);font-size:19px}
.elx-tools{display:flex;gap:8px;flex-wrap:wrap}.elx-tools button{border:0;border-radius:0;padding:13px 18px;background:#a3a3a3;color:#fff;font-weight:800;cursor:pointer}.elx-tools button:first-child{background:var(--elx-red)}
.elx-grid{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:28px}
.elx-card{background:#fff;border-radius:0;box-shadow:0 12px 32px rgba(15,23,42,.08);overflow:hidden;border:1px solid #f1f2f4;position:relative}
.elx-prop-img{height:268px;background:#ddd center/cover;position:relative}.elx-badge-id{position:absolute;right:18px;top:12px;background:#ee344b;color:#fff;border-radius:18px;padding:8px 20px;font-weight:800}.elx-type-badge{position:absolute;right:18px;bottom:10px;background:#004caf;color:#fff;border-radius:18px;padding:9px 22px;font-size:14px;text-transform:uppercase}
.elx-card-body{padding:22px 24px}.elx-price{font-size:18px;color:#004caf;margin:0 0 18px;line-height:1.45}.elx-location{color:#626a76;margin-bottom:26px}.elx-agent-line{color:#56606f;margin-bottom:24px;text-transform:uppercase;font-size:14px}.elx-metrics{display:flex;gap:18px;flex-wrap:wrap;color:#222;font-size:13px}.elx-metric{display:flex;align-items:center;gap:8px}.elx-iconcircle{width:36px;height:36px;border-radius:50%;background:#d7d7d7;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}
.elx-card-actions{padding:0 24px 22px;display:flex;gap:8px;flex-wrap:wrap}.elx-load-more-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:30px auto 6px}.elx-load-more-btn{border:0;border-radius:10px;background:var(--elx-blue);color:#fff;font-weight:900;font-size:16px;padding:15px 34px;cursor:pointer;box-shadow:0 12px 28px rgba(6,68,155,.24);transition:.2s;text-transform:uppercase;letter-spacing:.03em}.elx-load-more-btn:hover{filter:brightness(.95);transform:translateY(-1px)}.elx-load-more-wrap small{color:#64748b;font-weight:800}.elx-small-btn{border:0;border-radius:5px;padding:9px 11px;font-weight:800;cursor:pointer;background:#eef2ff;color:var(--elx-blue)}
.elx-agents-grid{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:30px}.elx-agent-card{background:#fff;text-align:center;padding:32px 24px;border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.08);min-height:380px}.elx-avatar{width:158px;height:158px;border-radius:50%;object-fit:cover;margin:0 auto 22px;border:8px solid #fff;box-shadow:0 10px 25px rgba(15,23,42,.15);background:#f3f3f3}.elx-agent-card h3{margin:0 0 8px;font-size:17px;text-transform:uppercase}.elx-agent-card p{margin:5px 0;color:#4b5563}.elx-contact-buttons{display:flex;justify-content:center;gap:12px;margin-top:18px}.elx-contact-buttons span{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.elx-whats{background:#16c55b}.elx-mail{background:#0784ca}.elx-call{background:#d6102a}
.elx-map{height:430px;border-radius:10px;overflow:hidden;border:1px solid #d9dee8;background:#dde8f0;z-index:1}.elx-map.large{height:520px}.elx-form-map{height:390px;margin-top:10px;border-radius:10px;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 22px rgba(15,23,42,.08)}
.elx-pin-icon{background:transparent;border:0}.elx-pin-icon .pin{width:32px;height:32px;background:var(--elx-red);border:4px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 8px 18px rgba(0,0,0,.28);display:block}.elx-pin-icon .pin:after{content:'';width:10px;height:10px;background:#fff;border-radius:50%;position:absolute;left:7px;top:7px}.elx-pin-icon .pulse{position:absolute;width:40px;height:40px;border:3px solid var(--elx-red);border-radius:50%;left:-4px;top:-4px;animation:elxPulse 1.5s infinite;opacity:.55}@keyframes elxPulse{0%{transform:scale(.7);opacity:.65}100%{transform:scale(1.45);opacity:0}}
.elx-panel-wrap{background:#07152d;min-height:calc(100vh - 90px);padding:42px 18px;color:#fff}.elx-panel-shell{max-width:1260px;margin:auto;display:grid;grid-template-columns:270px 1fr;gap:22px}.elx-sidebar{background:#14223a;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px;box-shadow:var(--elx-shadow);align-self:start;position:sticky;top:96px}.elx-sidebar h3{margin:0 0 18px}.elx-side-btn{display:block;width:100%;text-align:left;border:0;background:transparent;color:#cbd5e1;padding:14px;border-radius:9px;cursor:pointer;font-weight:900;margin-bottom:5px}.elx-side-btn.active,.elx-side-btn:hover{background:var(--elx-red);color:#fff}.elx-panel-card{background:#fff;color:#081226;border-radius:18px;box-shadow:var(--elx-shadow);overflow:hidden}.elx-panel-head{padding:24px 28px;border-bottom:1px solid var(--elx-line);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.elx-panel-head h2{margin:0;font-size:25px}.elx-panel-body{padding:26px}.elx-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:20px}.elx-panel-grid.three{grid-template-columns:repeat(3,minmax(200px,1fr))}.elx-box{border:1px solid var(--elx-line);border-radius:15px;padding:20px;background:#fff}.elx-box h3{margin:0 0 14px}.elx-stat{display:flex;justify-content:space-between;padding:12px 10px;border-bottom:1px solid var(--elx-line);background:#fafafa}.elx-stat:last-child{border-bottom:0}.elx-login{max-width:480px;margin:45px auto;background:#fff;color:#081226;border-radius:18px;padding:26px;box-shadow:var(--elx-shadow)}.elx-login h2{margin-top:0}.elx-field{margin-bottom:14px}.elx-field label{display:block;font-weight:800;margin-bottom:6px}.elx-field input,.elx-field select,.elx-field textarea{width:100%;border:1px solid #d7dce5;border-radius:8px;padding:12px 12px;font-size:14px;background:#fff;color:#081226}.elx-field textarea{min-height:90px}.elx-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.elx-form-grid.three{grid-template-columns:repeat(3,minmax(160px,1fr))}.elx-help{font-size:13px;color:#64748b}.elx-alert{background:#ecfdf3;border:1px solid #abefc6;color:#067647;padding:12px 14px;border-radius:9px;font-weight:800;margin:12px 0}.elx-warning{background:#fff8e6;border:1px solid #fedf89;color:#92400e;padding:12px 14px;border-radius:9px;font-weight:800;margin:12px 0}.elx-error{background:#fff1f3;border:1px solid #fecdd3;color:#be123c;padding:12px 14px;border-radius:9px;font-weight:800;margin:12px 0}.elx-table-wrap{overflow:auto}.elx-table{width:100%;border-collapse:collapse;background:#fff}.elx-table th,.elx-table td{border-bottom:1px solid var(--elx-line);padding:11px;text-align:left;font-size:13px}.elx-table th{background:#f7f9fc;font-weight:900}.elx-status{display:inline-flex;align-items:center;border-radius:18px;padding:5px 10px;font-size:12px;font-weight:900}.elx-status.on{background:#dcfce7;color:#166534}.elx-status.off{background:#fee2e2;color:#991b1b}.elx-status.gold{background:#fff7ed;color:#9a3412}.elx-detail{background:#fff}.elx-detail-hero{height:560px;background:#ddd center/cover;position:relative}.elx-detail-content{display:grid;grid-template-columns:1fr 340px;gap:28px;max-width:1350px;margin:auto;padding:32px 22px}.elx-detail h1{font-size:26px;color:var(--elx-blue);margin:12px 0}.elx-detail-price{font-size:22px;color:var(--elx-red);font-weight:900}.elx-detail-agent{background:#fff;border:1px solid var(--elx-line);box-shadow:var(--elx-shadow);border-radius:15px;padding:24px;text-align:center;align-self:start;position:sticky;top:100px}.elx-bottom-bar{background:#0b1b35;color:#fff;text-align:center;padding:22px}.elx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.elx-tabs button{border:1px solid var(--elx-line);background:#fff;border-radius:8px;padding:10px 12px;font-weight:900;cursor:pointer}.elx-tabs button.active{background:var(--elx-blue);color:#fff}.elx-tree{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:16px}.elx-node{padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin:8px 0}.elx-float-actions{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:800}.elx-float-actions button{width:54px;height:54px;border-radius:50%;border:0;color:#fff;background:var(--elx-blue);font-size:20px;box-shadow:0 12px 26px rgba(15,23,42,.24);cursor:pointer}.elx-float-actions button:last-child{background:var(--elx-green)}
.elx-image-preview{width:100%;height:170px;border:1px dashed #cbd5e1;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f8fafc;background-size:cover;background-position:center;color:#64748b;font-weight:800;text-align:center;padding:10px}.elx-coords{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.elx-coords span{background:#eef2ff;color:var(--elx-blue);border-radius:8px;padding:8px 10px;font-weight:800}.elx-membership-list{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.elx-member-card{padding:16px;border-radius:13px;border:1px solid var(--elx-line);background:#fff}.elx-member-card.active{border-color:#86efac;background:#f0fdf4}.elx-member-card h4{margin:0 0 8px}.elx-member-card strong{font-size:20px;color:var(--elx-blue)}
@media(max-width:1100px){.elx-grid{grid-template-columns:repeat(2,1fr)}.elx-agents-grid{grid-template-columns:repeat(2,1fr)}.elx-searchbar{grid-template-columns:1fr 1fr}.elx-panel-shell{grid-template-columns:1fr}.elx-sidebar{position:static}.elx-detail-content{grid-template-columns:1fr}.elx-detail-agent{position:static}.elx-panel-grid,.elx-panel-grid.three,.elx-form-grid,.elx-form-grid.three{grid-template-columns:1fr}.elx-membership-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.elx-header{align-items:flex-start;gap:14px;flex-direction:column}.elx-nav{justify-content:flex-start}.elx-grid,.elx-agents-grid,.elx-membership-list{grid-template-columns:1fr}.elx-searchbar{grid-template-columns:1fr}.elx-hero h1{font-size:25px}.elx-detail-hero{height:340px}.elx-top{justify-content:flex-start;flex-wrap:wrap}.elx-section{padding:25px 14px}.elx-panel-body{padding:18px}.elx-panel-wrap{padding:25px 10px}}

/* FULL WIDTH FIX 2.0.1
   Rompe el ancho limitado del tema de WordPress para que el portal cubra toda la pantalla. */
body .elx10k-app,
body .elx10k-app.elx10k-fullscreen{
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
}
body .elx10k-app.elx10k-fullscreen .elx-top,
body .elx10k-app.elx10k-fullscreen .elx-header,
body .elx10k-app.elx10k-fullscreen .elx-hero,
body .elx10k-app.elx10k-fullscreen .elx-panel-wrap,
body .elx10k-app.elx10k-fullscreen .elx-detail,
body .elx10k-app.elx10k-fullscreen .elx-bottom-bar{
  width:100% !important;
  max-width:none !important;
}
body .elx10k-app.elx10k-fullscreen .elx-section{
  width:100% !important;
  max-width:1600px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body .elx10k-app.elx10k-fullscreen .elx-header,
body .elx10k-app.elx10k-fullscreen .elx-top{
  left:0 !important;
  right:0 !important;
}
body .entry-content:has(.elx10k-app),
body .wp-block-post-content:has(.elx10k-app),
body .site-main:has(.elx10k-app),
body .content-area:has(.elx10k-app){
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* YOUTUBE VIDEO FIX 2.2.0 */
.elx-video-section{padding:34px 22px;background:#fff}
.elx-video-wrap{max-width:1180px;margin:0 auto}
.elx-video-box{position:relative;width:100%;padding-top:56.25%;background:#07152d;border-radius:16px;overflow:hidden;box-shadow:0 18px 45px rgba(15,23,42,.18);border:1px solid var(--elx-line)}
.elx-video-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.elx-video-box.small{margin-top:12px;border-radius:12px;box-shadow:0 10px 25px rgba(15,23,42,.12)}
.elx-field small{display:block;margin-top:6px;color:#64748b;line-height:1.35}

/* ADMIN PORTAL PUBLICATION + YOUTUBE PREVIEW FIX 2.3.0 */
.elx-video-admin-preview{margin-top:10px}
.elx-published-pill{display:inline-flex;align-items:center;gap:6px;background:#dcfce7;color:#166534;border-radius:999px;padding:6px 10px;font-weight:900;font-size:12px;margin-left:8px}
.elx-youtube-help{margin-top:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:10px;padding:12px 14px;font-weight:700;line-height:1.45}
.elx-portal-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}


/* HEADER BUTTONS + HERO YOUTUBE BACKGROUND FIX 2.4.0 */
.elx-header{gap:18px;flex-wrap:wrap}
.elx-logo{flex:0 1 auto;min-width:260px}
.elx-nav{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1 1 600px;flex-wrap:wrap}
.elx-menu-links{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.elx-panel-nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;flex:0 0 auto}
.elx-panel-nav-actions button{white-space:nowrap;margin:0!important}
.elx-panel-nav-actions .panel-btn,.elx-panel-nav-actions .admin-btn{min-width:168px;text-align:center}
.elx-hero{position:relative;overflow:hidden;background-position:center;background-size:cover}
.elx-hero.has-video{background:#07152d!important}
.elx-hero.has-video:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.62);z-index:1;pointer-events:none}
.elx-hero-inner{position:relative;z-index:2}
.elx-hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#07152d;pointer-events:none}
.elx-hero-video-bg iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-width:177.78vh;min-height:100%;transform:translate(-50%,-50%);border:0;max-width:none!important;max-height:none!important}
.elx-video-note{display:inline-flex;margin-top:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;backdrop-filter:blur(6px)}
@media(max-width:960px){.elx-nav{justify-content:flex-start}.elx-menu-links{justify-content:flex-start}.elx-panel-nav-actions{width:100%;justify-content:flex-start}.elx-panel-nav-actions .panel-btn,.elx-panel-nav-actions .admin-btn{min-width:150px}}
@media(max-width:520px){.elx-panel-nav-actions{flex-wrap:wrap}.elx-panel-nav-actions .panel-btn,.elx-panel-nav-actions .admin-btn{width:100%;min-width:0}.elx-logo{min-width:0}}

/* HERO BRIGHTNESS / DARKNESS CONTROL 2.5.0 */
.elx-hero:not(.has-video){background:#07152d!important}
.elx-hero:not(.has-video):before{content:'';position:absolute;inset:0;background:var(--elx-hero-image) center/cover no-repeat;filter:brightness(var(--elx-hero-brightness,100%));transform:scale(1.02);z-index:0;pointer-events:none}
.elx-hero:not(.has-video):after{content:'';position:absolute;inset:0;background:rgba(0,0,0,var(--elx-hero-overlay,.55));z-index:1;pointer-events:none}
.elx-hero.has-video:after{background:rgba(0,0,0,var(--elx-hero-overlay,.62))!important}
.elx-hero-video-bg iframe{filter:brightness(var(--elx-hero-brightness,100%))}
.elx-field input[type="range"]{padding:0;height:34px;accent-color:var(--elx-red);cursor:pointer}

/* ADMIN VISUAL LIGHT BOX */
.elx-visual-light-box{grid-column:1/-1;background:linear-gradient(135deg,#fff7db,#e9f3ff);border:1px solid #d9e4f2;border-radius:14px;padding:14px 16px;margin-top:4px}
.elx-visual-light-box h3{margin:0 0 4px;font-size:20px;color:#07152d}
.elx-visual-light-box p{margin:0;color:#475569;font-weight:700}

/* PROPERTY MEDIA 2.7.0: hasta 10 fotos, carrusel con mouse y video hasta 50 MB */
.elx-prop-img{background:#0b1b35!important;overflow:hidden!important;position:relative!important}
.elx-prop-img .elx-badge-id,.elx-prop-img .elx-type-badge{z-index:5}
.elx-carousel{position:relative;width:100%;height:100%;overflow:hidden;background:#07152d;border-radius:inherit}
.elx-carousel-track{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;cursor:grab;scrollbar-width:none;touch-action:pan-y;user-select:none}
.elx-carousel-track::-webkit-scrollbar{display:none}
.elx-carousel-track.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.elx-carousel-slide{flex:0 0 100%;height:100%;scroll-snap-align:center;background:#07152d}
.elx-carousel-slide img{display:block;width:100%;height:100%;object-fit:cover;user-select:none;pointer-events:none}
.elx-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(8,18,38,.72);color:#fff;font-size:30px;line-height:34px;font-weight:900;z-index:6;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.elx-carousel-btn.prev{left:10px}.elx-carousel-btn.next{right:10px}
.elx-carousel-btn:hover{background:rgba(228,18,50,.92)}
.elx-carousel-count{position:absolute;left:12px;top:12px;background:rgba(8,18,38,.74);color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;z-index:6}
.elx-carousel-card{height:100%}
.elx-detail-gallery{background:#fff;padding:22px 22px 0}
.elx-carousel-detail{height:560px;max-width:1280px;margin:auto;border-radius:16px;box-shadow:var(--elx-shadow);border:1px solid var(--elx-line)}
.elx-carousel-detail .elx-carousel-btn{width:52px;height:52px;font-size:42px;line-height:47px;background:rgba(8,18,38,.65)}
.elx-property-video{background:#07152d;border-radius:16px;overflow:hidden;border:1px solid var(--elx-line);box-shadow:0 12px 32px rgba(15,23,42,.16);margin:10px 0 20px}
.elx-property-video video{display:block;width:100%;max-height:480px;background:#07152d}
.elx-media-field small{display:block;margin-top:6px;color:#64748b;font-weight:700;line-height:1.35}
.elx-images-preview{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;min-height:112px;border:1px dashed #cbd5e1;border-radius:12px;padding:8px;background:#f8fafc;color:#64748b;font-weight:800;align-items:center;justify-content:center;text-align:center}
.elx-thumb,.elx-thumb-loading{height:92px;border-radius:10px;background:#e2e8f0 center/cover no-repeat;border:1px solid #cbd5e1;display:flex;align-items:center;justify-content:center;color:#334155;font-size:12px;font-weight:900;overflow:hidden}
.elx-thumb-loading{background:linear-gradient(135deg,#e2e8f0,#f8fafc)}
.elx-video-preview{min-height:60px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:8px;color:#64748b;font-weight:800}
.elx-video-preview video{display:block;width:100%;max-height:220px;border-radius:10px;background:#07152d;margin-bottom:6px}
.elx-video-preview small{display:block;color:#334155;font-weight:700}
@media(max-width:820px){.elx-images-preview{grid-template-columns:repeat(2,1fr)}.elx-carousel-detail{height:360px}.elx-detail-gallery{padding:12px}.elx-carousel-detail .elx-carousel-btn{width:42px;height:42px;font-size:34px}}

/* Buscador y ordenador activos */
.elx-filter-panel{margin:18px 0 26px;background:#fff;border:1px solid var(--elx-line);border-radius:16px;padding:18px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.elx-filter-panel .elx-form-grid{margin-bottom:12px}
.elx-filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.elx-filter-summary{font-size:13px;color:#64748b;margin-top:6px}
.elx-empty-results{grid-column:1/-1;background:#fff;border-radius:16px;padding:28px;border:1px solid var(--elx-line);text-align:center;color:#334155}
.elx-tools button{transition:.18s transform ease,.18s box-shadow ease,.18s opacity ease}
.elx-tools button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.18);opacity:.95}
.elx-tools button[data-sort-toggle]{background:#8f8f8f}
.elx-tools button[data-open-filters]{background:var(--elx-red)}
.elx-filter-panel input,.elx-filter-panel select{width:100%;height:44px;border:1px solid var(--elx-line);border-radius:9px;padding:0 12px;background:#fff}

/* FIX 2.7.4: alinear fotos y video de propiedad en el panel asesor */
.elx-media-row{
  display:grid;
  grid-template-columns: minmax(320px,1fr) minmax(320px,1fr);
  gap:18px;
  align-items:start;
  margin:6px 0 18px;
}
.elx-media-row .elx-field{margin-bottom:0;align-self:start}
.elx-video-field-top{align-self:start!important;margin-top:0!important}
.elx-media-row .elx-images-preview,
.elx-media-row .elx-video-preview{min-height:118px}
@media(max-width:900px){.elx-media-row{grid-template-columns:1fr}}


/* GEOLOCATION SEARCH + FULLSCREEN IMAGE LIGHTBOX 3.0.0 */
.elx-geo-line{font-size:12px;color:#475569;margin:8px 0 10px;line-height:1.35;font-weight:800}
.elx-geo-line small{display:block;color:#64748b;font-weight:700;margin-top:3px}
.elx-location-search-field{grid-column:1/-1}
.elx-location-search-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.elx-location-search-row input{height:46px!important}
.elx-geocode-results{grid-column:1/-1;display:grid;gap:8px;margin-top:10px}
.elx-geo-result{border:1px solid #d6deea;background:#fff;border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;color:#102036;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.elx-geo-result:hover{border-color:var(--elx-blue);background:#f1f7ff;transform:translateY(-1px)}
.elx-geo-result strong{display:block;font-size:14px;color:#07152d;margin-bottom:3px}
.elx-geo-result small{display:block;font-size:12px;color:#64748b;line-height:1.35}
.elx-geo-result span{display:block;margin-top:5px;color:#004aad;font-weight:900;font-size:12px}
.elx-geo-selected,.elx-geo-loading,.elx-geo-empty{border-radius:12px;padding:10px 12px;background:#ecfdf5;color:#064e3b;border:1px solid #bbf7d0;font-weight:800;line-height:1.35}
.elx-geo-empty{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.elx-geo-loading{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.elx-carousel-slide img{cursor:zoom-in;pointer-events:auto!important}
.elx-lightbox{position:fixed;inset:0;background:rgba(4,11,26,.92);z-index:999999;display:flex;align-items:center;justify-content:center;padding:28px;flex-direction:column;gap:10px;backdrop-filter:blur(4px)}
.elx-lightbox img{display:block;max-width:96vw;max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.55);background:#fff}
.elx-lightbox small{color:#e5edf8;font-weight:800;text-align:center}.elx-lightbox-close{position:absolute;top:18px;right:22px;width:48px;height:48px;border:0;border-radius:50%;background:#e41232;color:#fff;font-size:34px;line-height:44px;font-weight:900;cursor:pointer;box-shadow:0 12px 34px rgba(0,0,0,.35)}
.elx-lightbox-close:hover{background:#004aad}
@media(max-width:680px){.elx-location-search-row{grid-template-columns:1fr}.elx-lightbox{padding:12px}.elx-lightbox img{max-width:98vw;max-height:82vh}}


/* FIX 3.0.1: imagen de propiedad realmente completa al hacer clic */
.elx-carousel-slide{position:relative!important;cursor:zoom-in!important}
.elx-carousel-slide img{cursor:zoom-in!important;pointer-events:auto!important}
.elx-zoom-photo{position:absolute;right:14px;bottom:14px;z-index:9;border:0;border-radius:999px;background:rgba(7,21,45,.86);color:#fff;font-weight:900;padding:10px 14px;box-shadow:0 12px 28px rgba(0,0,0,.25);cursor:pointer;backdrop-filter:blur(4px)}
.elx-zoom-photo:hover{background:#e41232;transform:translateY(-1px)}
.elx-no-scroll{overflow:hidden!important}
.elx-lightbox{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:rgba(0,0,0,.96)!important;z-index:2147483647!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;flex-direction:column!important;gap:0!important;backdrop-filter:none!important;box-sizing:border-box!important}
.elx-lightbox-stage{position:relative!important;width:100vw!important;height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important;overflow:hidden!important}
.elx-lightbox-stage img,.elx-lightbox img{display:block!important;width:auto!important;height:auto!important;max-width:calc(100vw - 36px)!important;max-height:calc(100vh - 36px)!important;object-fit:contain!important;object-position:center center!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.elx-lightbox-close{position:fixed!important;top:18px!important;right:22px!important;z-index:2147483647!important;width:54px!important;height:54px!important;border:0!important;border-radius:50%!important;background:#e41232!important;color:#fff!important;font-size:38px!important;line-height:48px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 14px 38px rgba(0,0,0,.55)!important}
.elx-lightbox-help{position:fixed!important;left:50%!important;bottom:18px!important;transform:translateX(-50%)!important;background:rgba(7,21,45,.72)!important;color:#fff!important;border-radius:999px!important;padding:8px 14px!important;font-weight:800!important;font-size:13px!important;z-index:2147483647!important;text-align:center!important;max-width:calc(100vw - 40px)!important}
@media(max-width:680px){.elx-lightbox-stage{padding:8px!important}.elx-lightbox-stage img,.elx-lightbox img{max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}.elx-lightbox-close{top:10px!important;right:10px!important}.elx-lightbox-help{font-size:11px!important;bottom:8px!important}.elx-zoom-photo{right:8px;bottom:8px;padding:8px 10px;font-size:12px}}

/* FIX 3.0.2: boton Ver completa y visor con carrusel de imagenes */
.elx-zoom-photo{pointer-events:auto!important;user-select:none!important;touch-action:manipulation!important}
.elx-lightbox-stage{cursor:grab!important}
.elx-lightbox-stage:active{cursor:grabbing!important}
.elx-lightbox-nav{position:fixed!important;top:50%!important;transform:translateY(-50%)!important;z-index:2147483647!important;width:62px!important;height:62px!important;border:0!important;border-radius:50%!important;background:rgba(228,18,50,.92)!important;color:#fff!important;font-size:54px!important;line-height:54px!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 14px 42px rgba(0,0,0,.45)!important;display:flex!important;align-items:center!important;justify-content:center!important}
.elx-lightbox-nav.prev{left:22px!important}.elx-lightbox-nav.next{right:22px!important}
.elx-lightbox-nav:hover{background:#004aad!important}
.elx-lightbox-counter{position:fixed!important;top:22px!important;left:50%!important;transform:translateX(-50%)!important;background:rgba(7,21,45,.82)!important;color:#fff!important;border-radius:999px!important;padding:9px 16px!important;font-weight:900!important;z-index:2147483647!important;box-shadow:0 10px 30px rgba(0,0,0,.35)!important}
.elx-lightbox-thumbs{position:fixed!important;left:50%!important;bottom:58px!important;transform:translateX(-50%)!important;z-index:2147483647!important;display:flex!important;gap:10px!important;max-width:calc(100vw - 60px)!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px!important;background:rgba(7,21,45,.56)!important;border-radius:18px!important;scrollbar-width:thin!important;box-sizing:border-box!important}
.elx-lightbox-thumb{flex:0 0 auto!important;width:92px!important;height:58px!important;border:2px solid transparent!important;border-radius:10px!important;padding:0!important;background:transparent!important;cursor:pointer!important;overflow:hidden!important;opacity:.72!important}
.elx-lightbox-thumb.active{border-color:#e41232!important;opacity:1!important;box-shadow:0 0 0 2px rgba(255,255,255,.65)!important}
.elx-lightbox-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:8px!important;max-width:none!important;max-height:none!important;background:#07152d!important}
@media(max-width:680px){.elx-lightbox-nav{width:44px!important;height:44px!important;font-size:38px!important;line-height:38px!important}.elx-lightbox-nav.prev{left:8px!important}.elx-lightbox-nav.next{right:8px!important}.elx-lightbox-thumbs{bottom:42px!important;max-width:calc(100vw - 20px)!important}.elx-lightbox-thumb{width:70px!important;height:46px!important}.elx-lightbox-help{display:none!important}.elx-lightbox-counter{top:12px!important;font-size:12px!important}}

/* Precio visible sobre el pin GPS de cada propiedad */
.elx-price-tooltip{
  background:#e71336 !important;
  border:0 !important;
  border-radius:999px !important;
  color:#fff !important;
  font-weight:900 !important;
  font-size:13px !important;
  line-height:1 !important;
  padding:8px 12px !important;
  box-shadow:0 8px 20px rgba(0,0,0,.24) !important;
  white-space:nowrap !important;
}
.elx-price-tooltip:before{ border-top-color:#e71336 !important; }
.elx-map-popup{ min-width:190px; font-family:inherit; }
.elx-map-popup strong{ display:block; color:#10213a; margin-bottom:4px; }
.elx-map-popup-price{
  display:inline-block;
  background:#e71336;
  color:#fff;
  font-weight:900;
  border-radius:999px;
  padding:5px 10px;
  margin:3px 0 6px;
}
.elx-map-popup-location{ color:#1d3557; font-weight:700; }
.elx-map-popup-geo{ color:#61708a; font-size:12px; margin-top:2px; }
.elx-map-popup button{ margin-top:8px; border:0; border-radius:8px; background:#0b4aa2; color:#fff; font-weight:800; padding:7px 10px; cursor:pointer; }

/* Selector de mapa calle / satelital */
.elx-map-switch-note{background:#eff6ff;border:1px solid #bfdbfe;color:#0f3b73;border-radius:12px;padding:9px 12px;margin:8px 0 10px;font-weight:800;font-size:13px}
.elx-app .leaflet-control-layers{border:0!important;border-radius:14px!important;box-shadow:0 12px 34px rgba(15,23,42,.20)!important;overflow:hidden!important;font-family:inherit!important}
.elx-app .leaflet-control-layers-expanded{padding:10px 12px!important;background:#fff!important}
.elx-app .leaflet-control-layers-base label{display:block!important;margin:5px 0!important;font-size:13px!important;font-weight:900!important;color:#0b1b32!important}
.elx-app .leaflet-control-layers-base input{margin-right:7px!important}

/* Selector de mapa calles / satelital visible */
.elx-map-mode-control{display:flex!important;gap:6px!important;background:rgba(255,255,255,.96)!important;border-radius:14px!important;padding:7px!important;box-shadow:0 12px 34px rgba(15,23,42,.22)!important;border:1px solid rgba(15,23,42,.08)!important}
.elx-map-mode-btn{border:0!important;border-radius:10px!important;padding:9px 11px!important;font-weight:900!important;font-size:13px!important;cursor:pointer!important;background:#eef2f7!important;color:#0b1b35!important;box-shadow:none!important;line-height:1!important}
.elx-map-mode-btn.active{background:#e41232!important;color:#fff!important}
.elx-map-mode-btn:hover{filter:brightness(.96)!important}
.elx-app .leaflet-control-layers{margin-top:54px!important}


/* Aviso flotante no destructivo: evita que un mensaje de guardado/georreferencia reinicie el formulario. */
.elx-toast-live{
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(20px);
  background: #0b1b34;
  color: #fff;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  border-radius: 14px;
  padding: 14px 18px;
  max-width: min(720px, calc(100vw - 32px));
  font-weight: 800;
  z-index: 999999;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.elx-toast-live.show{
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* Foto del asesor al crear panel privado desde administrador */
.elx-agent-photo-preview{
  width:112px;
  height:112px;
  border-radius:50%;
  overflow:hidden;
  border:4px solid #fff;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  background:#eef2f7;
  display:flex;
  align-items:center;
  justify-content:center;
}
.elx-agent-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* FOTO DE ASESOR VISIBLE EN ADMIN 3.3.1 */
.elx-admin-agent-photo-card{
  display:grid;
  grid-template-columns:132px minmax(260px,1fr);
  gap:18px;
  align-items:center;
  margin:0 0 18px;
  padding:16px;
  border:2px dashed #c7d7ee;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff,#ffffff);
}
.elx-agent-photo-preview-big,
.elx-agent-photo-preview{
  width:120px;
  height:120px;
  border-radius:50%;
  overflow:hidden;
  border:4px solid #fff;
  box-shadow:0 12px 28px rgba(6,68,155,.22);
  background:#eef2f7;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.elx-agent-photo-preview-big img,
.elx-agent-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.elx-agent-photo-inputs .elx-field{margin-bottom:10px}
.elx-agent-photo-inputs input[type="file"]{
  padding:10px;
  background:#fff;
  border:1px solid #ccd7e6;
}
.elx-create-agent-grid{margin-top:4px}
@media(max-width:760px){
  .elx-admin-agent-photo-card{grid-template-columns:1fr;text-align:center;justify-items:center}
  .elx-agent-photo-inputs{width:100%;text-align:left}
}

/* Perfil editable del asesor y foto visible en administrador */
.elx-admin-agent-photo-visible{
  position:relative;
  grid-template-columns:140px minmax(260px,1fr) !important;
  border:3px solid #0b4aa2 !important;
  background:linear-gradient(135deg,#eef6ff,#ffffff) !important;
  box-shadow:0 12px 30px rgba(6,68,155,.13);
}
.elx-admin-photo-head{
  grid-column:1 / -1;
  display:block;
  font-size:20px;
  font-weight:900;
  color:#07234a;
  margin-bottom:4px;
}
.elx-admin-agent-photo-visible input[type="file"],
.elx-profile-photo-block input[type="file"]{
  display:block !important;
  width:100% !important;
  min-height:50px;
  padding:12px !important;
  border:2px dashed #0b4aa2 !important;
  border-radius:12px;
  background:#fff !important;
  color:#061a38 !important;
  cursor:pointer;
}
.elx-profile-editor{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:24px;
  align-items:start;
}
.elx-profile-photo-block{
  border:2px dashed #c7d7ee;
  border-radius:18px;
  padding:18px;
  background:linear-gradient(135deg,#f8fbff,#fff);
  text-align:center;
  position:sticky;
  top:14px;
}
.elx-upload-title{
  display:block;
  margin:14px 0 8px;
  font-weight:900;
  color:#082a58;
}
.elx-profile-fields textarea,
.elx-field textarea{
  width:100%;
  border:1px solid #d3dce9;
  border-radius:12px;
  padding:12px 14px;
  font:inherit;
  min-height:110px;
  resize:vertical;
}
.elx-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.elx-span-2{grid-column:1 / -1;}
@media(max-width:860px){
  .elx-profile-editor{grid-template-columns:1fr;}
  .elx-profile-photo-block{position:static;}
  .elx-form-grid.two{grid-template-columns:1fr;}
}

.elx-featured-badge{position:absolute;left:14px;top:12px;z-index:6;background:linear-gradient(135deg,#f7c948,#b7791f);color:#081526;border-radius:18px;padding:8px 16px;font-weight:1000;font-size:12px;box-shadow:0 8px 20px rgba(0,0,0,.22);letter-spacing:.04em}
.elx-normal-badge{position:absolute;left:14px;top:12px;z-index:6;background:rgba(15,23,42,.72);color:#fff;border-radius:18px;padding:8px 16px;font-weight:900;font-size:12px;box-shadow:0 8px 20px rgba(0,0,0,.18);letter-spacing:.04em}
.elx-card-rank{display:inline-block;background:#fff3cd;color:#7a4b00;border:1px solid #f7d070;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:900;margin-right:7px;vertical-align:middle;text-transform:uppercase}.elx-card-rank.normal{background:#eef2ff;color:#25408f;border-color:#c7d2fe}
