/* Custom overrides and designer-specific styles (Bootstrap handles layout) */

[x-cloak] {
  display: none !important;
}

.app-header-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
}

.app-header-grid > *:first-child {
  min-width: 0;
}

html,
body {
  background: radial-gradient(circle at top left, #fef3c7, #e5e7eb 45%, #ffffff 80%);
  background-attachment: fixed;
}

/* Stepper dots: custom states */
.stepper-dot {
  width: 2.1rem;
  height: 2.1rem;
  border: 2px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font-weight: 600;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.12s ease;
}

.stepper-dot:hover {
  transform: translateY(-1px);
  border-color: #d1d5db;
}

.stepper-dot--active {
  background: #111827;
  border-color: #111827;
  color: #f9fafb;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.25);
}

.stepper-dot--completed {
  background: #22c55e;
  border-color: #16a34a;
  color: #ecfdf5;
}

/* Designer canvas */
.designer-canvas-wrapper {
  border-radius: 0.5rem;
  border: 1px dashed #cbd5f5;
  background: #eff6ff;
  padding: 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: auto;
  min-height: 200px;
  user-select: none;
  -webkit-user-select: none;
}

.designer-canvas {
  position: relative;
  user-select: none;
  -webkit-user-select: none;
}

.designer-divider {
  cursor: grab;
}

.designer-divider:active {
  cursor: grabbing;
}

/* Dimensions step: SVG preview */
.dimension-preview svg {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
  margin-inline: auto;
}
