:root {
  --nodion-primary: #ff6600;
  --nodion-background: #0f0f0f;
  --nodion-foreground: #e8e8e8;
  --nodion-card: #1a1a1a;
  --nodion-secondary: #2a2a2a;
  --nodion-border: #333333;
  --nodion-muted: #888888;
  --nodion-shadow: 0 16px 40px rgba(0,0,0,.28);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.wp-site-blocks { min-height: 100vh; }

.is-style-nodion-card,
.nodion-card {
  background: var(--nodion-card);
  border: 1px solid var(--nodion-border);
  border-radius: 20px;
  box-shadow: var(--nodion-shadow);
  overflow: hidden;
}

.nodion-hero {
  min-height: 78vh;
  position: relative;
  overflow: hidden;
}
.nodion-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.7)),
    url('../images/hero_microphone.jpg') center/cover no-repeat;
  transform: scale(1.03);
}
.nodion-hero > .wp-block-group__inner-container,
.nodion-hero > .wp-block-cover__inner-container,
.nodion-hero .nodion-hero-inner {
  position: relative;
  z-index: 1;
}

.nodion-glass {
  backdrop-filter: blur(10px);
  background: rgba(26,26,26,.6);
  border: 1px solid rgba(255,255,255,.08);
}

.nodion-float {
  animation: nodionFloat 5s ease-in-out infinite;
}
@keyframes nodionFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.nodion-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.nodion-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.nodion-section-title { margin-bottom: .4rem; }
.nodion-section-subtitle { color: var(--nodion-muted); max-width: 760px; }

.nodion-meta-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
  gap: 14px;
  margin: 24px 0;
}
.nodion-meta-item {
  background: var(--nodion-secondary);
  border: 1px solid var(--nodion-border);
  border-radius: 14px;
  padding: 14px;
}
.nodion-meta-item strong { display:block; color: #fff; margin-bottom: 4px; }
.nodion-audio-list,
.nodion-episode-list { display: grid; gap: 18px; }
.nodion-audio-item,
.nodion-episode-item {
  background: var(--nodion-card);
  border: 1px solid var(--nodion-border);
  border-radius: 16px;
  padding: 18px;
}
.nodion-audio-item audio,
.nodion-episode-item audio { width: 100%; margin-top: 12px; }
.nodion-tax-badge {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,102,0,.12);
  color: #ffb37a;
  border: 1px solid rgba(255,102,0,.24);
  margin: 0 8px 8px 0;
  font-size: .92rem;
}

.nodion-archive-grid .wp-block-post {
  background: var(--nodion-card);
  border: 1px solid var(--nodion-border);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--nodion-shadow);
}
.nodion-archive-grid .wp-block-post-featured-image img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.nodion-archive-grid.project-grid .wp-block-post-featured-image img {
  aspect-ratio: 16 / 10;
}
.nodion-archive-grid .wp-block-post-title { font-size: 1.45rem; }
.nodion-archive-grid .wp-block-read-more { margin-top: 1rem; }

.nodion-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: blur(10px);
  background: rgba(15,15,15,.9);
  border-bottom: 1px solid var(--nodion-border);
}
.nodion-site-header .wp-block-navigation__responsive-container.is-menu-open {
  background: #121212;
}

.nodion-footer {
  border-top: 1px solid var(--nodion-border);
}

@media (max-width: 781px) {
  .nodion-hero { min-height: 68vh; }
}
