*{margin:0;padding:0;box-sizing:border-box}

:root{
  --bg-gradient: linear-gradient(
    180deg,
    #ff60c3 0%,
    #ff4fb2 18%,
    #ff7b53 62%,
    #ff6f32 100%
  );
}

html, body{
  height:100%;
}

body{
  font-family: Arial, sans-serif;
  background: var(--bg-gradient);
  min-height: 100svh;
  display:flex;
  justify-content:center;
  align-items:stretch;
}

.container{
  width:100%;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  background: var(--bg-gradient);
  max-width:none;
  overflow-x:hidden;
}

.container::before{ content:none; }

.header{
  background:#82d882;
  text-align:center;
  padding:20px;
  position:relative;
  z-index:10;
}

.logo-header{ margin-bottom:15px; }

.header-logo{
  width:200px; height:200px; object-fit:contain;
}

.header h1{
  font-size:18px; font-weight:700; color:#333; text-transform:uppercase; line-height:1.3;
}

.main-content{
  padding:30px 20px;
  text-align:center;
  flex:1;              
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.promotion-section h2{
  font-size:24px; font-weight:700; color:#000;
  margin-bottom:20px; line-height:1.2; text-transform:uppercase;
}

.subtitle{
  font-size:18px; color:#333; margin-bottom:30px; font-weight:700; text-transform:uppercase;
}

.vip-group, .vip__group{ margin:30px 0; }

.vip-label{
  background: rgba(255,255,255,.9);
  color:#333; padding:12px 25px; border-radius:10px; font-weight:700; font-size:16px;
  display:inline-block; box-shadow:0 4px 15px rgba(0,0,0,.2);
}

.remaining-spots{ 
  margin:40px 0 10px; 
}
.remaining-spots p{
  font-size:18px; color:#333; font-weight:700; margin-bottom:10px; text-transform:uppercase;
}
.remaining-spots h3{
  font-size:48px; font-weight:700; color:#333; text-transform:uppercase; letter-spacing:2px;
}

button, .join-button{
  padding:20px 30px; width:100%; max-width:300px; font-size:16px; font-weight:700; text-transform:uppercase;
  cursor:pointer; border:none; border-radius:9px;
  background: linear-gradient(90deg, rgba(185,253,100,.98) 0%, rgba(134,206,45,.98) 100%);
  color:#111; box-shadow:0 6px 20px rgba(0,0,0,.25);
  transition: transform .2s, box-shadow .2s;
  margin: 10px auto 25px; 
}
.join-button:hover{ transform: translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,.35); }

.pulsing{ animation: breath 4s ease-in-out infinite, neonBlink 1.2s infinite; }
@keyframes breath{ 0%{transform:scale(1)} 50%{transform:scale(1.07)} 100%{transform:scale(1)} }
@keyframes neonBlink{
  0%{ box-shadow:0 0 6px rgba(185,253,100,.5), 0 6px 20px rgba(0,0,0,.25) }
  50%{ box-shadow:0 0 24px rgba(185,253,100,1), 0 10px 30px rgba(0,0,0,.35) }
  100%{ box-shadow:0 0 6px rgba(185,253,100,.5), 0 6px 20px rgba(0,0,0,.25) }
}

.members-count{
  font-size:20px; color:#333; font-weight:700; margin:30px 0; text-transform:uppercase;
}

.notification{
  background:#32CD32; padding:15px 20px; border-radius:12px; margin:20px 0; max-width:280px;
  box-shadow:0 4px 15px rgba(0,0,0,.2); text-align:left; margin-left:auto; position:relative;
  animation: slideRightToRight 4s ease-in-out infinite;
}
.notification span{ color:#333; font-weight:700; font-size:14px; text-transform:uppercase; }
@keyframes slideRightToRight{
  0%{ transform:translateX(300px); opacity:0 }
  15%{ transform:translateX(0); opacity:1 }
  85%{ transform:translateX(0); opacity:1 }
  100%{ transform:translateX(300px); opacity:0 }
}

.footer{
  margin-top:auto;             
  padding:12px 0;
  background: transparent;   
  position: static;           
  border-top: 1px solid rgba(255,255,255,.25);
}
.footer p{
  color:#fff; font-size:14px; font-weight:700; text-align:center; margin:0;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}

@media (max-width:480px){
  .header{ padding:15px; }
  .header-logo{ width:160px; height:160px; }
  .header h1{ font-size:16px; }
  .promotion-section h2{ font-size:20px; padding:0 10px; }
  .subtitle{ font-size:16px; padding:0 10px; }
  .remaining-spots h3{ font-size:36px; }
  .join-button{ font-size:14px; padding:18px 25px; margin:12px auto 20px; }
  .members-count{ font-size:18px; padding:0 10px; }
  .notification{ max-width:250px; margin:20px auto; }
  .notification span{ font-size:12px; }
}
@media (max-width:360px){
  .header h1{ font-size:14px; }
  .promotion-section h2{ font-size:18px; }
  .join-button{ font-size:13px; padding:16px 20px; margin:10px auto 18px; }
}
@media (max-width: 480px) {
  .header-logo {
    width: 120px;
    height: 120px;
  }
  .header h1 {
    font-size: 14px;
    line-height: 1.2;
  }
  .promotion-section h2 {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .subtitle {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .vip-label {
    font-size: 14px;
    padding: 10px 18px;
  }
  .remaining-spots p {
    font-size: 14px;
  }
  .remaining-spots h3 {
    font-size: 28px;
  }
  .join-button {
    font-size: 13px;
    padding: 14px 20px;
    max-width: 260px;
    margin: 10px auto 18px;
  }
  .members-count {
    font-size: 14px;
    margin: 20px 0;
  }
  .notification {
    padding: 10px 14px;
    max-width: 220px;
  }
  .notification span {
    font-size: 11px;
  }
  .footer p {
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .header h1 {
    font-size: 12px;
  }
  .promotion-section h2 {
    font-size: 16px;
  }
  .subtitle {
    font-size: 12px;
  }
  .join-button {
    font-size: 12px;
    padding: 12px 16px;
    margin: 8px auto 16px;
  }
  .remaining-spots h3 {
    font-size: 24px;
  }
}
