/* Compare.css */
.compare-side-by-side {
  display: flex;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 
               'Open Sans', 'Helvetica Neue', sans-serif;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.compare-inline {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 
               'Open Sans', 'Helvetica Neue', sans-serif;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  padding: 16px;
}

.compare-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.compare-panel:first-child {
  border-right: 1px solid #ddd;
}

.compare-header {
  padding: 12px 16px;
  background-color: #f6f8fa;
  border-bottom: 1px solid #ddd;
  font-weight: 600;
  font-size: 14px;
  color: #24292e;
}

.original-header {
  background-color: #ffeef0;
  color: #d73a49;
}

.modified-header {
  background-color: #e6ffec;
  color: #28a745;
}

.compare-content {
  padding: 16px;
  line-height: 1.5;
  min-height: 100px;
  flex: 1;
}

.original-content {
  background-color: #fefefe;
}

.modified-content {
  background-color: #fefefe;
}

/* String diff styling */
.diff-removed {
  background-color: #ffeef0;
  color: #d73a49;
  text-decoration: line-through;
  padding: 2px 4px;
  border-radius: 3px;
  margin: 0 1px;
}

.diff-added {
  background-color: #e6ffec;
  color: #28a745;
  padding: 2px 4px;
  border-radius: 3px;
  margin: 0 1px;
}

.diff-unchanged {
  /* No special styling for unchanged text */
}

/* Array diff styling */
.diff-removed-line {
  background-color: #ffeef0;
  color: #d73a49;
  padding: 4px 8px;
  margin: 2px 0;
  border-radius: 3px;
  border-left: 3px solid #d73a49;
}

.diff-added-line {
  background-color: #e6ffec;
  color: #28a745;
  padding: 4px 8px;
  margin: 2px 0;
  border-radius: 3px;
  border-left: 3px solid #28a745;
}

.diff-unchanged-line {
  padding: 4px 8px;
  margin: 2px 0;
  color: #24292e;
}

.compare-error {
  padding: 16px;
  background-color: #ffeef0;
  border: 1px solid #d73a49;
  border-radius: 6px;
  color: #d73a49;
  font-weight: 500;
}

/* Contentful document comparison styles */
.diff-structure-type {
  font-weight: bold;
  color: #4a5568;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.diff-structure-level {
  color: #718096;
  font-size: 0.75rem;
  margin-left: 0.25rem;
}

.diff-structure-content {
  margin-left: 0.5rem;
}

.diff-removed-line .diff-structure-type {
  color: #c53030;
}

.diff-added-line .diff-structure-type {
  color: #38a169;
}

.diff-unchanged-line .diff-structure-type {
  color: #4a5568;
}

/* Enhanced styles for Contentful content */
.compare-content .diff-structure-type {
  display: inline-block;
  min-width: 80px;
}

.compare-content .diff-structure-level {
  display: inline-block;
  min-width: 20px;
}

/* Responsive design */
@media (max-width: 768px) {
  .compare-side-by-side {
    flex-direction: column;
  }
  
  .compare-panel:first-child {
    border-right: none;
    border-bottom: 1px solid #ddd;
  }
}