/* Adventure Gallery page-specific styles */

.gallery-title {
  margin-bottom: var(--space-4);
  color: var(--color-warning);
  letter-spacing: 1px;
  text-align: center;
}
.gallery-lead {
  font-size: var(--font-size-lg);
  color: var(--color-gray-200);
  text-align: center;
  margin: var(--space-8) auto;
}

/* Section blocks */
.gallery-block {
  background: rgba(34,39,28,0.99);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: var(--space-10) var(--space-6);
  margin-bottom: var(--space-12);
  text-align: left;
  margin: 0 auto;
  max-width: 1494px;
  width: 100%;
}
.gallery-block h2 {
  color: var(--color-success);
  text-shadow: 0 3px 12px rgba(49,133,70,0.15);
  text-align: center;
}
.gallery-desc {
  margin: 37px auto;
  text-align: center;
  color: var(--color-gray-300);
  font-size: var(--font-size-base);
}

/* Immersive Landscapes */
.gallery-grid.visual-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-6);
}
.gallery-figure {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  position: relative;
  transition: box-shadow var(--transition), transform var(--transition);
  cursor: pointer;
  text-align: center;
}
.gallery-figure:hover,
.gallery-figure:focus-within {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px) scale(1.03);
}
.gallery-figure figcaption {
  text-align: center;
  background: rgba(23,26,19,0.81);
  color: var(--color-gray-100);
  font-size: var(--font-size-sm);
  padding: var(--space-3);
  min-height: 48px;
}
.gallery-figure .gallery-snippet {
  display: inline-block;
}

/* Survivors in Action */
.gallery-grid.actions-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-6);
}
.gallery-figure strong {
  color: var(--color-warning);
  font-size: var(--font-size-sm);
}
.gallery-figure:hover figcaption,
.gallery-figure[tabindex="0"]:focus-within figcaption {
  color: var(--color-success);
}

/* Gear Showcase */
.gallery-gear-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-8);
}
.gear-item {
  background: var(--color-surface);
  box-shadow: var(--shadow-md);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--space-6);
  transition: box-shadow var(--transition), transform var(--transition);
  text-align: center;
}
.gear-item:hover,
.gear-item:focus-within {
  box-shadow: var(--shadow-lg);
  transform: scale(1.02);
}
.gear-info {
  margin-top: var(--space-4);
  width: 100%;
  text-align: left;
}
.gear-info h3 {
  font-size: var(--font-size-lg);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.gear-info p {
  margin-bottom: var(--space-3);
  font-size: var(--font-size-base);
  text-align: left;
}
.gear-zoom {
  margin-bottom: var(--space-3);
  font-size: 1.25em;
}
.gear-features {
  color: var(--color-gray-300);
  font-size: var(--font-size-sm);
  text-align: left;
}
.gear-features li {
  margin-bottom: var(--space-1);
  list-style: circle;
}

/* Legendary Adventures */
.legendary-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--space-6);
  margin-bottom: var(--space-4);
}
.legendary-card {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.legendary-card.featured {
  border: 2.5px solid var(--color-warning);
  box-shadow: 0 0 0 4px rgba(225,167,76,0.13);
}
.legendary-info {
  padding: var(--space-4);
  font-size: var(--font-size-base);
}
.badge {
  background: var(--color-warning);
  color: var(--color-background);
  border-radius: var(--radius-round);
  font-size: var(--font-size-xs);
  padding: 2px 10px;
  margin-right: var(--space-2);
  letter-spacing: 1px;
  font-weight: 700;
}
.legendary-author {
  display: block;
  font-size: var(--font-size-xs);
  margin-top: var(--space-1);
  color: var(--color-gray-400);
}
.legendary-cta {
  margin: 21px auto 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.legendary-cta a {
  margin: 14px auto 0 auto;
}

/* Wildlife Encounters */
.gallery-grid.wildlife-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-4);
}
.wildlife-figure {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.wildlife-figure figcaption {
  font-size: var(--font-size-sm);
  color: var(--color-success);
  margin-top: var(--space-2);
}
.fact {
  color: var(--color-gray-400);
  display: block;
  margin-top: var(--space-1);
  text-align: center;
}

/* Adventure of the Seasons */
.seasons-timeline {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
  overflow-x: auto;
  margin-bottom: var(--space-4);
}
.season-item {
  min-width: 180px;
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: var(--space-3) var(--space-4);
  text-align: center;
  flex-shrink: 0;
}
.season-item img {
  width: 100%;
  border-radius: var(--radius-sm);
  margin-bottom: var(--space-3);
  aspect-ratio: 3/2;
  object-fit: cover;
}
.season-title {
  display: block;
  font-weight: 600;
  color: var(--color-warning);
}
.season-tip {
  color: var(--color-gray-300);
  font-size: var(--font-size-xs);
}

/* Behind the Art */
.behind-art-gallery {
  display: flex;
  gap: var(--space-8);
  flex-wrap: wrap;
  justify-content: center;
}
.art-progress {
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-xs);
  padding: var(--space-3);
  text-align: center;
  max-width: 240px;
}
.art-stage {
  display: block;
  color: var(--color-success);
  font-size: var(--font-size-xs);
  margin-top: var(--space-3);
  text-align: center;
}
.art-quote {
  max-width: 340px;
  background: rgba(49,133,70,0.08);
  font-style: italic;
  border-left: 4px solid var(--color-success);
  color: var(--color-gray-300);
  margin: 0 auto;
  text-align: left;
}
.art-quote blockquote {
  margin: 0;
  padding: var(--space-2);
}
.art-quote footer {
  display: block;
  margin-top: var(--space-2);
  font-size: var(--font-size-xs);
  color: var(--color-gray-500);
  text-align: left;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .gallery-block { padding: var(--space-8) var(--space-3); }
  .gallery-title, .gallery-lead { text-align: center; }
  .behind-art-gallery { flex-direction: column; align-items: stretch; }
  .seasons-timeline { gap: var(--space-4); }
}
@media (max-width: 600px) {
  .gallery-block { padding: var(--space-5) var(--space-1); }
  .gallery-grid, .gallery-gear-grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .legendary-gallery { grid-template-columns: 1fr; }
  .behind-art-gallery { gap: var(--space-4); }
  .seasons-timeline { flex-direction: column; align-items: stretch; gap: var(--space-2); }
}
