:root{
  --bg:#fef6ff; --ink:#1b1630; --muted:#6c6881; --line:rgba(44,42,95,.15);
  --accent:#2c2a5f; --brand:#d9125e; --card:#ffffff;
  --radius:16px; --shadow:0 8px 24px rgba(44,42,95,.10);
}
*{box-sizing:border-box}
.nvpro-wrap{width:100%;background:var(--bg);border-radius:18px;overflow:hidden;border:1px solid rgba(44,42,95,.1);box-shadow:var(--shadow);}
.nvpro-wrap.expanded{
  position: static;
  inset: auto;
  width: 100%;
  height: auto !important;
  max-height: 100vh !important;
  z-index: auto;
  border-radius: var(--radius);
}
.nvpro-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,0));color:var(--accent)}
.nvpro-sub{font-size:12px;color:var(--muted);white-space:nowrap;margin-left:auto; margin-right:auto; /* mantiene una sola línea */}
.nvpro-xbtn{margin-left:auto;background:#fff;border:1px solid rgba(44,42,95,.2);border-radius:10px;padding:6px 10px;cursor:pointer;color:#2c2a5f;font-weight:700}

.nvpro-stream{overflow:auto;padding:12px;max-height:50vh}
.nvpro-empty{color:var(--muted);text-align:center;padding:18px}

.nvpro-item{background:var(--card);border:1px solid rgba(44,42,95,.12);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px;margin:10px 0}
.nvpro-row{display:grid;grid-template-columns:auto 1fr;gap:10px}
.nvpro-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:#ece7ff}
.nvpro-avatar.small{width:28px;height:28px}
.nvpro-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.nvpro-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nvpro-who{font-weight:700;color:var(--accent);font-size:14px}
.nvpro-time{font-size:12px;color:var(--muted)}
.nvpro-text{margin-top:6px;line-height:1.6}
.nvpro-replylink{font-size:12px;color:#3a325f;text-decoration:none;border-bottom:1px dotted rgba(44,42,95,.25);margin-left:auto}

.nvpro-media{margin-top:8px;border-radius:12px;overflow:hidden}
.nvpro-media img{max-width:100%;height:auto;display:block}
.nvpro-media video{width:100%;height:auto;display:block;border:0}

.nvpro-replies{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.nvpro-reply{background:var(--card);border:1px solid rgba(44,42,95,.12);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 12px}
.nvpro-reply .nvpro-row{grid-template-columns:auto 1fr}

.nvpro-footer{border-top:1px solid var(--line);padding:10px;background:linear-gradient(0deg, rgba(255,255,255,.9), rgba(255,255,255,0));backdrop-filter: blur(6px)}
.nvpro-composer{display:flex;align-items:center;gap:10px}
.nvpro-inline{display:flex;align-items:center;gap:10px;flex:1}
.nvpro-inline textarea{flex:1;min-height:44px;max-height:200px;resize:none;border:2px solid rgba(44,42,95,.15);border-radius:12px;padding:10px 12px;font-size:15px;line-height:1.5;background:#fff}
.nvpro-file input{display:none}
.nvpro-file{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(44,42,95,.15);border-radius:10px;padding:6px 10px;cursor:pointer;background:#fff;color:#2c2a5f;font-weight:700}
.nvpro-btn{background:#d9125e;color:white;border:0;padding:8px 12px;border-radius:10px;font-weight:800;cursor:pointer}
.nvpro-guest textarea[readonly]{background:#fff;color:#6c6881;cursor:pointer}
.nvpro-guest .nvpro-btn{background:#2c2a5f}

/* v2.2.1 icon-only controls */
.nvpro-xbtn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:0}
.nvpro-xbtn span{font-size:18px;line-height:1}
.nvpro-ico{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.nvpro-ico span{font-size:18px;line-height:1}
.nvpro-file.nvpro-ico{border:1px solid rgba(44,42,95,.15); background:#fff; color:#2c2a5f; font-weight:700}
.nvpro-btn.nvpro-ico{min-width:42px; background:#d9125e; color:#fff; border:0}

/* v2.3.0 header minimal */
.nvpro-head{gap:10px}
.nvpro-title{font-size:13px;color:#3a325f;font-weight:700}
.nvpro-sub{display:none}

.nvpro-xbtn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:0;border:1px solid rgba(44,42,95,.2);background:#fff;color:#2c2a5f}
.nvpro-xbtn .nvpro-ico-svg{opacity:.9}
.nvpro-wrap.expanded .nvpro-xbtn{background:#fff}
.nvpro-xbtn.close svg path{stroke:#2c2a5f}

/* delete button */
.nvpro-del{margin-left:8px; font-size:12px; color:#9b1648; text-decoration:none; border-bottom:1px dotted rgba(217,18,94,.35)}
.nvpro-meta .nvpro-gap{flex:1}

/* v2.4.0 icons & progress */
.nvpro-xbtn{color:#2c2a5f}
.nvpro-ico-svg{display:block}
.nvpro-btn.nvpro-ico svg path{stroke:none}
.nvpro-upload{padding:8px 12px;border-top:1px solid var(--line);background:rgba(255,255,255,.8);backdrop-filter:blur(4px)}
.nvpro-progress{height:8px;border-radius:6px;background:rgba(44,42,95,.12);overflow:hidden}
.nvpro-progress > div{height:100%;background:#2c2a5f; transition:width .2s ease}
.nvpro-progress-text{margin-top:6px;font-size:12px;color:var(--muted)}

/* v2.5.0 branding & icons */
.nvpro-title.logo{font-size:20px;font-weight:900;color:#d9125e;letter-spacing:.2px}
.nvpro-head{gap:10px}
.nvpro-xbtn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:0;border:1px solid rgba(44,42,95,.2);background:#fff;color:#2c2a5f}
.nvpro-xbtn.is-open{background:#fff}
/* trash icon svg */
.nvpro-del svg{width:16px;height:16px;display:block}
.nvpro-del{margin-left:8px;display:inline-flex;align-items:center;gap:4px;text-decoration:none;color:#9b1648}
.nvpro-del:hover{opacity:.85}

/* v2.6.2 SVG & search fixes */
.nvpro-xbtn svg{width:18px;height:18px;display:block}
.nvpro-xbtn svg path{stroke:currentColor}
.nvpro-wrap.expanded .nvpro-search{display:block !important; opacity:1}

/* v2.6.3 forcing visibility */
.nvpro-search{display:block !important; opacity:1 !important}
.nvpro-xbtn{color:#2c2a5f !important}
.nvpro-xbtn svg{width:18px !important;height:18px !important;display:block !important}
.nvpro-xbtn svg path{stroke:currentColor !important}
.nvpro-xbtn .ico-close{display:none}
.nvpro-wrap.expanded .nvpro-xbtn .ico-expand{display:none}
.nvpro-wrap.expanded .nvpro-xbtn .ico-close{display:block}
.nvpro-xbtn .ico-fallback{display:none;font-weight:800;font-size:16px;line-height:1}
/* If some theme nukes SVGs, show fallback char */
.nvpro-xbtn svg[hidden]{display:none !important}
.nvpro-xbtn.no-svg .ico-fallback{display:block}

/* v2.6.4 search always visible */
.nvpro-head .nvpro-search{display:block !important; opacity:1 !important}


/* v2.7.3: No inner scroll in message box */
.nvpro-inline textarea#nvpro-input{
  max-height:none !important;
  overflow:hidden !important;
  resize:none !important;
}
/* Guest compact notice */
.nvpro-guest{align-items:center; gap:8px}
.nvpro-guest .nvpro-guest-note{
  font-size:14px; color:#6c6881; background:#fff;
  border:1px dashed rgba(44,42,95,.25); border-radius:10px;
  padding:8px 10px;
}


/* v2.7.4: Icon-only login button for guests */
.nvpro-btn-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; padding:0;
  border-radius:10px; border:1px solid var(--line); background:#fff; color:#2c2a5f; cursor:pointer;
}
.nvpro-btn-icon svg{ display:block; }


/* v2.7.5: emoji icon login button for guests, avoid theme overrides */
.nvpro-login-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; padding:0;
  border-radius:10px; border:1px solid var(--line);
  background:#fff !important; color:#2c2a5f !important;
  font-size:18px; line-height:1; text-decoration:none;
  appearance:none; -webkit-appearance:none; box-shadow:none !important; text-shadow:none !important;
}
.nvpro-login-ico:hover{ background:#f9f9ff !important; }
.nvpro-login-ico:focus{ outline:2px solid rgba(44,42,95,.25); outline-offset:2px; }
\n
/* v2.7.6: center guest message and icon */
.nvpro-guest{
  align-items:center !important;
  justify-content:center !important;
  gap:10px;
}
.nvpro-guest .nvpro-guest-note{ text-align:center; }


/* v2.7.7: stronger centering for guest block */
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:wrap !important;
  width:100% !important;
}
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest .nvpro-guest-note{
  text-align:center !important;
  margin:0 auto !important;
}
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest .nvpro-login-ico{
  margin-left:8px !important;
}


/* LaPasion Social 2.8.7: sin espacio bajo la caja (composer), centrado de invitados intacto */
.nvpro-wrap{ margin-bottom:0 !important; padding-bottom:0 !important; }
.nvpro-wrap:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; }
.entry-content > .nvpro-wrap:last-child,
.site-main > .nvpro-wrap:last-child,
.content-area > .nvpro-wrap:last-child,
main > .nvpro-wrap:last-child,
.container > .nvpro-wrap:last-child,
.wp-block-post-content > .nvpro-wrap:last-child,
.elementor-widget-container > .nvpro-wrap:last-child{ margin-bottom:0 !important; padding-bottom:0 !important; }
/* Invitados: texto + icono centrados en una línea */
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest{ text-align:center !important; }
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest .nvpro-guest-note{
  display:inline-block !important; vertical-align:middle !important; margin:0 !important; line-height:1.2 !important;
}
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest .nvpro-login-ico,
.nvpro-wrap .nvpro-footer .nvpro-composer.nvpro-guest #nvpro-send-guest{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  vertical-align:middle !important; margin-left:6px !important; padding:0 !important; line-height:1 !important;
  height:auto !important; width:auto !important;
}


/* Status banner for connection issues */
.nvpro-status{
  margin-left:auto;
  font-size:12px;
  color:#a14;
  background:rgba(217,18,94,.08);
  border:1px solid rgba(217,18,94,.25);
  border-radius:8px;
  padding:4px 8px;
}

/* Subtle file selection tag */
.nvpro-filetag{
  margin-left:6px;
  font-size:12px;
  color:#3a325f;
  background:#fff;
  border:1px solid rgba(44,42,95,.15);
  border-radius:8px;
  padding:4px 8px;
  white-space:nowrap;
  max-width:50%;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Icon-only indicator next to the clip */
.nvpro-file{ position:relative; display:inline-flex; align-items:center; gap:6px; }
#nvpro-file-ind{ font-size:16px; line-height:1; }

/* Hide previous inline chip or fileline if existed */
.nvpro-filetag, .nvpro-fileline{ display:none !important; }

.nvpro-link { text-decoration: underline; word-break: break-word; }
.nvpro-url-below { text-align: center; margin-top: .6rem; font-size: 1.125rem; }
.nvpro-url-below .nvpro-link { text-decoration: underline; }


/* --- Safety overrides to prevent page scroll lock --- */
html, /* removed: body overflow override (broke fixed header) */
.nvpro-wrap.expanded { position: static !important; z-index: auto !important; inset: auto !important; }


/* v3: Ocultar botón de fullscreen/expandir */
.nvpro-xbtn,
.nvpro-xbtn.expand,
.nvpro-head .nvpro-xbtn { display: none !important; }

/* v3: Stream sin scroll interno, ocupa todo el contenido */
.nvpro-stream { overflow: visible !important; max-height: none !important; }

/* v3: Contenedor con altura automática siempre */
.nvpro-wrap, .nvpro-wrap.expanded {
  height: auto !important;
  max-height: none !important;
}


/* Header composer placement */
.nvpro-head .nvpro-composer--header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.nvpro-head .nvpro-composer--header .nvpro-bar {
  flex: 1;
}
/* Keep header actions aligned when form is present */
.nvpro-head {
  align-items: center;
}


/* --- Header composer centered & site header preservation --- */
.nvpro-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nvpro-head .nvpro-composer--header {
  margin-left: auto;
  margin-right: auto;
  max-width: 780px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
}
.nvpro-head .nvpro-composer--header .nvpro-bar { flex: 1; }
#nvpro-expand { margin-left: auto; }

/* Ensure plugin does not break site's fixed header */
body { overflow: visible !important; }


/* Center guest note in header */
.nvpro-head .nvpro-composer--header.nvpro-guest {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 6px;
  margin-left: auto;
  margin-right: auto;
}
.nvpro-head .nvpro-composer--header.nvpro-guest .nvpro-guest-note {
  font-size: 14px;
  color: #333;
}


/* Guest note + icon inline */
.nvpro-head .nvpro-composer--header.nvpro-guest {
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.nvpro-head .nvpro-composer--header.nvpro-guest .nvpro-guest-note {
  margin: 0;
  display: inline-block;
}

.nvpro-head .nvpro-composer--header.nvpro-guest .nvpro-login-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
