/* grid.css - Grid page specific styles */

.page {
  padding: 18px;
  min-height: 100vh;
}

.layout {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  max-width: 1400px;
  margin: 0 auto;
}

.sketch-wrap {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

#sketch-holder {
  position: relative;
}

#sketch-holder canvas {
  display: block;
  width: 100% !important;
  height: auto !important;
  cursor: pointer;
  transition: opacity var(--transition-base);
}

#sketch-holder canvas:active {
  opacity: 0.95;
}

.controls {
  flex: 0 0 260px;
  max-width: 340px;
}

.controls h1 {
  font-size: 16px;
  font-weight: 500;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

/* Call to action */
.cta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 14px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: white;
  border-radius: 6px;
  border: none;
  border-bottom: none !important;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
  box-shadow: 0 2px 4px rgba(16, 185, 129, 0.2);
}

.cta-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(16, 185, 129, 0.3);
  border-bottom: none !important;
}

.cta-link:active {
  transform: translateY(0);
}

/* Special regenerate button */
.regenerate-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}

.regenerate-btn::before {
  content: '🔄';
  display: inline-block;
  transition: transform 0.3s ease;
}

.regenerate-btn:hover::before {
  transform: rotate(180deg);
}

/* Flavor text */
.flavor-text {
  margin-top: var(--spacing-lg);
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
  font-style: italic;
  max-width: 280px;
}

/* Mobile: stack layout */
@media (max-width: 740px) {
  .layout {
    flex-direction: column;
    gap: 16px;
  }
  
  .controls {
    flex: 1 1 auto;
    max-width: none;
  }
  
  .controls h1 {
    font-size: 15px;
  }
  
  .cta-link {
    font-size: 15px;
  }
  
  .flavor-text {
    max-width: none;
  }
}

/* Very small screens */
@media (max-width: 400px) {
  .page {
    padding: 12px;
  }
  
  .layout {
    gap: 12px;
  }
  
  .links {
    gap: 10px;
  }
}
