/* Naru CompiPisos v1.1.2 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ncp-font:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;--ncp-border:rgba(0,0,0,.08);--ncp-text:#2d2d2d;--ncp-muted:#717171;}

/* Widget */
.ncp-widget{--ncp-accent:#5c886b;position:fixed;width:420px;max-width:calc(100vw - 24px);border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 40px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);color:var(--ncp-text);font-family:var(--ncp-font);z-index:999999;display:flex;flex-direction:column;max-height:calc(100vh - 120px);}
.ncp-widget.ncp-full{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;}

/* Header */
.ncp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.6);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));flex-shrink:0;}
.ncp-hdr-left{flex:1;}
.ncp-title{font-weight:700;font-size:15px;color:var(--ncp-text);}
.ncp-subtitle{font-size:11px;color:var(--ncp-muted);margin-top:1px;}
.ncp-hdr-btns{display:flex;gap:5px;}
.ncp-hbtn{width:28px;height:28px;border-radius:7px;border:1px solid var(--ncp-border);background:rgba(255,255,255,.6);cursor:pointer;display:grid;place-items:center;color:var(--ncp-muted);font-size:14px;transition:.2s;line-height:1;}
.ncp-hbtn:hover{background:rgba(0,0,0,.05);color:var(--ncp-text);}

/* Display zone */
.ncp-display{position:relative;flex-shrink:0;overflow:hidden;min-height:260px;}
.ncp-canvas{display:block;width:100%;height:260px;}
.ncp-cards-zone{padding:12px;overflow-y:auto;max-height:320px;}
.ncp-cards-hdr{display:flex;align-items:center;gap:8px;padding:4px 4px 10px;font-size:13px;color:var(--ncp-muted);}
.ncp-cards-hdr strong{color:var(--ncp-accent);}

/* Property Cards */
.ncp-cards-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.ncp-cards-row::-webkit-scrollbar{height:4px;}
.ncp-cards-row::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:4px;}
.ncp-card{flex:0 0 195px;min-width:195px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 10px rgba(0,0,0,.06);text-decoration:none!important;color:inherit!important;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;scroll-snap-align:start;}
.ncp-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1);}
.ncp-card-img{position:relative;height:115px;overflow:hidden;background:#f0f5f1;}
.ncp-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.ncp-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:36px;opacity:.3;}
.ncp-card-cat{position:absolute;top:7px;left:7px;background:rgba(26,46,31,.8);color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;}
.ncp-card-body{padding:10px 12px;flex:1;display:flex;flex-direction:column;gap:2px;}
.ncp-card-title{font-size:13px;font-weight:600;color:var(--ncp-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;}
.ncp-card-loc{font-size:11px;color:var(--ncp-muted);}
.ncp-card-feats{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0;}
.ncp-card-feats span{font-size:10px;color:var(--ncp-muted);background:#f0f5f1;padding:1px 6px;border-radius:8px;}
.ncp-card-price{font-size:15px;font-weight:700;color:var(--ncp-accent);margin-top:auto;padding-top:3px;}
.ncp-card-btn{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;padding:8px;background:linear-gradient(135deg,var(--ncp-accent),#7bab8a);color:#fff!important;text-decoration:none!important;transition:opacity .2s;}
.ncp-card:hover .ncp-card-btn{opacity:.92;}

/* Fullscreen cards */
.ncp-widget.ncp-full .ncp-card{flex:0 0 230px;min-width:230px;}
.ncp-widget.ncp-full .ncp-card-img{height:160px;}
.ncp-widget.ncp-full .ncp-cards-zone{max-height:420px;}

/* Chat */
.ncp-chat{padding:12px 14px;flex:1;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--ncp-border);}
.ncp-messages{flex:1;overflow-y:auto;padding:4px 0;min-height:100px;max-height:200px;display:flex;flex-direction:column;gap:8px;}
.ncp-msg{display:flex;}.ncp-user{justify-content:flex-end;}.ncp-assistant{justify-content:flex-start;}
.ncp-bubble{max-width:85%;padding:10px 14px;border-radius:18px;font-size:13.5px;line-height:1.55;word-break:break-word;}
.ncp-user .ncp-bubble{background:linear-gradient(135deg,var(--ncp-accent),#7bab8a);color:#fff;border-bottom-right-radius:6px;}
.ncp-assistant .ncp-bubble{background:rgba(0,0,0,.04);color:var(--ncp-text);border-bottom-left-radius:6px;}
.ncp-bubble a{color:var(--ncp-accent);text-decoration:underline;}

/* Typing dots */
.ncp-dots{display:flex;gap:4px;align-items:center;padding:4px 0;}
.ncp-dots span{width:6px;height:6px;border-radius:50%;background:var(--ncp-accent);opacity:.4;animation:ncpBounce 1.2s ease infinite;}
.ncp-dots span:nth-child(2){animation-delay:.15s;}
.ncp-dots span:nth-child(3){animation-delay:.3s;}
@keyframes ncpBounce{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-6px);opacity:1;}}

/* Input row */
.ncp-form-row{margin-top:8px;display:flex;gap:8px;flex-shrink:0;}
.ncp-input{flex:1;padding:11px 14px;border-radius:14px;border:1px solid var(--ncp-border);background:rgba(255,255,255,.95);color:var(--ncp-text);font-family:var(--ncp-font);font-size:14px;outline:none;transition:border-color .2s;}
.ncp-input:focus{border-color:var(--ncp-accent);}
.ncp-input::placeholder{color:#aaa;}
.ncp-send{width:44px;height:44px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--ncp-accent),#7bab8a);color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .15s;flex-shrink:0;}
.ncp-send:hover{transform:scale(1.05);}
.ncp-send:active{transform:scale(.95);}

/* FAB */
.ncp-wrap{position:fixed;z-index:999998;}
.ncp-fab{width:62px;height:62px;border-radius:50%;border:none;background:linear-gradient(135deg,#fff,#f0f5f1);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 20px rgba(92,136,107,.25),0 2px 6px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s;}
.ncp-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(92,136,107,.35),0 2px 8px rgba(0,0,0,.1);}
.ncp-fab img{width:100%;height:100%;object-fit:cover;border-radius:50%;}

/* Positions */
.ncp-pos-bottom-right{right:20px;bottom:20px;}
.ncp-pos-bottom-left{left:20px;bottom:20px;}
.ncp-pos-top-right{right:20px;top:20px;}
.ncp-pos-top-left{left:20px;top:20px;}
.ncp-pos-bottom-right .ncp-widget{right:20px;bottom:90px;}
.ncp-pos-bottom-left .ncp-widget{left:20px;bottom:90px;}
.ncp-pos-top-right .ncp-widget{right:20px;top:90px;}
.ncp-pos-top-left .ncp-widget{left:20px;top:90px;}

/* Mobile */
@media(max-width:520px){
.ncp-widget{width:calc(100vw - 16px);border-radius:18px;max-height:calc(100vh - 100px);}
.ncp-canvas{height:180px;}
.ncp-messages{min-height:80px;max-height:160px;}
.ncp-card{flex:0 0 165px;min-width:165px;}
.ncp-card-img{height:95px;}
.ncp-card-title{font-size:12px;}
.ncp-card-price{font-size:13px;}
.ncp-cards-zone{max-height:230px;}
}

/* Fix definitivo para el cierre del widget */
.ncp-widget[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}