/* Home page specific styles - keep lean and aligned with base.css */

.hero {
  position: relative;
  padding: var(--space-20) 0 var(--space-16);
  background: radial-gradient(1200px 600px at 10% 20%, rgba(139, 92, 246, 0.15), transparent 60%),
              radial-gradient(900px 500px at 90% 80%, rgba(0, 255, 255, 0.12), transparent 60%);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}

@media (min-width: 1024px) {
  .hero-grid { grid-template-columns: 1.2fr 0.8fr; align-items: center; }
}

.hero-copy p { max-width: 60ch; }

.hero-actions {
  margin-top: var(--space-6);
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.hero-search {
  margin-top: var(--space-6);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-3);
  align-items: center;
}

.hero-figure {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  box-shadow: var(--shadow-neon-cyan);
  border: 1px solid var(--color-neutral-700);
}

.small-links { margin-top: var(--space-3); font-size: var(--font-size-sm); }

.section { padding: var(--space-16) 0; }
.section.alt { background: var(--color-background-alt); }

.gallery-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  align-items: center;
}

@media (min-width: 1024px) {
  .gallery-wrap { grid-template-columns: 1fr 1fr; }
}

.gallery-figure {
  border-radius: var(--radius-2xl);
  overflow: hidden;
  border: 1px solid var(--color-neutral-700);
  box-shadow: var(--shadow-neon-purple);
}

/* Lists inside cards */
.list { display: grid; gap: var(--space-2); padding-left: 1.2rem; }
.list li { position: relative; color: var(--color-text-secondary); }
.list li::before {
  content: '';
  position: absolute; left: -1.2rem; top: 0.6em;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 8px var(--color-primary-glow);
}

/* Tips accordion */
.tips-accordion { display: grid; gap: var(--space-4); }
.tip { border: 1px solid var(--color-neutral-700); border-radius: var(--radius-xl); background: var(--color-background-elevated); box-shadow: var(--shadow-md); overflow: hidden; }
.tip summary {
  cursor: pointer; list-style: none; padding: var(--space-4) var(--space-6);
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em;
}
.tip summary::-webkit-details-marker { display: none; }
.tip[open] { box-shadow: var(--shadow-neon-teal), var(--shadow-lg); border-color: var(--color-accent); }
.tip-body { padding: 0 var(--space-6) var(--space-6); color: var(--color-text-secondary); }

.tips-cta { margin-top: var(--space-6); }

/* Updates */
.updates-list { display: grid; gap: var(--space-6); }

/* Maps */
.maps-grid {
  display: grid; gap: var(--space-8);
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  .maps-grid { grid-template-columns: 1fr 1fr; align-items: center; }
}
.maps-figure { border-radius: var(--radius-2xl); overflow: hidden; border: 1px solid var(--color-neutral-700); box-shadow: var(--shadow-neon-cyan); }
.maps-actions { margin-top: var(--space-4); }

/* Accessibility focus styling for interactive blocks */
.tip:focus-within { outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: var(--radius-xl); }
