/* ============================================================
   ВИЗАРТЪ — приглашение поставить галерею на домашний экран
   и уведомление о связи. Оба — в тоне галереи: латунная планка
   на бархате, ничего кричащего.
   ============================================================ */

.pwa-invite {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 90;
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(560px, calc(100vw - 28px));
  padding: 14px 16px;
  background: linear-gradient(160deg, rgba(74, 14, 28, .97), rgba(43, 6, 15, .98));
  border: 1px solid rgba(201, 162, 39, .42);
  border-radius: 3px;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .6);
  color: #F3E7C9;
  /* Появление снизу: планку будто выдвинули из-под края стола */
  transform: translate(-50%, 130%);
  opacity: 0;
  transition: transform .6s cubic-bezier(.23, 1, .32, 1), opacity .5s;
}

.pwa-invite.is-in {
  transform: translate(-50%, 0);
  opacity: 1;
}

.pwa-invite__seal {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(201, 162, 39, .3), 0 4px 12px rgba(0, 0, 0, .5);
}

.pwa-invite__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.pwa-invite__title {
  font-family: var(--font-serif, 'Cormorant', serif);
  font-size: 17px;
  font-variant: small-caps;
  letter-spacing: .06em;
  color: #E8C55F;
  font-weight: 500;
}

.pwa-invite__note {
  font-family: var(--font-text, 'EB Garamond', serif);
  font-size: 13.5px;
  line-height: 1.45;
  color: #A88F6A;
}

.pwa-invite__acts {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: auto;
  flex: 0 0 auto;
}

.pwa-invite__yes,
.pwa-invite__no {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 2px;
  cursor: pointer;
  font-family: var(--font-serif, 'Cormorant', serif);
  font-size: 14px;
  font-variant: small-caps;
  letter-spacing: .08em;
  white-space: nowrap;
  transition: border-color .35s, background .35s, color .35s;
}

.pwa-invite__yes {
  background: rgba(201, 162, 39, .14);
  border: 1px solid rgba(201, 162, 39, .55);
  color: #E8C55F;
}
.pwa-invite__yes:hover {
  background: rgba(201, 162, 39, .24);
  border-color: #E8C55F;
}

.pwa-invite__no {
  background: none;
  border: 1px solid rgba(168, 143, 106, .3);
  color: #A88F6A;
}
.pwa-invite__no:hover { color: #C9A227; border-color: rgba(201, 162, 39, .45); }

/* Уведомление о связи */
.pwa-note {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 91;
  padding: 11px 20px;
  background: linear-gradient(160deg, rgba(74, 14, 28, .96), rgba(43, 6, 15, .97));
  border: 1px solid rgba(201, 162, 39, .38);
  border-radius: 2px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .55);
  color: #F3E7C9;
  font-family: var(--font-text, 'EB Garamond', serif);
  font-size: 15px;
  transform: translate(-50%, 130%);
  opacity: 0;
  transition: transform .5s cubic-bezier(.23, 1, .32, 1), opacity .4s;
}
.pwa-note.is-in { transform: translate(-50%, 0); opacity: 1; }

@media (max-width: 620px) {
  /* На телефоне приглашение становится в две строки: кнопки под текстом */
  .pwa-invite {
    flex-wrap: wrap;
    gap: 10px;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .pwa-invite__acts {
    flex-direction: row;
    width: 100%;
    margin-left: 0;
  }
  .pwa-invite__yes, .pwa-invite__no { flex: 1; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .pwa-invite, .pwa-note { transition: opacity .3s; transform: translate(-50%, 0); }
}
