.themes-hero {
  position: relative;
}

.themes-hero-grid {
  align-items: center;
}

.themes-hero-text {
  min-width: 0;
}

.themes-hero-media {
  min-width: 0;
}

.themes-hero-media-inner {
  box-shadow: var(--shadow-elevated);
}

.themes-hero-image {
  display: block;
}

.themes-overview-row {
  align-items: stretch;
}

.themes-overview-text,
.themes-overview-media {
  min-width: 0;
}

.themes-overview-media-inner {
  box-shadow: var(--shadow-elevated);
}

.themes-overview-image {
  display: block;
}

.themes-scenario-grid {
  align-items: stretch;
}

.themes-scenario-card {
  height: 100%;
}

.themes-scenario-card .card-body ul {
  margin-top: var(--space-2);
  margin-bottom: 0;
  padding-left: 0;
}

.themes-scenario-list li {
  position: relative;
  padding-left: 1.2rem;
  font-size: var(--text-sm);
  color: var(--color-text-soft);
}

.themes-scenario-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--color-mint);
}

.themes-showcase-grid {
  align-items: center;
  gap: var(--space-10);
}

.themes-showcase-media,
.themes-showcase-content {
  min-width: 0;
}

.themes-showcase-figure {
  margin: 0;
}

.themes-showcase-media-inner {
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: radial-gradient(circle at top left, rgba(34, 211, 238, 0.3), transparent 55%), radial-gradient(circle at bottom right, rgba(16, 185, 129, 0.3), transparent 55%);
  box-shadow: var(--shadow-elevated);
}

.themes-showcase-image {
  display: block;
}

.themes-showcase-card .timeline-title {
  font-size: var(--text-md);
}

.themes-showcase-card .timeline-body {
  font-size: var(--text-sm);
}

.themes-customization-grid {
  gap: var(--space-8);
}

.themes-customization-content,
.themes-customization-side {
  min-width: 0;
}

.themes-customization-stack {
  max-width: 34rem;
}

.themes-tag-grid {
  margin-top: var(--space-2);
}

.themes-customization-actions {
  margin-top: var(--space-3);
}

.themes-checklist {
  margin: 0 0 var(--space-3);
  padding-left: 0;
}

.themes-checklist li {
  font-size: var(--text-sm);
}

.themes-modal-list {
  margin: var(--space-2) 0 var(--space-3);
  padding-left: 1.25rem;
}

.themes-modal-list li {
  margin-bottom: var(--space-1);
  font-size: var(--text-sm);
}

#themes-overlay {
  transition: opacity var(--transition-base);
}

#themes-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

#themes-modal[aria-hidden="true"] {
  pointer-events: none;
}

#themes-modal[aria-hidden="true"] .modal-dialog {
  opacity: 0;
  transform: translateY(10px) scale(0.98);
}

#themes-modal[aria-hidden="false"] {
  pointer-events: auto;
}

#themes-modal[aria-hidden="false"] .modal-dialog {
  opacity: 1;
  transform: translateY(0) scale(1);
}

#themes-modal .modal-dialog {
  transition: opacity var(--transition-base), transform var(--transition-base);
}

@media (max-width: 1023px) {
  .themes-showcase-grid {
    gap: var(--space-6);
  }
}

@media (max-width: 767px) {
  .themes-hero-grid {
    gap: var(--space-6);
  }

  .themes-customization-stack {
    max-width: 100%;
  }

  .themes-showcase-media-inner,
  .themes-hero-media-inner,
  .themes-overview-media-inner {
    border-radius: var(--radius-lg);
  }
}
