/* Шрифты и анимации из макета. Остальная вёрстка — инлайновыми стилями в src/views/invite.js */

@font-face { font-family: 'Evolventa'; src: url('/static/invite/fonts/Evolventa-Regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Evolventa'; src: url('/static/invite/fonts/Evolventa-Bold.ttf') format('truetype'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Snell'; src: url('/static/invite/fonts/Snell-Bold.otf') format('opentype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Snell'; src: url('/static/invite/fonts/Snell-Black.otf') format('opentype'); font-weight: 700; font-display: swap; }

@keyframes inkIn { from { -webkit-mask-position: 100% 0; mask-position: 100% 0; } to { -webkit-mask-position: 0% 0; mask-position: 0% 0; } }
@keyframes floatSoft { 0%,100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(0,-14px,0) rotate(-1.2deg); } }
@keyframes floatBird { 0%,100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(-10px,-22px,0) rotate(2deg); } }
@keyframes twinkle { 0%,100% { opacity: .45; transform: scale(.86) rotate(-6deg); } 50% { opacity: 1; transform: scale(1.16) rotate(14deg); } }
@keyframes swayLace { 0%,100% { transform: translateX(-3.2%); } 50% { transform: translateX(3.2%); } }
@keyframes floatWide { 0%,100% { transform: translate3d(-10px,0,0) rotate(-1.6deg); } 50% { transform: translate3d(10px,-30px,0) rotate(1.6deg); } }
@keyframes angelA { 0%,100% { transform: translate3d(0,0,0) rotate(-2deg); } 50% { transform: translate3d(10px,-26px,0) rotate(2deg); } }
@keyframes angelB { 0%,100% { transform: translate3d(0,0,0) rotate(2deg); } 50% { transform: translate3d(-12px,-20px,0) rotate(-2.5deg); } }
@keyframes riseIn { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }

[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #121615; -webkit-font-smoothing: antialiased; }
a { color: #e8e2d4; }
a:hover { color: #ffffff; }

.btn-reset {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: center;
}

/* style-hover из макета */
.hover-full:hover { opacity: 1 !important; }
.glass-link:hover { background: linear-gradient(180deg, rgba(247,244,234,.4), rgba(226,222,208,.3)) !important; color: #f7f4ea !important; }

/* Стеклянные кнопки анкеты (glass / pill в макете) */
.glass {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0 6px;
  cursor: pointer;
  line-height: 1;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(238,236,226,.16), rgba(238,236,226,.06));
  color: #f7f4ea;
  border: 1px solid rgba(245,242,232,.45);
  box-shadow: 0 12px 26px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -8px 18px rgba(255,255,255,.05);
  -webkit-backdrop-filter: blur(5px) saturate(108%);
  backdrop-filter: blur(5px) saturate(108%);
  font-family: 'Evolventa', Arial, sans-serif;
  font-size: 13px;
  letter-spacing: .16em;
  text-transform: uppercase;
  transition: background .35s ease, color .35s ease, box-shadow .35s ease;
}
.glass.is-active {
  background: linear-gradient(180deg, rgba(247,244,234,.55), rgba(226,222,208,.45));
  color: #22322a;
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 14px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.8);
}
.glass[disabled] { cursor: progress; opacity: .8; }
.pill { flex: 1 1 0; min-height: 54px; padding: 0 8px; }
.submit {
  width: 100%;
  max-width: 300px;
  min-height: 58px;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  letter-spacing: .01em;
}
.glass-input::placeholder { color: rgba(247,244,234,.62); }

.rsvp-status {
  width: 100%;
  max-width: 300px;
  min-height: 20px;
  text-align: center;
  color: #f7f4ea;
  font-family: 'Evolventa', Arial, sans-serif;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity .5s ease;
}
.rsvp-status.is-visible { opacity: 1; }

.rsvp-edit {
  margin-top: 4px;
  padding: 8px 12px;
  cursor: pointer;
  font-family: 'Evolventa', Arial, sans-serif;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #f7f4ea;
  opacity: .78;
  text-decoration: underline;
  text-decoration-color: rgba(247,244,234,.4);
  text-underline-offset: 5px;
  transition: opacity .3s ease;
}
.rsvp-edit:hover { opacity: 1; }

button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid rgba(247,244,234,.75);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .decor-anim { animation: none !important; }
}
