.roadmap-drawer {
  position: fixed;
  inset: 0;
  z-index: 1300;
  visibility: hidden;
  pointer-events: none;
}

.roadmap-drawer.is-open {
  visibility: visible;
  pointer-events: auto;
}

.roadmap-drawer-backdrop {
  position: absolute;
  inset: 0;
  background: var(--dark-a62);
  backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 300ms ease;
}

.roadmap-drawer.is-open .roadmap-drawer-backdrop {
  opacity: 1;
}

.roadmap-drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(520px, 100vw);
  background: var(--bg-dark);
  color: var(--text-on-dark);
  padding: var(--space-8) var(--space-6);
  border-left: 1px solid var(--light-a16);
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform 400ms cubic-bezier(0.32, 0.72, 0, 1);
}

.roadmap-drawer.is-open .roadmap-drawer-panel {
  transform: translateX(0);
}

.roadmap-close {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  border: 1px solid var(--light-a26);
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--text-on-dark);
  width: 32px;
  height: 32px;
  cursor: pointer;
}

.roadmap-kicker {
  margin: 0 0 var(--space-2);
  font-size: var(--text-micro);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-on-dark-muted);
}

.roadmap-drawer-panel h3 {
  margin: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.1;
}

.roadmap-summary {
  margin: var(--space-4) 0;
  color: var(--text-on-dark-muted);
  line-height: 1.65;
}

.roadmap-milestones {
  margin: 0 0 var(--space-6);
  padding-left: 18px;
  display: grid;
  gap: var(--space-2);
  color: var(--text-on-dark);
}

.roadmap-form {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-4);
}

.roadmap-form label {
  display: grid;
  gap: 6px;
  font-size: var(--text-caption);
  font-weight: 500;
  color: var(--text-on-dark-muted);
  letter-spacing: 0.2px;
}

.roadmap-form input,
.roadmap-form textarea,
.roadmap-form select {
  width: 100%;
  border-radius: var(--radius-card-sm);
  border: 1px solid var(--light-a16);
  background: var(--light-a6);
  color: var(--text-on-dark);
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-body-sm);
  line-height: 1.5;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
  outline: none;
}

.roadmap-form input::placeholder,
.roadmap-form textarea::placeholder {
  color: var(--light-a35);
}

.roadmap-form input:hover,
.roadmap-form textarea:hover,
.roadmap-form select:hover {
  border-color: var(--light-a26);
  background: var(--light-a8);
}

.roadmap-form input:focus,
.roadmap-form textarea:focus,
.roadmap-form select:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px var(--green-a14);
  background: var(--light-a8);
}

.roadmap-form select {
  color-scheme: dark;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='rgba(248,250,252,0.5)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: var(--space-8);
}

.roadmap-form select option {
  background: #0b0b10;
  color: #e0e0e0;
}

.roadmap-form textarea {
  resize: vertical;
  min-height: 80px;
}

/* ── Phone field row ── */
.roadmap-form .phone-row,
.roadmap-form label > div[style*="display:flex"] {
  display: flex;
  gap: var(--space-2);
  margin-top: 2px;
}

.roadmap-form .phone-row select,
.roadmap-form label > div[style*="display:flex"] select {
  width: 100px;
  flex-shrink: 0;
}

.roadmap-form .phone-row input,
.roadmap-form label > div[style*="display:flex"] input {
  flex: 1;
}

/* ── Captcha section ── */
.bp-captcha-slot {
  margin-top: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-card-sm);
  background: var(--light-a4);
  border: 1px solid var(--light-a10);
}

.bp-captcha-slot:empty {
  display: none;
}

.bp-captcha-slot .captcha-field {
  gap: var(--space-3);
}

.bp-captcha-slot .captcha-label {
  font-size: var(--text-body-sm);
  color: var(--text-on-dark-muted);
}

.bp-captcha-slot .captcha-input {
  width: 72px;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-card-sm);
  border: 1px solid var(--light-a16);
  background: var(--light-a6);
  color: var(--text-on-dark);
  font-size: var(--text-body-sm);
  font-weight: 600;
  text-align: center;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
  outline: none;
}

.bp-captcha-slot .captcha-input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 3px var(--green-a14);
  outline: none;
}

/* Turnstile widget spacing */
.bp-captcha-slot iframe,
.bp-captcha-slot .cf-turnstile {
  margin-top: var(--space-3);
}

/* ── Submit button ── */
.roadmap-form button[type="submit"] {
  width: 100%;
  padding: var(--space-3) var(--space-6);
  margin-top: var(--space-2);
  border-radius: var(--radius-pill);
  border: none;
  background: var(--green);
  color: #fff;
  font-size: var(--text-body);
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: background var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.roadmap-form button[type="submit"]:hover {
  background: var(--green-dark);
  box-shadow: 0 0 24px var(--green-a30);
  transform: translateY(-1px);
}

.roadmap-form button[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}

.roadmap-form button[type="submit"]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ── Status messages ── */
.roadmap-form-status {
  min-height: 20px;
  margin: 0;
  font-size: var(--text-caption);
  font-weight: 500;
  text-align: center;
  transition: color var(--transition-fast);
}

.roadmap-form-status:empty {
  display: none;
}

/* Default / submitting state */
.roadmap-form-status.is-submitting {
  color: var(--text-on-dark-muted);
}

.roadmap-form-status.is-success {
  color: var(--green);
}

.roadmap-form-status.is-error {
  color: var(--danger);
}

/* ── Close button polish ── */
.roadmap-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition-fast), border-color var(--transition-fast);
}

.roadmap-close:hover {
  background: var(--light-a10);
  border-color: var(--light-a35);
}

.roadmap-close svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ── Divider above form ── */
.roadmap-form {
  padding-top: var(--space-4);
  border-top: 1px solid var(--light-a10);
}

/* ── Mobile adjustments ── */
@media (max-width: 480px) {
  .roadmap-drawer-panel {
    padding: var(--space-6) var(--space-4);
  }

  .roadmap-form .phone-row {
    flex-direction: column;
    gap: var(--space-2);
  }

  .roadmap-form .phone-row select {
    width: 100%;
  }
}

body.no-scroll { overflow: hidden; }
