/* ==========================================================================
   mobile-interview-invite.html — мобильное приложение соискателя: приглашение
   на собеседование (Figma 6:4643, часть объединённого фрейма "сцена 9")
   ========================================================================== */

.mobile-demo-body {
  background: #eceef1;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem 1rem;
}

.mobile-demo-wrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.phone-frame {
  width: 100%;
  max-width: 400px;
  background: #fdfdfd;
  border: 1px solid #e5e8ea;
  border-radius: 32px;
  box-shadow: 0 30px 60px rgba(20, 24, 27, .18);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 780px;
}

/* ---------- Status bar ---------- */

.status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.4rem .3rem;
  font-size: .95rem;
  font-weight: 500;
  color: #4c4e53;
}

.status-bar__icons { display: flex; align-items: center; gap: .4rem; }
.status-bar__icons img { height: 12px; width: auto; }

/* ---------- App topbar ---------- */

.app-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .6rem 1.4rem 1rem;
  border-bottom: 1px solid #f0f1f4;
  margin-bottom: .9rem;
}

.app-topbar__logo { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.app-topbar__logo img { width: 26px; height: auto; flex-shrink: 0; }
.app-topbar__logo-text { display: flex; flex-direction: column; line-height: 1.15; }
.app-topbar__logo-text strong { font-size: .95rem; font-weight: 700; color: #1c1d1e; }
.app-topbar__logo-text small { font-size: .6rem; color: #9497a4; }

.app-topbar__icon-badge { position: relative; display: inline-flex; flex-shrink: 0; }
.app-topbar__icon-badge img { width: 19px; height: auto; }
.app-topbar__badge {
  position: absolute;
  top: -6px;
  right: -7px;
  background: #f2820a;
  color: #fff;
  font-size: .58rem;
  font-weight: 700;
  min-width: 15px;
  height: 15px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
}

/* ---------- Sub-header ---------- */

.phone-subheader {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 0 1.4rem .9rem;
}

.phone-subheader__back { background: none; border: 0; padding: 0; flex-shrink: 0; }
.phone-subheader__back img { width: 14px; height: auto; }

.phone-subheader h1 {
  font-size: .92rem;
  font-weight: 500;
  color: #4c4e53;
  margin: 0;
}

/* ---------- Content ---------- */

.phone-content {
  flex: 1;
  padding: 0 1.1rem 1rem;
}

.invite-hero {
  text-align: center;
  background: #fcfcfc;
  border: 1px solid #f0f1f3;
  border-radius: 16px;
  padding: 1.6rem 1.2rem 1.4rem;
  margin-bottom: 1rem;
}

.invite-hero__icon-wrap { position: relative; display: inline-block; width: 76px; height: 76px; margin-bottom: 1rem; }
.invite-hero__icon-wrap > :first-child { width: 76px; height: 76px; position: relative; z-index: 1; }

.invite-hero__confetti { position: absolute; width: 12px; height: auto; z-index: 0; }
.invite-hero__confetti--1 { top: -6px; left: -22px; }
.invite-hero__confetti--2 { top: -10px; right: -20px; width: 9px; }
.invite-hero__confetti--3 { bottom: 4px; left: -28px; width: 9px; }
.invite-hero__confetti--4 { bottom: -2px; right: -26px; }

.invite-hero h2 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #272e39;
  margin: 0 0 .4rem;
  line-height: 1.2;
}

.invite-hero p { font-size: .8rem; color: #8a8f9c; margin: 0; }

.invite-vacancy-card {
  display: flex;
  align-items: center;
  gap: .9rem;
  background: #fcfcfc;
  border: 1px solid #f0f1f3;
  border-radius: 13px;
  padding: 1rem 1.1rem;
  margin-bottom: .9rem;
}

.avatar-silk {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #050505;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  color: #c2c2c3;
  font-weight: 700;
  font-size: .42rem;
  letter-spacing: .02em;
}

.invite-vacancy-card strong { display: block; font-size: 1.05rem; font-weight: 600; color: #282b32; margin-bottom: .15rem; }
.invite-vacancy-card__employer { display: flex; align-items: center; gap: .3rem; font-size: .8rem; color: #6d717c; margin-bottom: .3rem; }
.invite-vacancy-card__employer img { width: 13px; height: auto; }
.invite-vacancy-card__addr { display: flex; align-items: center; gap: .35rem; font-size: .76rem; color: #838794; }
.invite-vacancy-card__addr img { width: 12px; height: auto; }

.invite-details {
  list-style: none;
  margin: 0 0 .9rem;
  padding: 0;
  background: #f6f8f6;
  border: 1px solid #e9eee9;
  border-radius: 13px;
  overflow: hidden;
}

.invite-details li {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .8rem 1.1rem;
  border-bottom: 1px solid #e9eee9;
}
.invite-details li:last-child { border-bottom: 0; }
.invite-details img, .invite-details .icon-inline { width: 19px; height: auto; flex-shrink: 0; }
.invite-details span { display: block; font-size: .72rem; color: #7c8188; margin-bottom: .1rem; }
.invite-details strong { display: block; font-size: .84rem; font-weight: 500; color: #4a4d51; }

.invite-hint {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  background: #fbf6ea;
  border: 1px solid #f3e6c9;
  border-radius: 10px;
  padding: .8rem 1rem;
  margin-bottom: 1.1rem;
}
.invite-hint img { width: 17px; height: auto; flex-shrink: 0; margin-top: .1rem; }
.invite-hint strong { display: block; font-size: .8rem; font-weight: 500; color: #b97656; margin-bottom: .2rem; }
.invite-hint p { margin: 0; font-size: .74rem; color: #9a826d; line-height: 1.4; }

.invite-actions { display: flex; flex-direction: column; gap: .7rem; margin-bottom: 1rem; }

.btn-invite {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  border-radius: 8px;
  padding: .85rem;
  font-size: .9rem;
  font-weight: 500;
}
.btn-invite img { width: 17px; height: auto; }

.btn-invite--accept { background: #297d38; border: 1px solid #2f7b3f; color: #fff; }
.btn-invite--decline { background: #fdfafa; border: 1px solid #ee8584; color: #f0504e; }
.btn-invite--reschedule { background: #fdfdfd; border: 1px solid #dadce1; color: #676c78; }

.invite-footnote {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .74rem;
  color: #707683;
  line-height: 1.4;
  margin: 0;
}
.invite-footnote img { width: 17px; height: auto; flex-shrink: 0; margin-top: .1rem; }

/* ---------- Bottom nav ---------- */

.phone-nav {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  border-top: 1px solid #eceef0;
  padding: .7rem .6rem .9rem;
}

.phone-nav__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  font-size: .68rem;
  color: #8b8c96;
  font-weight: 300;
}

.phone-nav__item img { width: 20px; height: auto; }
.phone-nav__item.is-active { color: #f2820a; font-weight: 500; }

@media (max-width: 420px) {
  .phone-frame { border-radius: 0; min-height: 100vh; }
  .mobile-demo-body { padding: 0; }
}
