/* ==========================================================================
   Bandmaster — Coming Soon / Holding Page
   ========================================================================== */

html, body.bm-coming-soon {
  margin: 0;
  min-height: 100%;
}

.bm-cs {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  background: linear-gradient(135deg, var(--blue), var(--blue-dark)) center / cover no-repeat;
}

.bm-cs__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bm-cs__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
}

.bm-cs__login-toggle {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 56px;
  padding: 0;
  border: 1px solid var(--line);
  border-right: none;
  border-radius: 10px 0 0 10px;
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow);
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
.bm-cs__login-toggle:hover { background: var(--panel); color: var(--text); }
.bm-cs__login-icon { width: 20px; height: 20px; }

@media (max-width: 760px) {
  .bm-cs__login-toggle { width: 34px; height: 48px; }
  .bm-cs__login-icon { width: 16px; height: 16px; }
}

.bm-cs__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 480px;
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: var(--space-7) var(--space-6);
  text-align: center;
}

.bm-cs__logo {
  --bm-cs-logo-size: 50px;
  display: inline-block;
  margin: 0 auto var(--space-4);
  color: var(--blue);
  font-size: calc(var(--bm-cs-logo-size) * 0.56);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none;
}
.bm-cs__logo:hover { color: var(--blue); }
.bm-cs__logo img {
  display: block;
  max-height: var(--bm-cs-logo-size);
  width: auto;
  margin: 0 auto;
}

.bm-cs__heading {
  margin: 0 0 var(--space-3);
  font-size: 2rem;
  line-height: 1.2;
  color: var(--text);
}

.bm-cs__message {
  margin: 0 0 var(--space-5);
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.5;
}

.bm-cs__countdown {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-5);
}

.bm-cs__countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 56px;
  padding: var(--space-2) var(--space-1);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.bm-cs__countdown-value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--blue);
  font-variant-numeric: tabular-nums;
}

.bm-cs__countdown-label {
  margin-top: 2px;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--muted);
}

@media (max-width: 480px) {
  .bm-cs__countdown { gap: var(--space-2); }
  .bm-cs__countdown-unit { min-width: 48px; }
  .bm-cs__countdown-value { font-size: 1.2rem; }
}

/* Light-card override — base .nl-message (main.css) is tinted for a dark
   background, same fix as .subscribe-page .nl-message. */
.bm-cs .nl-message       { padding: 12px 16px; border-radius: 8px; font-size: .92rem; border: 1px solid var(--line); margin-bottom: var(--space-4); text-align: left; }
.bm-cs .nl-message--success { background: #ecfdf5; border-color: #a7f3d0; color: #047857; }
.bm-cs .nl-message--info    { background: #eff6ff; border-color: #bfdbfe; color: #1e40af; }
.bm-cs .nl-message--error   { background: #fef2f2; border-color: #fca5a5; color: #b91c1c; }

.bm-cs .subscribe-form {
  max-width: none;
  margin: 0 auto;
}

@media (max-width: 480px) {
  .bm-cs__content { padding: var(--space-5) var(--space-4); }
  .bm-cs__heading { font-size: 1.6rem; }
}
