/* Gift activation page: external CSS because CSP blocks inline <style>. */
html{
  background:#050506;
}
body.giftBody{
  min-height:100dvh;
  background:#050506;
  color:var(--text);
  display:flex;
  flex-direction:column;
}
body.giftBody main.giftPage.wrap{
  flex:1 0 auto;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:48px 16px 96px !important;
  box-sizing:border-box;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative;
  min-height:calc(100dvh - 210px);
}
body.giftBody main.giftPage::before,
body.giftBody main.giftPage::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
  filter:blur(12px);
  opacity:.45;
}
body.giftBody main.giftPage::before{
  width:240px;
  height:240px;
  left:max(-90px,-8vw);
  bottom:10%;
  background:radial-gradient(circle,rgba(244,244,245,.13),transparent 62%);
}
body.giftBody main.giftPage::after{
  width:210px;
  height:210px;
  right:max(-70px,-6vw);
  top:16%;
  background:radial-gradient(circle,rgba(161,161,170,.12),transparent 64%);
}
body.giftBody .giftCard.glass.card.soft,
body.giftBody .giftCard{
  width:min(100%,520px) !important;
  max-width:520px !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:24px !important;
  border-radius:22px !important;
  background:
    radial-gradient(720px 240px at 18% 0%,rgba(255,255,255,.12),transparent 58%),
    linear-gradient(135deg,rgba(18,19,23,.90),rgba(7,8,11,.78)) !important;
  border:1px solid rgba(244,244,245,.18) !important;
  box-shadow:
    0 20px 64px rgba(0,0,0,.54),
    0 0 0 1px rgba(255,255,255,.06),
    0 0 38px rgba(161,161,170,.09) !important;
  box-sizing:border-box;
  overflow:hidden;
}
body.giftBody .giftCard > *{
  position:relative;
  z-index:2;
}
body.giftBody .giftTitle{
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:950;
  margin:0 0 12px;
  color:rgba(245,245,245,.98);
}
body.giftBody .giftText{
  max-width:460px;
  color:rgba(232,247,255,.78);
  font-size:15px;
  line-height:1.5;
  margin:0 0 14px;
}
body.giftBody .giftNote{
  margin-top:12px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(232,247,255,.78);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
body.giftBody .giftNote b{
  color:rgba(245,245,245,.96);
  font-weight:900;
}
body.giftBody .giftForm{
  margin-top:16px;
  max-width:460px;
}
body.giftBody .giftLabel{
  display:block;
  margin-bottom:8px;
  color:rgba(232,247,255,.84);
  font-size:14px;
  font-weight:780;
}
body.giftBody .giftInputWrap{
  position:relative;
}
body.giftBody .giftInputWrap input[type="email"]{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(245,245,245,.96);
  font-size:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  box-sizing:border-box;
}
body.giftBody .giftInputWrap input[type="email"]:focus{
  border-color:rgba(244,244,245,.36);
  box-shadow:0 0 0 4px rgba(244,244,245,.08), inset 0 1px 0 rgba(255,255,255,.05);
  outline:none;
}
body.giftBody .giftActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
body.giftBody .giftActions .btn{
  min-height:44px;
  padding:11px 16px;
  border-radius:15px;
}
body.giftBody .giftActions .btn.primary{
  min-width:190px;
}
body.giftBody .giftActions .giftAccessBtn{
  color:rgba(245,255,249,.98) !important;
  border:1px solid rgba(104,255,166,.68) !important;
  background:rgba(104,255,166,.08) !important;
  box-shadow:0 0 0 1px rgba(104,255,166,.16), 0 0 18px rgba(104,255,166,.12) !important;
}
body.giftBody .giftActions .giftAccessBtn:hover{
  background:rgba(104,255,166,.13) !important;
  border-color:rgba(104,255,166,.86) !important;
}
body.giftBody .giftActions .giftAccessBtn::after{
  content:none !important;
}
@media (max-width:720px){
  body.giftBody main.giftPage.wrap{
    min-height:calc(100dvh - 180px);
    padding:30px 14px 82px !important;
    align-items:center !important;
  }
  body.giftBody .giftCard.glass.card.soft,
  body.giftBody .giftCard{
    width:min(100%,440px) !important;
    max-width:440px !important;
    border-radius:20px !important;
    padding:18px 15px !important;
  }
  body.giftBody .giftTitle{
    font-size:24px;
  }
  body.giftBody .giftText{
    font-size:14.5px;
  }
  body.giftBody .giftInputWrap input[type="email"]{
    font-size:16px;
  }
  body.giftBody .giftActions .btn.primary{
    width:100%;
  }
}
