/* gas-builder.css — minimal custom on top of Tailwind */

.step .dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #e2e8f0;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.85rem;
  transition: all 0.2s;
}

.step.active .dot {
  background: #7c3aed;
  color: white;
}

.step.completed .dot {
  background: #10b981;
  color: white;
}

.step.completed .dot::before {
  content: '✓';
}

/* Hide step number when completed */
.step.completed .dot {
  font-size: 0;
}
.step.completed .dot::before {
  font-size: 0.85rem;
}

.theme-card input:checked + div {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

.addon-card {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s;
}

.addon-card:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.addon-card input:checked ~ .addon-content {
  color: #7c3aed;
}

.addon-card.force-mode-b {
  position: relative;
}

.addon-card.force-mode-b::after {
  content: '⚠️→B';
  position: absolute;
  top: 0.25rem;
  right: 0.5rem;
  font-size: 0.7rem;
  color: #f59e0b;
}

.template-card {
  cursor: pointer;
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 1rem;
  padding: 1rem;
  transition: all 0.15s;
}

.template-card:hover {
  border-color: #c4b5fd;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.template-card.selected {
  border-color: #7c3aed;
  background: #faf5ff;
}

.template-card .badge-mode-b-only {
  background: #fef3c7;
  color: #92400e;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 9999px;
  font-weight: 500;
}

.delivery-choice {
  cursor: pointer;
  background: white;
  border: 2px solid #e2e8f0;
  border-radius: 1rem;
  padding: 1.5rem;
  transition: all 0.15s;
}

.delivery-choice:hover {
  border-color: #c4b5fd;
}

.delivery-choice.selected {
  border-color: #7c3aed;
  background: #faf5ff;
}

.delivery-choice .recommended-badge {
  display: inline-block;
  background: #7c3aed;
  color: white;
  font-size: 0.7rem;
  padding: 2px 8px;
  border-radius: 9999px;
  margin-left: 0.5rem;
}

@media (max-width: 640px) {
  .step span:not(.dot) {
    display: none;
  }
}
