:root{
  --registration-line: var(--site-line, var(--line, rgba(255,255,255,.08)));
  --registration-line-strong: var(--site-line-strong, var(--line-strong, rgba(255,255,255,.16)));
  --registration-text: var(--site-text, var(--text, #f6f7f8));
  --registration-text-soft: var(--site-text-soft, var(--text-soft, rgba(255,255,255,.76)));
  --registration-text-muted: var(--site-text-muted, var(--text-muted, rgba(255,255,255,.5)));
  --registration-shadow: var(--site-shadow-soft, var(--shadow, 0 24px 64px rgba(0,0,0,.24)));
}

.registration-strip{
  margin-bottom:48px;
}

.registration-module{
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid var(--registration-line);
  border-radius:28px;
  color:var(--registration-text);
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.12), transparent 32%),
    radial-gradient(circle at left center, rgba(255,255,255,.05), transparent 28%),
    linear-gradient(155deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:var(--registration-shadow);
}

.registration-module-head,
.registration-module-body,
.registration-module-copy,
.registration-window-card,
.registration-window-copy{
  display:grid;
  gap:10px;
}

.registration-module-copy h2{
  margin:0;
  font-size:clamp(1.35rem, 2.8vw, 1.9rem);
  line-height:1;
  letter-spacing:-.045em;
}

.registration-module-copy p,
.registration-window-copy p{
  margin:0;
  color:var(--registration-text-soft);
  font-size:13px;
  line-height:1.65;
}

.registration-timer{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}

.registration-time-unit{
  display:grid;
  gap:4px;
  align-content:center;
  min-height:88px;
  padding:14px 12px;
  border-radius:18px;
  border:1px solid var(--registration-line);
  background:rgba(255,255,255,.035);
  text-align:center;
}

.registration-time-unit strong{
  font-size:clamp(1.2rem, 3.6vw, 1.8rem);
  line-height:1;
  letter-spacing:-.05em;
}

.registration-time-unit span{
  color:var(--registration-text-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.registration-window-list{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:10px;
}

.registration-window-list-compact{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.registration-window-card{
  min-height:116px;
  padding:14px;
  border-radius:20px;
  border:1px solid var(--registration-line);
  background:rgba(255,255,255,.03);
}

.registration-window-card strong{
  font-size:15px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.registration-window-copy small{
  color:var(--registration-text-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.registration-window-time{
  color:var(--registration-text-soft);
  font-size:12px;
  line-height:1.55;
}

.registration-window-card.is-active{
  border-color:rgba(34,197,94,.24);
  background:linear-gradient(155deg, rgba(34,197,94,.16), rgba(255,255,255,.04));
}

.registration-window-card.is-next{
  border-color:rgba(59,130,246,.22);
  background:linear-gradient(155deg, rgba(59,130,246,.14), rgba(255,255,255,.03));
}

.registration-window-card.is-muted{
  opacity:.72;
}

.registration-standing-picker{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.registration-standing-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--registration-line);
  background:rgba(255,255,255,.04);
  color:var(--registration-text-soft);
  font-size:12px;
  font-weight:800;
  transition:border-color .18s ease, background .18s ease, color .18s ease;
}

.registration-standing-btn.is-active{
  background:#ffffff;
  border-color:#ffffff;
  color:#050505;
}

.registration-summary-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--registration-line);
  background:rgba(255,255,255,.04);
  color:var(--registration-text-soft);
  font-size:12px;
  font-weight:700;
}

@media (max-width: 900px){
  .registration-module{
    padding:18px;
    border-radius:24px;
  }

  .registration-timer{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .registration-window-list,
  .registration-window-list-compact{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .registration-module{
    gap:14px;
    padding:16px;
    border-radius:22px;
  }

  .registration-module-copy h2{
    font-size:clamp(1.15rem, 6vw, 1.45rem);
  }

  .registration-window-list,
  .registration-window-list-compact{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
  }

  .registration-window-card{
    min-height:104px;
    padding:12px;
    border-radius:18px;
  }

  .registration-time-unit{
    min-height:72px;
    padding:12px 10px;
    border-radius:16px;
  }

  .registration-standing-btn{
    flex:1 1 calc(50% - 4px);
  }
}
