/* blocks/csv-translator-block-frontend.css */
.csv-translator-public-form {
  max-width: 800px;
  margin: 40px auto;
}

.csv-step {
  display: none;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 30px;
  margin-bottom: 20px;
}

.csv-step.active {
  display: block;
}

.csv-step h3 {
  margin-top: 0;
  padding-bottom: 15px;
  border-bottom: 2px solid #2271b1;
}

.file-upload-area {
  position: relative;
  border: 2px dashed #ddd;
  border-radius: 8px;
  padding: 60px 20px;
  text-align: center;
  transition: all 0.3s;
  margin-bottom: 20px;
}

.file-upload-area.dragover {
  border-color: #2271b1;
  background: #f0f6fc;
}

.file-upload-area input[type="file"] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
}

.file-upload-area label {
  display: block;
  cursor: pointer;
}

.file-upload-area .dashicons {
  font-size: 48px;
  color: #2271b1;
  display: block;
  margin-bottom: 10px;
}

.upload-text {
  display: block;
  font-size: 18px;
  margin-bottom: 5px;
}

.file-size-hint {
  display: block;
  font-size: 14px;
  color: #757575;
}

.form-row {
  margin-bottom: 20px;
}

.form-row label {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}

.form-row select,
.form-row input[type="number"] {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.language-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
  padding: 15px;
  background: #f9f9f9;
  border-radius: 4px;
}

.language-option {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cost-estimate {
  background: #f0f6fc;
  border-left: 4px solid #2271b1;
  padding: 20px;
  margin: 20px 0;
  border-radius: 4px;
}

.progress-bar {
  width: 100%;
  height: 40px;
  background: #f0f0f1;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 15px;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #2271b1, #72aee6);
  width: 0;
  transition: width 0.3s;
}

#public-download-list {
  list-style: none;
  padding: 0;
}

#public-download-list li {
  margin: 15px 0;
}

.download-button {
  display: inline-block;
  padding: 12px 24px;
  background: #2271b1;
  color: white !important;
  text-decoration: none !important;
  border-radius: 4px;
  transition: background 0.3s;
}

.download-button:hover {
  background: #135e96;
}

.download-button .dashicons {
  vertical-align: middle;
}
