:root {
  --liazo-bg: #070a13;
  --liazo-panel: rgba(15, 23, 42, .72);
  --liazo-border: rgba(255, 255, 255, .12);
  --liazo-text: #e5e7eb;
  --liazo-muted: #94a3b8;
  --liazo-primary: #8b5cf6;
  --liazo-cyan: #06b6d4;
  --liazo-pink: #ec4899;
  --liazo-green: #22c55e;
}

html, body { min-height: 100%; }
body {
  background:
    radial-gradient(circle at 20% 10%, rgba(139, 92, 246, .22), transparent 28%),
    radial-gradient(circle at 82% 5%, rgba(6, 182, 212, .16), transparent 26%),
    linear-gradient(180deg, #070a13 0%, #0b1020 58%, #070a13 100%);
  color: var(--liazo-text);
  overflow-x: hidden;
}

.orb {
  position: fixed;
  border-radius: 999px;
  filter: blur(38px);
  opacity: .45;
  pointer-events: none;
  z-index: -1;
}
.orb-one { width: 260px; height: 260px; background: var(--liazo-primary); left: -110px; top: 120px; }
.orb-two { width: 220px; height: 220px; background: var(--liazo-cyan); right: -90px; bottom: 80px; }

.navbar-blur {
  background: rgba(7, 10, 19, .66);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--liazo-border);
}
.brand { font-weight: 900; letter-spacing: .08em; }
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--liazo-primary), var(--liazo-cyan));
  color: white;
  font-weight: 900;
  box-shadow: 0 0 28px rgba(139, 92, 246, .55);
}
.nav-link { color: rgba(255,255,255,.72); }
.nav-link:hover, .nav-link.active { color: #fff; }

.glass-card,
.stat-card,
.profile-card,
.chat-panel {
  background: var(--liazo-panel);
  border: 1px solid var(--liazo-border);
  border-radius: 28px;
  box-shadow: 0 22px 70px rgba(0, 0, 0, .30);
  backdrop-filter: blur(18px);
}
.glass-alert { border-radius: 18px; border: 1px solid var(--liazo-border); }

.btn-liazo {
  border: 0;
  color: white;
  background: linear-gradient(135deg, var(--liazo-primary), var(--liazo-cyan));
  box-shadow: 0 14px 34px rgba(6, 182, 212, .18);
}
.btn-liazo:hover { color: white; transform: translateY(-1px); filter: brightness(1.08); }
.btn-ghost { border: 1px solid var(--liazo-border); color: white; background: rgba(255,255,255,.05); }
.btn-ghost:hover { border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.09); color: white; }

.hero {
  min-height: 72vh;
  display: grid;
  align-items: center;
}
.hero-title {
  font-size: clamp(2.7rem, 7vw, 6.2rem);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.07em;
}
.gradient-text {
  background: linear-gradient(135deg, #fff, #c4b5fd 42%, #67e8f9);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-copy { color: var(--liazo-muted); font-size: 1.15rem; max-width: 670px; }

.liazo-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border: 1px solid var(--liazo-border);
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  color: rgba(255,255,255,.82);
  padding: .4rem .8rem;
  font-size: .9rem;
}

.form-control, .form-select {
  background-color: rgba(255,255,255,.06);
  border-color: var(--liazo-border);
  color: white;
  border-radius: 16px;
}
.form-control:focus, .form-select:focus {
  background-color: rgba(255,255,255,.08);
  border-color: rgba(103,232,249,.7);
  color: white;
  box-shadow: 0 0 0 .25rem rgba(6,182,212,.12);
}
.form-control::placeholder { color: rgba(255,255,255,.38); }
.form-select option { background: #0f172a; color: #fff; }
.form-text, .text-muted { color: var(--liazo-muted) !important; }

.avatar-lg, .avatar-md, .avatar-sm {
  object-fit: cover;
  border: 1px solid var(--liazo-border);
  background: #111827;
}
.avatar-lg { width: 136px; height: 136px; border-radius: 38px; }
.avatar-md { width: 82px; height: 82px; border-radius: 24px; }
.avatar-sm { width: 42px; height: 42px; border-radius: 14px; }

.profile-card { overflow: hidden; height: 100%; transition: .18s ease; }
.profile-card:hover { transform: translateY(-4px); border-color: rgba(103,232,249,.42); }
.profile-cover {
  height: 92px;
  background: linear-gradient(135deg, rgba(139,92,246,.75), rgba(6,182,212,.65), rgba(236,72,153,.48));
}
.profile-card .avatar-md { margin-top: -42px; box-shadow: 0 14px 30px rgba(0,0,0,.3); }
.interest-pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.84);
  border-radius: 999px;
  padding: .32rem .65rem;
  font-size: .83rem;
  margin: .12rem;
}
.score-ring {
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: conic-gradient(var(--liazo-cyan) calc(var(--score) * 1%), rgba(255,255,255,.12) 0);
  display: grid;
  place-items: center;
}
.score-ring span {
  width: 48px;
  height: 48px;
  background: #0b1020;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: .9rem;
}
.progress { background: rgba(255,255,255,.08); border-radius: 999px; }
.progress-bar { background: linear-gradient(135deg, var(--liazo-primary), var(--liazo-cyan)); }

.timeline-item {
  border-left: 1px solid rgba(255,255,255,.12);
  padding-left: 1rem;
  margin-left: .45rem;
  position: relative;
}
.timeline-item:before {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--liazo-cyan);
  left: -6px;
  top: .45rem;
}

.chat-box {
  height: 58vh;
  min-height: 420px;
  overflow-y: auto;
  padding: 1rem;
}
.message {
  max-width: min(75%, 680px);
  padding: .75rem 1rem;
  border-radius: 22px;
  margin-bottom: .75rem;
  border: 1px solid rgba(255,255,255,.10);
}
.message.me { margin-left: auto; background: linear-gradient(135deg, rgba(139,92,246,.7), rgba(6,182,212,.45)); }
.message.them { margin-right: auto; background: rgba(255,255,255,.07); }

.footer { border-top: 1px solid var(--liazo-border); background: rgba(7,10,19,.42); }

@media (max-width: 767px) {
  .hero { min-height: auto; padding-top: 2.2rem; }
  .chat-box { height: 55vh; min-height: 360px; }
}

/* V2 */
.nav-badge {
  display: inline-grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 .35rem;
  margin-left: .25rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--liazo-pink), var(--liazo-primary));
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  vertical-align: middle;
}
.avatar-xs { width: 32px; height: 32px; border-radius: 10px; object-fit: cover; border: 1px solid var(--liazo-border); }
.chat-shell { display: grid; grid-template-columns: minmax(290px, 360px) 1fr minmax(260px, 320px); gap: 1rem; min-height: 72vh; }
.chat-sidebar, .chat-main, .chat-profile-side {
  background: var(--liazo-panel); border: 1px solid var(--liazo-border); border-radius: 28px; backdrop-filter: blur(18px); overflow: hidden;
}
.chat-sidebar-list { height: 66vh; overflow: auto; padding: .5rem; }
.conversation-item { display: flex; gap: .75rem; padding: .75rem; border-radius: 18px; color: rgba(255,255,255,.84); text-decoration: none; border: 1px solid transparent; }
.conversation-item:hover, .conversation-item.active { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.10); color: #fff; }
.unread-dot { min-width: 22px; height: 22px; border-radius: 999px; background: var(--liazo-cyan); color: #001018; font-size: .75rem; font-weight: 900; display: inline-grid; place-items: center; }
.chat-box.v2 { height: calc(72vh - 164px); min-height: 420px; }
.message-tools { opacity: .65; transition: .2s ease; }
.message:hover .message-tools { opacity: 1; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .9rem; }
.gallery-photo { position: relative; border-radius: 22px; overflow: hidden; border: 1px solid var(--liazo-border); background: rgba(255,255,255,.05); min-height: 170px; }
.gallery-photo img { width: 100%; height: 180px; object-fit: cover; display: block; }
.gallery-photo .tag { position: absolute; top: .55rem; left: .55rem; }
.moment-card { background: rgba(255,255,255,.06); border: 1px solid var(--liazo-border); border-radius: 26px; overflow: hidden; }
.moment-card img { width: 100%; max-height: 420px; object-fit: cover; }
.hub-pill { cursor: pointer; }
.status-chip { display:inline-flex; gap:.35rem; align-items:center; border-radius:999px; padding:.35rem .65rem; font-size:.8rem; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10); }
.status-pending { color:#fbbf24; }
.status-accepted { color:#67e8f9; }
.status-rejected { color:#fca5a5; }
.private-blur { filter: blur(10px); opacity:.5; }
.toast-liazo { position: fixed; right: 1rem; bottom: 1rem; z-index: 1080; }
@media (max-width: 1199px) { .chat-shell { grid-template-columns: 320px 1fr; } .chat-profile-side { display:none; } }
@media (max-width: 767px) { .chat-shell { display:block; } .chat-sidebar { margin-bottom:1rem; } .chat-sidebar-list { height: auto; max-height: 40vh; } .chat-box.v2 { min-height: 360px; height: 54vh; } }

/* Live UX: notificaciones sin refrescar */
.liazo-toast-container {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1080;
  display: grid;
  gap: .75rem;
  max-width: min(360px, calc(100vw - 2rem));
}
.liazo-live-toast {
  opacity: 0;
  transform: translateY(12px) scale(.98);
  transition: .22s ease;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border: 1px solid var(--liazo-border);
  border-radius: 1rem;
  background: rgba(13, 17, 23, .88);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
  color: rgba(255,255,255,.92);
}
.liazo-live-toast.show { opacity: 1; transform: translateY(0) scale(1); }
.liazo-live-toast i { color: var(--liazo-primary); font-size: 1.1rem; }

.photo-upload-form .form-control {
  min-height: 58px;
}
.photo-preview {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .75rem;
  border-radius: 18px;
  border: 1px solid var(--liazo-border);
  background: rgba(255,255,255,.045);
}
.photo-preview img {
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.18);
}
.photo-preview span {
  color: var(--liazo-muted);
  font-size: .9rem;
}
.photo-preview.is-valid {
  border-color: rgba(34,197,94,.45);
  background: rgba(34,197,94,.08);
}
.photo-preview.is-invalid {
  border-color: rgba(248,113,113,.55);
  background: rgba(248,113,113,.08);
}

/* V2.3: foto principal desde galería */
.gallery-photo-main {
  width: 180px;
  min-height: 180px;
  box-shadow: 0 20px 50px rgba(139,92,246,.20);
}
.gallery-photo-main img { height: 180px; }
.gallery-photo.is-main-photo {
  border-color: rgba(139,92,246,.72);
  box-shadow: 0 0 0 2px rgba(139,92,246,.22), 0 18px 44px rgba(6,182,212,.10);
}
.photo-actions {
  position: absolute;
  left: .55rem;
  right: .55rem;
  bottom: .55rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .45rem;
  flex-wrap: wrap;
}
.photo-actions form { margin: 0; }
.photo-actions .btn-liazo {
  padding: .35rem .65rem;
  font-size: .78rem;
}

/* V2.4: Home + Momentos con título, desarrollo, emoción e imagen sin deformar */
.home-hero {
  position: relative;
  overflow: hidden;
}
.home-hero::after {
  content: '';
  position: absolute;
  width: 280px;
  height: 280px;
  right: -90px;
  top: -130px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(6,182,212,.28), transparent 62%);
  pointer-events: none;
}
.home-stat {
  border: 1px solid var(--liazo-border);
  background: rgba(255,255,255,.06);
  border-radius: 20px;
  padding: 1rem .7rem;
  text-align: center;
}
.home-stat strong { display: block; font-size: 1.6rem; line-height: 1; }
.home-stat span { display: block; color: var(--liazo-muted); font-size: .76rem; margin-top: .35rem; }
.mini-chat-item,
.suggestion-card {
  display: flex;
  gap: .7rem;
  align-items: center;
  color: rgba(255,255,255,.88);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: .7rem;
}
.mini-chat-item:hover,
.suggestion-card:hover { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(103,232,249,.26); }
.min-w-0 { min-width: 0; }

.moment-form textarea { resize: vertical; }
.mood-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  gap: .55rem;
}
.mood-choice {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .42rem;
  padding: .62rem .7rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.84);
  cursor: pointer;
  font-size: .88rem;
  transition: .18s ease;
}
.btn-check:checked + .mood-choice {
  color: #fff;
  border-color: rgba(255,255,255,.38);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.btn-check:checked + .mood-pensamiento { background: linear-gradient(135deg, rgba(124,58,237,.75), rgba(14,165,233,.35)); }
.btn-check:checked + .mood-alegria { background: linear-gradient(135deg, rgba(245,158,11,.85), rgba(251,191,36,.35)); }
.btn-check:checked + .mood-inspiracion { background: linear-gradient(135deg, rgba(139,92,246,.85), rgba(236,72,153,.35)); }
.btn-check:checked + .mood-sueno { background: linear-gradient(135deg, rgba(79,70,229,.85), rgba(59,130,246,.35)); }
.btn-check:checked + .mood-logro { background: linear-gradient(135deg, rgba(34,197,94,.8), rgba(20,184,166,.35)); }
.btn-check:checked + .mood-romance { background: linear-gradient(135deg, rgba(244,63,94,.82), rgba(236,72,153,.38)); }
.btn-check:checked + .mood-aventura { background: linear-gradient(135deg, rgba(249,115,22,.84), rgba(245,158,11,.35)); }
.btn-check:checked + .mood-calma { background: linear-gradient(135deg, rgba(14,165,233,.8), rgba(6,182,212,.36)); }
.btn-check:checked + .mood-nostalgia { background: linear-gradient(135deg, rgba(180,83,9,.74), rgba(120,113,108,.38)); }
.btn-check:checked + .mood-pregunta { background: linear-gradient(135deg, rgba(6,182,212,.82), rgba(59,130,246,.36)); }
.btn-check:checked + .mood-musica { background: linear-gradient(135deg, rgba(236,72,153,.82), rgba(139,92,246,.35)); }
.btn-check:checked + .mood-pelicula { background: linear-gradient(135deg, rgba(71,85,105,.9), rgba(148,163,184,.25)); }
.btn-check:checked + .mood-proyecto { background: linear-gradient(135deg, rgba(6,182,212,.78), rgba(139,92,246,.42)); }

.moment-card {
  position: relative;
  background: rgba(255,255,255,.058);
  border: 1px solid var(--liazo-border);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.24);
}
.moment-card .moment-accent { height: 5px; background: linear-gradient(90deg, var(--liazo-primary), var(--liazo-cyan)); }
.moment-pensamiento .moment-accent { background: linear-gradient(90deg, #7c3aed, #0ea5e9); }
.moment-alegria .moment-accent { background: linear-gradient(90deg, #f59e0b, #fde047); }
.moment-inspiracion .moment-accent { background: linear-gradient(90deg, #8b5cf6, #ec4899); }
.moment-sueno .moment-accent { background: linear-gradient(90deg, #4f46e5, #3b82f6); }
.moment-logro .moment-accent { background: linear-gradient(90deg, #22c55e, #14b8a6); }
.moment-romance .moment-accent { background: linear-gradient(90deg, #f43f5e, #ec4899); }
.moment-aventura .moment-accent { background: linear-gradient(90deg, #f97316, #f59e0b); }
.moment-calma .moment-accent { background: linear-gradient(90deg, #0ea5e9, #06b6d4); }
.moment-nostalgia .moment-accent { background: linear-gradient(90deg, #b45309, #78716c); }
.moment-pregunta .moment-accent { background: linear-gradient(90deg, #06b6d4, #3b82f6); }
.moment-musica .moment-accent { background: linear-gradient(90deg, #ec4899, #8b5cf6); }
.moment-pelicula .moment-accent { background: linear-gradient(90deg, #475569, #94a3b8); }
.moment-proyecto .moment-accent { background: linear-gradient(90deg, #06b6d4, #8b5cf6); }
.moment-chip {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  padding: .27rem .6rem;
  color: rgba(255,255,255,.8);
  font-size: .78rem;
}
.moment-title { letter-spacing: -.02em; }
.moment-body { color: rgba(255,255,255,.86); font-size: 1.02rem; }
.moment-card > img { display: none; }
.moment-image-frame {
  display: grid;
  place-items: center;
  padding: .75rem;
  min-height: 260px;
  max-height: 520px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(45deg, rgba(255,255,255,.035) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.035) 75%),
    linear-gradient(45deg, rgba(255,255,255,.035) 25%, transparent 25%, transparent 75%, rgba(255,255,255,.035) 75%),
    rgba(0,0,0,.26);
  background-size: 24px 24px;
  background-position: 0 0, 12px 12px;
  border-radius: 22px;
  overflow: hidden;
  cursor: zoom-in;
}
.moment-image-frame img {
  width: 100%;
  max-height: 500px;
  object-fit: contain;
  border-radius: 16px;
}
.moment-actions .btn { min-height: 34px; }
@media (max-width: 767px) {
  .mood-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .moment-image-frame { min-height: 190px; }
}

/* V2.5: feed privado tipo social + embeds seguros */
.moment-feed-column .moment-card,
.moment-feed-column .moment-composer-card {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.moment-composer-card {
  border-radius: 22px;
}
.composer-pill {
  display: block;
  min-height: 46px;
  padding: .72rem 1rem;
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.09);
}
.composer-pill:hover { color: #fff; background: rgba(255,255,255,.11); }
.composer-actions {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.composer-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  border-radius: 14px;
  padding: .65rem .5rem;
  font-size: .9rem;
}
.composer-action:hover { color: #fff; background: rgba(255,255,255,.07); }

.moment-social-card {
  background: rgba(15, 23, 42, .82);
  border-radius: 20px;
  border-color: rgba(255,255,255,.11);
  overflow: hidden;
}
.moment-social-card .moment-accent { height: 3px; }
.moment-post-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.05rem .55rem;
}
.moment-author { font-weight: 800; }
.moment-meta { line-height: 1.15; }
.moment-options {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 0;
  background: transparent;
}
.moment-options:hover { background: rgba(255,255,255,.09); }
.moment-copy {
  padding: .35rem 1.05rem .95rem;
}
.moment-social-card .moment-title {
  margin: 0 0 .25rem;
  font-size: 1.08rem;
  font-weight: 850;
  letter-spacing: -.01em;
}
.moment-social-card .moment-body {
  font-size: .98rem;
  line-height: 1.42;
  color: rgba(255,255,255,.89);
}
.moment-social-card .moment-image-frame {
  border: 0;
  border-radius: 0;
  padding: 0;
  min-height: unset;
  max-height: none;
  background: rgba(0,0,0,.30);
}
.moment-social-card .moment-image-frame img {
  width: 100%;
  max-height: 520px;
  object-fit: contain;
  border-radius: 0;
  display: block;
}
.moment-embed-wrap { padding: 0 1.05rem 1rem; }
.moment-embed-box {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(0,0,0,.24);
}
.moment-embed-head {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .75rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.82);
  font-size: .86rem;
  font-weight: 700;
}
.moment-embed-frame {
  display: block;
  width: 100%;
  border: 0;
  background: #000;
}
.moment-embed-spotify { height: 152px; }
.moment-embed-youtube { aspect-ratio: 16 / 9; height: auto; }
.moment-embed-instagram { min-height: 560px; }
.moment-embed-facebook { min-height: 420px; }
.moment-link-card {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.86);
  text-decoration: none;
}
.moment-link-card:hover { color: #fff; background: rgba(255,255,255,.09); }
.moment-link-card > i:first-child { font-size: 1.35rem; }
.moment-link-card small { display: block; color: var(--liazo-muted); margin-top: .15rem; }
.moment-social-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 38px;
  padding: .45rem 1.05rem;
  color: rgba(255,255,255,.72);
  font-size: .88rem;
}
.moment-social-summary .bi-heart-fill { color: #f43f5e; }
.moment-social-actions {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: .45rem .65rem .65rem;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: .4rem !important;
}
.moment-social-actions form { margin: 0 !important; }
.moment-social-actions .btn {
  width: 100%;
  border: 0;
  justify-content: center;
  background: transparent;
}
.moment-social-actions .btn:hover { background: rgba(255,255,255,.08); }
.moment-social-actions .btn-liazo { background: rgba(139,92,246,.30); box-shadow: none; }

@media (max-width: 767px) {
  .composer-actions { grid-template-columns: repeat(2, 1fr); }
  .moment-embed-instagram { min-height: 480px; }
  .moment-embed-facebook { min-height: 360px; }
}


/* V2.6: Momentos tipo social, imagen sin deformar y avatar fijo */
.moment-feed-column .moment-card,
.moment-feed-column .moment-composer-card {
  max-width: 680px;
}
.moment-social-card {
  border-radius: 18px;
  background: rgba(15, 23, 42, .88);
}
.moment-post-head {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .95rem 1rem .45rem;
}
.moment-avatar-link {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  display: block;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: #111827;
}
.moment-avatar {
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  min-width: 44px !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  display: block !important;
  border: 0 !important;
  border-radius: 999px !important;
}
.moment-author {
  color: rgba(255,255,255,.96);
  text-decoration: none;
  font-weight: 850;
}
.moment-author:hover { color: #fff; text-decoration: underline; }
.moment-copy {
  padding: .25rem 1rem .8rem;
}
.moment-social-card .moment-title {
  margin-bottom: .2rem;
  font-size: 1.02rem;
  line-height: 1.22;
}
.moment-social-card .moment-body {
  font-size: .97rem;
  line-height: 1.38;
  color: rgba(255,255,255,.88);
}
.moment-media-frame {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .45rem;
  border: 0;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.30);
  cursor: zoom-in;
  overflow: hidden;
}
.moment-media-frame img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(520px, 72vh) !important;
  object-fit: contain !important;
  border-radius: 10px;
  background: rgba(255,255,255,.03);
}
.moment-media-frame:hover img { filter: brightness(1.04); }
.moment-image-frame { display: none !important; }
.moment-social-summary {
  min-height: 34px;
  padding: .38rem 1rem;
}
.moment-social-actions {
  padding: .35rem .55rem .55rem;
}
@media (max-width: 767px) {
  .moment-feed-column .moment-card,
  .moment-feed-column .moment-composer-card { max-width: 100%; }
  .moment-media-frame { padding: .25rem; }
  .moment-media-frame img { max-height: 68vh !important; border-radius: 8px; }
}

/* LIAZO V3 - Afinidad + Gurú */
.affinity-section{position:relative;overflow:hidden}.affinity-section:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#8b5cf6,#06b6d4,#22c55e);opacity:.85}.affinity-question{padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;background:rgba(255,255,255,.035)}.chip-select-grid{display:flex;flex-wrap:wrap;gap:.6rem}.select-chip,.scale-pill{cursor:pointer;user-select:none}.select-chip input,.scale-pill input{position:absolute;opacity:0;pointer-events:none}.select-chip span,.scale-pill span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:999px;padding:.62rem .9rem;color:rgba(255,255,255,.86);transition:.18s ease}.select-chip.active span,.select-chip:has(input:checked) span,.scale-pill.active span,.scale-pill:has(input:checked) span{border-color:rgba(124,92,255,.95);background:linear-gradient(135deg,rgba(124,92,255,.45),rgba(0,211,255,.20));box-shadow:0 0 0 3px rgba(124,92,255,.12);color:#fff}.affinity-scale{display:flex;gap:.55rem;flex-wrap:wrap}.scale-pill span{min-width:44px;justify-content:center;font-weight:700}.sticky-save-bar{position:sticky;bottom:1rem;z-index:5;border-color:rgba(124,92,255,.25)}.affinity-breakdown{display:grid;gap:.65rem}.affinity-line{padding:.55rem .65rem;border-radius:.9rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}.mini-progress{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-top:.4rem}.mini-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7c5cff,#00d3ff,#45f3a2)}.match-reason-box{padding:.75rem;border-radius:1rem;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}.guru-hint{display:flex;gap:.55rem;align-items:flex-start;font-size:.82rem;color:rgba(255,255,255,.72);padding:.7rem .8rem;border-radius:1rem;background:linear-gradient(135deg,rgba(124,92,255,.14),rgba(0,211,255,.08));border:1px solid rgba(124,92,255,.18)}.guru-hint i{color:#b9a8ff}.profile-match-box{padding:1rem;border-radius:1.25rem;background:rgba(255,255,255,.045);border:1px solid rgba(124,92,255,.18)}.guru-hero{background:radial-gradient(circle at 10% 0%,rgba(124,92,255,.28),transparent 42%),radial-gradient(circle at 85% 0%,rgba(0,211,255,.18),transparent 38%),rgba(255,255,255,.055)}.guru-score-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1.25rem;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}.guru-card{display:flex;gap:1rem;text-decoration:none;color:inherit;padding:1rem;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:1.25rem;transition:.18s ease}.guru-card:hover,.guru-mini-card:hover,.match-mini-card:hover{transform:translateY(-1px);border-color:rgba(124,92,255,.35);background:rgba(255,255,255,.065)}.guru-card-icon{width:48px;height:48px;border-radius:1rem;display:grid;place-items:center;background:linear-gradient(135deg,rgba(124,92,255,.35),rgba(0,211,255,.18));color:#fff;flex:0 0 auto}.guru-card p{margin:.35rem 0;color:rgba(255,255,255,.68);font-size:.93rem}.guru-card span{font-size:.85rem;color:#9ee8ff}.guru-mini-card{display:flex;gap:.75rem;align-items:flex-start;text-decoration:none;color:inherit;padding:.85rem;border-radius:1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:.18s ease}.guru-mini-card>i{width:34px;height:34px;border-radius:.85rem;display:grid;place-items:center;background:rgba(124,92,255,.18);color:#b9a8ff;flex:0 0 auto}.guru-mini-card strong{display:block;font-size:.9rem}.guru-mini-card small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:rgba(255,255,255,.58);line-height:1.3}.guru-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.guru-guide-grid>div{padding:1rem;border-radius:1.1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}.guru-guide-grid i{display:block;font-size:1.4rem;color:#9ee8ff;margin-bottom:.5rem}.guru-guide-grid strong{display:block}.guru-guide-grid span{display:block;color:rgba(255,255,255,.63);font-size:.9rem;margin-top:.25rem}.match-mini-card{display:flex;gap:.8rem;align-items:center;text-decoration:none;color:inherit;padding:.9rem;border-radius:1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:.18s ease}.match-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.18rem .48rem;font-size:.78rem;font-weight:800;background:linear-gradient(135deg,#7c5cff,#00d3ff);color:white;white-space:nowrap}@media(max-width:768px){.guru-guide-grid{grid-template-columns:1fr}.sticky-save-bar{position:static}.chip-select-grid{gap:.45rem}.select-chip span{padding:.52rem .75rem;font-size:.9rem}}

/* V3.2 · Gurú persistente + afinidad automática */
.guru-card.is-read { opacity: .72; }
.guru-card.is-read:hover { opacity: 1; }
.guru-new-dot {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .16rem .52rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  color: #08111f;
  background: linear-gradient(135deg, #24d5ff, #9b6cff);
  white-space: nowrap;
}
.guru-new-dot::before {
  content: '';
  width: .42rem;
  height: .42rem;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 0 0 .2rem rgba(255,255,255,.18);
}
.match-cache-note {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: rgba(255,255,255,.5);
  font-size: .78rem;
}

/* V3.4 - Resultado de Afinidad + Radar inteligente */
.affinity-result-card {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(103, 232, 249, .36);
}
.affinity-result-card:before {
  content: '';
  position: absolute;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  right: -120px;
  top: -170px;
  background: radial-gradient(circle, rgba(139,92,246,.28), transparent 68%);
  pointer-events: none;
}
.result-orb {
  width: 96px;
  height: 96px;
  border-radius: 32px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(139,92,246,.95), rgba(6,182,212,.72));
  box-shadow: 0 0 46px rgba(139, 92, 246, .34);
  border: 1px solid rgba(255,255,255,.18);
}
.result-orb i { font-size: 2.5rem; color: #fff; }
.result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.result-mini {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
  border-radius: 22px;
  padding: 1rem;
}
.result-mini strong { display: flex; align-items: center; gap: .45rem; margin-bottom: .65rem; }
.result-mini ul { margin: 0; padding-left: 1.1rem; color: var(--liazo-muted); font-size: .9rem; }
.result-mini li { margin: .32rem 0; }
.guru-result {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  border: 1px solid rgba(103,232,249,.18);
  background: linear-gradient(135deg, rgba(6,182,212,.10), rgba(139,92,246,.10));
  border-radius: 20px;
  padding: 1rem;
  color: rgba(255,255,255,.90);
}
.guru-result i { color: #67e8f9; font-size: 1.15rem; margin-top: .12rem; }
.affinity-intro { border-left: 4px solid var(--liazo-cyan); }
.affinity-top-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.affinity-top-chips span {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.065);
  color: rgba(255,255,255,.84);
  border-radius: 999px;
  padding: .34rem .62rem;
  font-size: .78rem;
}
.affinity-top-chips strong { color: #fff; }
.liazo-modal {
  background: rgba(9, 14, 28, .96);
  color: var(--liazo-text);
  border: 1px solid var(--liazo-border);
  border-radius: 28px;
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  backdrop-filter: blur(18px);
}
.match-explainer .affinity-line { margin-bottom: .85rem; }
.match-explainer .mini-progress {
  height: 8px;
  background: rgba(255,255,255,.09);
  border-radius: 999px;
  overflow: hidden;
}
.match-explainer .mini-progress span,
.affinity-line .mini-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--liazo-primary), var(--liazo-cyan));
}
.affinity-line .mini-progress {
  height: 7px;
  background: rgba(255,255,255,.08);
  border-radius: 999px;
  overflow: hidden;
  margin-top: .25rem;
}
@media (max-width: 991px) {
  .result-grid { grid-template-columns: 1fr; }
}

/* V3.5 - Gurú con recordatorios inteligentes */
.guru-live-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
.guru-live-panel>div{
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  padding:.85rem;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.guru-live-panel strong{
  display:block;
  font-size:1.35rem;
  line-height:1;
  color:#fff;
}
.guru-live-panel span{
  display:block;
  margin-top:.25rem;
  color:var(--muted);
  font-size:.78rem;
}
.guru-card p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* V3.6 - Momentos con dedicatorias y respuestas privadas */
.moment-dedicated-chip{
  border-color:rgba(255,104,170,.45)!important;
  background:linear-gradient(135deg,rgba(255,104,170,.16),rgba(126,87,255,.13))!important;
  color:#ffd6e7!important;
}
.moment-reply-preview{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  border-radius:20px;
  padding:1rem;
}
.moment-reply-preview strong{display:block;margin-bottom:.35rem;color:#fff;}
.moment-reply-preview p{margin:0;color:var(--muted);}
.moment-form .form-switch .form-check-input{
  width:3rem;
  height:1.45rem;
}


/* V3.7 actividad */
.activity-filter{display:flex;gap:.5rem;flex-wrap:wrap}.activity-filter-chip{padding:.45rem .8rem;border:1px solid var(--liazo-border);border-radius:999px;color:rgba(255,255,255,.72);text-decoration:none;background:rgba(255,255,255,.05)}.activity-filter-chip.active,.activity-filter-chip:hover{background:linear-gradient(135deg,rgba(6,182,212,.22),rgba(168,85,247,.20));color:#fff;border-color:rgba(6,182,212,.45)}
.activity-row{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:#fff;padding:.9rem;border:1px solid var(--liazo-border);border-radius:1.1rem;margin-bottom:.65rem;background:rgba(255,255,255,.04);transition:.18s}.activity-row:hover{transform:translateY(-1px);background:rgba(255,255,255,.075)}.activity-row.unread{background:rgba(6,182,212,.12);border-color:rgba(6,182,212,.35)}.activity-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.08);flex:0 0 auto}.activity-icon.tone-success{background:rgba(34,197,94,.18)}.activity-icon.tone-danger{background:rgba(244,63,94,.18)}.activity-icon.tone-warning{background:rgba(245,158,11,.18)}.activity-icon.tone-purple{background:rgba(168,85,247,.18)}.activity-type{font-size:.72rem;padding:.18rem .5rem;border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.72)}


/* V3.8 privacidad */
.control-user-row{display:flex;align-items:center;gap:.85rem;padding:.85rem;border:1px solid var(--liazo-border);border-radius:1rem;background:rgba(255,255,255,.04);margin-bottom:.65rem}


/* V3.9 admin */
.admin-row{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem;border:1px solid var(--liazo-border);border-radius:1rem;background:rgba(255,255,255,.04);margin-bottom:.65rem}.admin-stat-card{display:block;padding:1.2rem;border:1px solid var(--liazo-border);border-radius:1.2rem;background:rgba(255,255,255,.05);color:#fff;text-decoration:none}.admin-stat-card i{font-size:1.6rem}.admin-stat-card span{display:block;color:rgba(255,255,255,.65);margin-top:.5rem}.admin-stat-card strong{font-size:2rem}.admin-stat-card:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}


/* V4.0 Mobile Stability */
.liazo-offline-banner {
  position: fixed;
  left: 50%;
  top: calc(70px + env(safe-area-inset-top));
  transform: translateX(-50%) translateY(-10px);
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: .55rem;
  max-width: min(520px, calc(100vw - 1.25rem));
  padding: .75rem 1rem;
  border-radius: 999px;
  border: 1px solid rgba(251, 191, 36, .35);
  background: rgba(24, 18, 8, .92);
  color: #fde68a;
  box-shadow: 0 18px 60px rgba(0,0,0,.36);
  backdrop-filter: blur(18px);
  opacity: 0;
  pointer-events: none;
  transition: .22s ease;
}
.liazo-offline-banner.show { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.liazo-boot-loader {
  position: fixed;
  inset: 0;
  z-index: 2100;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 25% 20%, rgba(139,92,246,.26), transparent 32%), radial-gradient(circle at 85% 20%, rgba(6,182,212,.18), transparent 30%), #070a13;
  transition: opacity .28s ease, visibility .28s ease;
}
.liazo-boot-loader.hide { opacity: 0; visibility: hidden; }
.liazo-boot-loader .boot-mark { width: 74px; height: 74px; border-radius: 24px; display:grid; place-items:center; font-weight:950; font-size:2rem; background:linear-gradient(135deg,var(--liazo-primary),var(--liazo-cyan)); box-shadow:0 0 44px rgba(139,92,246,.45); }
.liazo-boot-loader .boot-copy { margin-top: .9rem; color: rgba(255,255,255,.72); text-align:center; }

/* V4.1 Mobile UX */
.mobile-tabbar { display: none; }
@media (max-width: 991px) {
  :root { --mobile-tabbar-height: 76px; }
  html { scroll-padding-bottom: calc(var(--mobile-tabbar-height) + 1rem); }
  body.has-mobile-tabbar { padding-bottom: calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom)); }
  .navbar-blur { min-height: 62px; }
  .navbar-blur .navbar-brand { font-size: 1rem; }
  .navbar-blur .brand-mark { width: 36px; height: 36px; border-radius: 14px; }
  .navbar-toggler { border: 1px solid var(--liazo-border); border-radius: 14px; padding: .4rem .6rem; }
  .navbar-collapse { margin-top: .7rem; padding: .75rem; border: 1px solid var(--liazo-border); border-radius: 22px; background: rgba(7,10,19,.92); box-shadow: 0 22px 60px rgba(0,0,0,.36); }
  .navbar-collapse .nav-link { padding: .72rem .8rem; border-radius: 14px; }
  .navbar-collapse .nav-link.active, .navbar-collapse .nav-link:hover { background: rgba(255,255,255,.07); }
  .mobile-tabbar {
    position: fixed;
    left: .65rem;
    right: .65rem;
    bottom: calc(.55rem + env(safe-area-inset-bottom));
    z-index: 1500;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .25rem;
    min-height: var(--mobile-tabbar-height);
    padding: .5rem;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(8, 13, 27, .92);
    backdrop-filter: blur(22px);
    box-shadow: 0 18px 70px rgba(0,0,0,.42);
  }
  .mobile-tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .22rem; color: rgba(255,255,255,.62); text-decoration: none; border-radius: 18px; font-size: .72rem; font-weight: 700; }
  .mobile-tab i { font-size: 1.18rem; line-height: 1; }
  .mobile-tab.active { color: #fff; background: linear-gradient(135deg, rgba(139,92,246,.45), rgba(6,182,212,.22)); }
  .mobile-tab .nav-badge { position: absolute; top: .18rem; right: .55rem; margin: 0; min-width: 18px; height: 18px; font-size: .65rem; }
  .liazo-main { padding-bottom: 1.1rem; }
  .container-fluid.px-3, .container-fluid.px-lg-4 { padding-left: .8rem !important; padding-right: .8rem !important; }
  .glass-card, .stat-card, .profile-card, .chat-panel, .chat-sidebar, .chat-main, .chat-profile-side { border-radius: 22px; box-shadow: 0 16px 46px rgba(0,0,0,.28); }
  .home-hero { padding: 1rem !important; border-radius: 24px; }
  .hero-title, h1.display-5, .display-5 { font-size: clamp(2rem, 10vw, 3.2rem) !important; letter-spacing: -.045em; }
  h1.h2, .h2 { font-size: 1.55rem; }
  h2.h3, .h3 { font-size: 1.28rem; }
  .home-stat { padding: .78rem .45rem; }
  .home-stat strong { font-size: 1.28rem; }
  .row.g-4, .row.g-3 { --bs-gutter-x: .85rem; --bs-gutter-y: .85rem; }
  .btn, .form-control, .form-select { min-height: 44px; }
  textarea.form-control { min-height: 96px; }
  .profile-card .p-3, .glass-card.p-4, .glass-card.p-md-5 { padding: 1rem !important; }
  .profile-cover { height: 78px; }
  .avatar-lg { width: 116px; height: 116px; border-radius: 30px; }
  .avatar-md { width: 70px; height: 70px; border-radius: 22px; }
  .avatar-sm { width: 40px; height: 40px; border-radius: 14px; }
  .score-ring { width: 54px; height: 54px; }
  .score-ring span { width: 42px; height: 42px; font-size: .78rem; }
  .interest-pill { font-size: .78rem; padding: .28rem .52rem; }
  .moment-feed-column .moment-card, .moment-feed-column .moment-composer-card, .moment-social-card { border-radius: 20px; }
  .moment-social-header { padding: .78rem .86rem .55rem; }
  .moment-copy { padding: .15rem .86rem .7rem; }
  .moment-social-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: .5rem .65rem .65rem; }
  .moment-social-actions .btn, .moment-social-actions form { width: 100%; }
  .moment-social-actions .btn { justify-content: center; }
  .moment-media-frame { border-radius: 0; padding: .25rem; }
  .moment-media-frame img { max-height: 58vh !important; }
  .chat-shell { display: flex; flex-direction: column; gap: .75rem; min-height: auto; }
  .chat-sidebar { order: 2; }
  .chat-main { order: 1; }
  .chat-profile-side { display: none !important; }
  .chat-sidebar-list { height: auto; max-height: 34vh; }
  .conversation-item { padding: .65rem; border-radius: 16px; }
  .chat-main > .p-3:first-child, .chat-main > .p-md-4:first-child { position: sticky; top: 63px; z-index: 20; background: rgba(10,15,30,.92); backdrop-filter: blur(16px); }
  .chat-box.v2 { min-height: 52vh; height: 52vh; padding: .75rem; }
  .message { max-width: 88%; padding: .68rem .85rem; border-radius: 20px; font-size: .96rem; }
  [data-chat-form] { position: sticky; bottom: calc(var(--mobile-tabbar-height) + .8rem); background: rgba(10,15,30,.92); backdrop-filter: blur(16px); z-index: 21; border-radius: 0 0 20px 20px; }
  [data-chat-form] .form-text { display: none; }
  [data-chat-form] .d-flex { gap: .5rem; }
  [data-chat-form] button { min-width: 54px; padding-left: .9rem !important; padding-right: .9rem !important; }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .gallery-photo { min-height: 150px; border-radius: 18px; }
  .gallery-photo img { height: 155px; }
  .result-grid, .guru-guide-grid { grid-template-columns: 1fr !important; }
  .affinity-question { padding: .85rem; border-radius: 18px; }
  .chip-select-grid { gap: .42rem; }
  .select-chip span, .scale-pill span { padding: .55rem .72rem; }
  .affinity-scale { gap: .42rem; }
  .scale-pill span { min-width: 42px; }
  .liazo-toast-container { left: .8rem; right: .8rem; bottom: calc(var(--mobile-tabbar-height) + 1rem); max-width: none; }
  .liazo-live-toast { border-radius: 18px; }
  .footer { display: none; }
}
@media (max-width: 420px) {
  .mobile-tab span { font-size: .66rem; }
  .mobile-tab i { font-size: 1.08rem; }
  .moment-social-actions { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
}

/* V4.2 - Safe embeds + fallbacks */
.moment-embed-box[data-liazo-embed-box] {
  position: relative;
}
.moment-embed-head small {
  margin-left: auto;
  max-width: 62%;
  color: rgba(255,255,255,.54);
  font-weight: 500;
  font-size: .74rem;
  text-align: right;
}
.moment-embed-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 92px;
  color: rgba(255,255,255,.68);
  font-size: .88rem;
  background: rgba(0,0,0,.16);
}
.moment-embed-box.embed-loaded .moment-embed-loading { display: none; }
.moment-embed-fallback {
  display: none;
  padding: .85rem;
}
.moment-embed-box.embed-failed .moment-embed-frame,
.moment-embed-box.embed-failed .moment-embed-loading { display: none; }
.moment-embed-box.embed-failed .moment-embed-fallback { display: block; }
.moment-link-card {
  position: relative;
  overflow: hidden;
}
.moment-link-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 10%, rgba(34,211,238,.16), transparent 34%), radial-gradient(circle at 90% 100%, rgba(236,72,153,.14), transparent 30%);
  opacity: .8;
  pointer-events: none;
}
.moment-link-card > * { position: relative; z-index: 1; }
.moment-link-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  flex: 0 0 auto;
}
.moment-link-copy { min-width: 0; }
.moment-link-copy strong { display: block; font-weight: 850; }
.moment-link-copy small { display: block; color: rgba(255,255,255,.70); line-height: 1.25; margin-top: .12rem; }
.moment-link-copy em { display: block; font-style: normal; color: rgba(255,255,255,.42); font-size: .76rem; margin-top: .18rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.moment-link-card-spotify .moment-link-icon { color: #1DB954; }
.moment-link-card-youtube .moment-link-icon { color: #ff0033; }
.moment-link-card-instagram .moment-link-icon { color: #e879f9; }
.moment-link-card-facebook .moment-link-icon { color: #60a5fa; }
.moment-link-card-google .moment-link-icon { color: #facc15; }
.moment-embed-youtube { min-height: 220px; }
@media (max-width: 768px) {
  .moment-embed-head { align-items: flex-start; }
  .moment-embed-head small { max-width: 100%; margin-left: 0; text-align: left; display: block; }
  .moment-embed-youtube { min-height: 188px; }
  .moment-link-card { align-items: flex-start; }
}

/* V4.7 - Mobile chat polish + landing conversion */
.landing-kicker { letter-spacing: .01em; }
.landing-proof-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; margin-top: 1.2rem; }
.landing-proof { padding: 1rem; border:1px solid var(--liazo-border); border-radius: 22px; background: rgba(255,255,255,.045); }
.landing-proof i { display:inline-grid; place-items:center; width: 36px; height:36px; border-radius: 14px; background: linear-gradient(135deg, rgba(139,92,246,.34), rgba(6,182,212,.18)); color:#fff; margin-bottom:.55rem; }
.landing-proof strong { display:block; }
.landing-proof span { display:block; color: var(--liazo-muted); font-size:.9rem; margin-top:.25rem; }
.landing-phone-demo { position:relative; max-width: 360px; margin-inline:auto; border-radius: 38px; padding: .85rem; background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.035)); border: 1px solid rgba(255,255,255,.15); box-shadow: 0 26px 90px rgba(0,0,0,.45); }
.landing-phone-demo:before { content:''; display:block; width: 76px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.25); margin: .25rem auto .8rem; }
.landing-phone-card { border-radius: 28px; padding: 1rem; background: rgba(9,14,28,.88); border: 1px solid rgba(255,255,255,.12); overflow:hidden; }
.landing-match-row { display:flex; gap:.75rem; align-items:center; padding:.8rem; border:1px solid rgba(255,255,255,.08); border-radius: 20px; background: rgba(255,255,255,.05); margin-top:.7rem; }
.landing-match-row .match-avatar { width:44px; height:44px; border-radius: 16px; background: linear-gradient(135deg,#8b5cf6,#06b6d4); display:grid; place-items:center; font-weight:900; }
.landing-match-row .match-score { margin-left:auto; font-weight:900; color:#67e8f9; }
.landing-safety-strip { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.1rem; }
.landing-safety-strip span { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.05); border-radius:999px; padding:.45rem .7rem; color:rgba(255,255,255,.76); font-size:.88rem; }

.chat-composer textarea { resize: none; overflow-y: auto; }
.chat-main { min-width: 0; }
.chat-box.v2 { scroll-behavior: smooth; }
.message-body { overflow-wrap: anywhere; }

@media (max-width: 991px) {
  .landing-proof-grid { grid-template-columns: 1fr; }
  .landing-phone-demo { margin-top: .8rem; }
  .landing-safety-strip { gap:.45rem; }
  .landing-safety-strip span { font-size:.8rem; }
}

@media (max-width: 767px) {
  body.page-chat { height: 100dvh; overflow: hidden; }
  body.page-chat .navbar-blur { position: sticky; top: 0; min-height: 56px; z-index: 1600; }
  body.page-chat .liazo-main { height: calc(100dvh - 56px); padding-top: .45rem !important; padding-bottom: calc(var(--mobile-tabbar-height) + .7rem) !important; overflow: hidden; }
  body.page-chat .liazo-main > .container-fluid { height: 100%; padding-left: .42rem !important; padding-right: .42rem !important; }
  body.page-chat .footer { display: none !important; }
  body.page-chat .chat-shell { height: 100%; min-height: 0; display: flex; flex-direction: column; gap: 0; }
  body.page-chat .chat-shell.has-active-chat .chat-sidebar { display: none !important; }
  body.page-chat .chat-shell.no-active-chat .chat-main { display: none !important; }
  body.page-chat .chat-shell.no-active-chat .chat-sidebar { display: flex !important; height: 100%; flex-direction: column; }
  body.page-chat .chat-sidebar-list { flex: 1; height: auto !important; max-height: none !important; overflow-y: auto; }
  body.page-chat .chat-main { flex: 1; min-height: 0; display:flex; flex-direction: column; border-radius: 22px; overflow:hidden; }
  body.page-chat .chat-main > .p-3:first-child,
  body.page-chat .chat-main > .p-md-4:first-child { position: static !important; flex: 0 0 auto; padding: .72rem .78rem !important; background: rgba(10,15,30,.96); }
  body.page-chat .chat-main > .p-3:first-child .avatar-sm,
  body.page-chat .chat-main > .p-md-4:first-child .avatar-sm { width: 38px; height: 38px; border-radius: 14px; }
  body.page-chat .chat-main h2.h5 { font-size: 1rem; }
  body.page-chat .chat-main .small { font-size: .73rem; }
  body.page-chat .chat-main .btn-sm { min-height: 38px; padding: .35rem .62rem; }
  body.page-chat .chat-main .btn-sm i + span,
  body.page-chat .chat-main .btn-sm:not(:first-child) { font-size: .72rem; }
  body.page-chat .chat-box.v2 { flex: 1 1 auto; min-height: 0 !important; height: auto !important; overflow-y: auto; padding: .72rem .72rem .35rem; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  body.page-chat .message { max-width: 86%; padding: .58rem .72rem; margin-bottom: .52rem; border-radius: 18px; font-size: .9rem; line-height: 1.3; }
  body.page-chat .message.me { border-bottom-right-radius: 7px; }
  body.page-chat .message.them { border-bottom-left-radius: 7px; }
  body.page-chat .message .small { font-size: .68rem; }
  body.page-chat [data-chat-form] { position: relative !important; bottom: auto !important; flex: 0 0 auto; padding: .66rem .75rem .76rem !important; border-radius: 0 !important; background: rgba(8,13,27,.98); }
  body.page-chat [data-chat-form] textarea.form-control { min-height: 48px; max-height: 118px; height: 48px; border-radius: 18px; font-size: .94rem; padding: .72rem .85rem; }
  body.page-chat [data-chat-form] .d-flex { margin-top: .5rem !important; justify-content: flex-end !important; }
  body.page-chat [data-chat-form] .form-text { display:none !important; }
  body.page-chat [data-chat-form] button { min-height: 44px; min-width: 112px; padding-inline: 1rem !important; }
  body.page-chat .mobile-tabbar { min-height: 66px; --mobile-tabbar-height: 66px; padding: .38rem; border-radius: 23px; }
  body.page-chat .mobile-tab { border-radius: 16px; }
  body.page-chat .mobile-tab i { font-size: 1rem; }
  body.page-chat .mobile-tab span { font-size: .62rem; }
}
