.iifin-guest-wrap{ position:relative; }

.iifin-guest-dashboard{
  filter: none;
  transition: filter .25s ease;
  user-select: none;
  pointer-events: none; /* критично: никакой интерактивности в демо */
}
.iifin-guest-grid{
  display:grid; gap:12px;
  grid-template-columns: 1fr;
}
@media (min-width:768px){
  .iifin-guest-grid{ grid-template-columns: 1fr 1fr; }
}
.iifin-guest-card{
  border:1px solid #e5e7eb; border-radius:14px; padding:14px; background:#fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}
.iifin-guest-card h3{ margin:0 0 6px; font-size:16px; font-weight:800; color:#111827; }
.iifin-guest-main{ margin:0 0 6px; font-weight:800; font-size:20px; color:#111827; }
.iifin-guest-sub{ color:#6b7280; font-size:13px; }

.iifin-guest-bar{ height:8px; background:#f3f4f6; border-radius:999px; overflow:hidden; margin-top:8px; }
.iifin-guest-bar > span{ display:block; height:100%; background:linear-gradient(90deg,#60a5fa,#34d399); }

.iifin-guest-list{ list-style:none; padding:0; margin:0; display:grid; gap:6px; }
.iifin-guest-list li{ display:flex; align-items:center; justify-content:space-between; }
.iifin-guest-list em{ color:#6b7280; font-style:normal; font-size:13px; }

.iifin-guest-mask{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-radius:12px;
  padding:12px;
}
.iifin-guest-mask__inner{
  background:#ffffffcc; border:1px solid #e5e7eb; border-radius:16px; padding:16px; max-width:720px;
  text-align:center;
}
.iifin-guest-mask__title{ font-weight:900; font-size:18px; color:#111827; }
.iifin-guest-mask__desc{ color:#374151; font-size:14px; margin:8px 0 12px; }

.iifin-guest-cta{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.iifin-guest-btn{
  height:40px; padding:0 14px; border-radius:10px; font-weight:700; border:1px solid #e5e7eb;
  background:#fff; color:#111827; text-decoration:none; display:inline-flex; align-items:center;
}
.iifin-guest-btn--primary{ background:#2563eb; color:#fff; border-color:#2563eb; }
.iifin-guest-btn--ghost{ background:transparent; }

.iifin-guest-sticky{
  position:sticky; bottom:0; z-index:20; display:flex; gap:8px; justify-content:space-between;
  padding:10px; background:#ffffffd9; border-top:1px solid #e5e7eb; margin-top:12px;
}
.iifin-guest-sticky a, .iifin-guest-sticky button{
  flex:1; height:40px; border-radius:10px; font-weight:800; border:1px solid #e5e7eb;
  background:#fff; color:#111827; text-align:center;
}
.iifin-guest-sticky a.primary{
  background:#2563eb; color:#fff; border-color:#2563eb;
}

/* Состояние "демо": убираем блюр, но оставляем pointer-events: none */
.iifin-guest-wrap.demo .iifin-guest-mask{ display:none; }

.iifin-guest-mask{
  position: fixed;            /* было absolute */
  inset: 0;
  padding: clamp(72px, 12vh, 120px) 12px 96px; /* сверху отступ, снизу место для стики на мобилке */
  z-index: 1000;              /* поверх контента/темы */
  display:flex; align-items:flex-start; justify-content:center;
  background: rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
.iifin-guest-mask__inner{
  width: min(680px, 96vw);
  background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
}

/* Стики виден только когда маска скрыта (режим demo) */
.iifin-guest-wrap:not(.demo) .iifin-guest-sticky { display:none; }

.iifin-guest-sticky{
  position: fixed;            /* было sticky */
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px;
  width: min(680px, 92vw);
  z-index: 1001;
  display:flex; gap:8px; justify-content:space-between;
  padding:10px; background:#ffffff; border:1px solid #e5e7eb; border-radius:14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}
.iifin-guest-sticky a, .iifin-guest-sticky button{
  -webkit-appearance: none; appearance: none;
  flex:1; height:40px; border-radius:10px; font-weight:800;
  border:1px solid #e5e7eb; background:#fff; color:#111827; text-align:center;
  text-decoration:none; line-height:40px;
}
.iifin-guest-sticky a.primary{ background:#2563eb; color:#fff; border-color:#2563eb; }

/* На планшетах/десктопе стикер не нужен */
@media (min-width: 768px){
  .iifin-guest-sticky{ display:none; }
}

/* При активной маске размываем всё, что ниже гостевого блока */
.iifin-guest-wrap:not(.demo) + * {
  filter: blur(2px) saturate(.9);
}
