/* Custom CSS for Forest Studio Presentation Template */

/* Logo positioning and sizing */
.reveal .slide-logo {
  position: fixed !important;
  bottom: 1em !important;
  left: 1em !important;
  max-height: 60px !important;
  max-width: 120px !important;
  z-index: 1000 !important;
  opacity: 0.8;
}

/* Slide number styling */
.reveal .slide-number {
  position: fixed !important;
  bottom: 1em !important;
  right: 1em !important;
  font-size: 0.9em !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #333 !important;
  padding: 5px 12px !important;
  border-radius: 8px !important;
  z-index: 1000 !important;
  font-weight: 500;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Title slide specific styling */
.title-slide {
  position: relative;
}

.title-slide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    135deg, 
    rgba(0, 64, 0, 0.7) 0%, 
    rgba(34, 139, 34, 0.6) 50%, 
    rgba(0, 100, 0, 0.7) 100%
  );
  z-index: -1;
}

.title-slide h1, 
.title-slide h2, 
.title-slide h3,
.title-slide p {
  color: white !important;
  text-shadow: 2px 2px 6px rgba(0,0,0,0.8) !important;
  z-index: 10;
  position: relative;
}

.title-slide h1 {
  font-size: 3.5em !important;
  font-weight: bold;
  margin-bottom: 0.3em;
}

.title-slide h2 {
  font-size: 2.2em !important;
  font-weight: 300;
  margin-bottom: 1em;
}

/* General slide improvements */
.reveal h1, .reveal h2, .reveal h3 {
  color: #2d5a27;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.reveal h1 {
  font-size: 2.8em;
}

.reveal h2 {
  font-size: 2.2em;
  border-bottom: 3px solid #4a7c59;
  padding-bottom: 0.2em;
}

.reveal h3 {
  font-size: 1.8em;
  color: #4a7c59;
}

/* Bullet point styling */
.reveal ul li {
  margin-bottom: 0.8em;
  line-height: 1.4;
}

.reveal ul li::marker {
  color: #4a7c59;
  font-weight: bold;
}

/* Code block styling */
.reveal pre {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 1em;
}

.reveal code {
  background: #f8f9fa;
  color: #2d5a27;
  padding: 0.2em 0.4em;
  border-radius: 4px;
}

/* Footer styling */
.reveal .footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background: rgba(45, 90, 39, 0.1);
  padding: 0.5em;
  font-size: 0.8em;
  color: #2d5a27;
}

/* Incremental list animations */
.reveal .slides section .fragment.visible {
  color: #2d5a27;
}

/* Link styling */
.reveal a {
  color: #4a7c59;
  text-decoration: none;
  border-bottom: 1px solid #4a7c59;
}

.reveal a:hover {
  color: #2d5a27;
  border-bottom-color: #2d5a27;
}

/* Table styling */
.reveal table {
  border-collapse: collapse;
  margin: 1em auto;
}

.reveal table th {
  background: #4a7c59;
  color: white;
  padding: 0.8em;
  font-weight: 600;
}

.reveal table td {
  padding: 0.6em;
  border-bottom: 1px solid #e9ecef;
}

.reveal table tr:nth-child(even) {
  background: #f8f9fa;
}

/* Progress bar */
.reveal .progress {
  color: #4a7c59;
}

/* Navigation controls */
.reveal .controls {
  color: #4a7c59;
}

.reveal .controls .navigate-left,
.reveal .controls .navigate-right,
.reveal .controls .navigate-up,
.reveal .controls .navigate-down {
  border-color: #4a7c59;
}

/* Custom content boxes */
.info-box {
  background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%);
  border-left: 5px solid #4a7c59;
  padding: 1em;
  margin: 1em 0;
  border-radius: 0 8px 8px 0;
}

.warning-box {
  background: linear-gradient(135deg, #fff3cd 0%, #fef9e7 100%);
  border-left: 5px solid #ffc107;
  padding: 1em;
  margin: 1em 0;
  border-radius: 0 8px 8px 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .reveal .slide-logo {
    max-height: 40px !important;
    max-width: 80px !important;
    bottom: 0.5em !important;
    left: 0.5em !important;
  }
  
  .reveal .slide-number {
    bottom: 0.5em !important;
    right: 0.5em !important;
    font-size: 0.7em !important;
    padding: 3px 8px !important;
  }
  
  .title-slide h1 {
    font-size: 2.5em !important;
  }
  
  .title-slide h2 {
    font-size: 1.8em !important;
  }
}
