/* Custom styles for Roman Empire Essay Generator */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Merriweather', serif;
}

h1, h2, h3, h4 {
  font-family: 'Cinzel', serif;
}

.essay-content::-webkit-scrollbar {
  width: 12px;
}

.essay-content::-webkit-scrollbar-track {
  background: #fef3c7;
  border-radius: 6px;
}

.essay-content::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #7f1d1d, #b91c1c);
  border-radius: 6px;
  border: 2px solid #fef3c7;
}

.essay-content::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #991b1b, #dc2626);
}

/* Parchment texture effect */
.bg-gradient-to-br {
  position: relative;
}

.bg-gradient-to-br::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    repeating-linear-gradient(
      0deg,
      rgba(139, 0, 0, 0.03) 0px,
      transparent 1px,
      transparent 2px,
      rgba(139, 0, 0, 0.03) 3px
    );
  pointer-events: none;
}

/* Decorative Greek key border pattern */
.border-yellow-700 {
  border-style: solid;
  border-image: linear-gradient(45deg, #b45309, #d97706, #f59e0b) 1;
}

/* Animation for loading state */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.animate-bounce {
  animation: bounce 1s infinite;
}

/* Hover effect for images */
img {
  transition: transform 0.3s ease;
}

img:hover {
  transform: scale(1.02);
}

/* Responsive typography */
@media (max-width: 768px) {
  h1 {
    font-size: 2rem !important;
  }
  
  h2 {
    font-size: 1.5rem !important;
  }
  
  .essay-content {
    max-height: 500px !important;
    padding: 1rem !important;
  }
}

/* Print styles */
@media print {
  header, footer, button {
    display: none;
  }
  
  .essay-content {
    max-height: none !important;
    overflow: visible !important;
  }
}

/* Selection color */
::selection {
  background-color: #fef3c7;
  color: #7f1d1d;
}

/* Focus styles for accessibility */
button:focus,
select:focus {
  outline: 3px solid #f59e0b;
  outline-offset: 2px;
}