/* Shared pattern styles. Native block styles and inline design controls take precedence. */
:where(.pixonix-builder-section) {
  color: #cbd5e1;
  position: relative;
}

:where(.pixonix-builder-section) :where(h1, h2, h3, h4) {
  color: #fff;
  font-family: 'Space Grotesk', system-ui, sans-serif;
  line-height: 1.15;
}

:where(.pixonix-builder-section) :where(h1) {
  font-family: 'Orbitron', system-ui, sans-serif;
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  overflow-wrap: anywhere;
}

:where(.pixonix-builder-section) :where(h2) {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
}

:where(.pixonix-builder-section) :where(h3) {
  font-size: 1.5rem;
}

:where(.pixonix-builder-section) :where(p) {
  line-height: 1.8;
}

:where(.pixonix-builder-hero) {
  min-height: 75vh;
}

:where(.pixonix-builder-hero) > :where(h1, p) {
  max-width: 960px;
  margin-left: 0;
}

:where(.pixonix-builder-card) {
  height: 100%;
  background: rgba(8, 12, 22, 0.7);
  border: 1px solid rgba(0, 240, 255, 0.22);
  border-radius: 18px;
  backdrop-filter: blur(12px);
}

:where(.pixonix-accent-purple) { border-color: rgba(168, 85, 247, 0.4); }
:where(.pixonix-accent-magenta) { border-color: rgba(236, 72, 153, 0.4); }
:where(.pixonix-accent-green) { border-color: rgba(16, 185, 129, 0.4); }

:where(.pixonix-builder-eyebrow) {
  font-family: 'JetBrains Mono', monospace;
  color: #00f0ff;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
}

/* A custom text color selected in the editor replaces this decorative gradient. */
.pixonix-gradient-heading:not(.has-text-color):not([style*="color:"]) {
  background: linear-gradient(135deg, #00f0ff 0%, #a855f7 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

/* Button colors, fonts, and padding come from theme.json so the editor's own button settings override them. */
body .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
  color: #00f0ff;
}

.wp-block-button__link,
.wp-block-button__link:hover {
  text-shadow: none;
}

/* main.css turns every hovered link white, which would hide text on the white hover background. */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-text-color):hover {
  color: #06070a;
}

:where(.pixonix-builder-cta) {
  background: linear-gradient(135deg, rgba(0, 240, 255, 0.06), rgba(168, 85, 247, 0.12));
}

.pixonix-builder-scene-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pixonix-block-homepage .site-main > .pixonix-homepage-content {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.pixonix-block-homepage .site-main { padding-top: 80px; }

.pixonix-homepage-content > :where(:not(.alignfull)) {
  width: calc(100% - 48px);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.pixonix-homepage-content > .alignwide { max-width: 1440px; }
.pixonix-homepage-content > .alignfull { width: 100%; max-width: none; }
.pixonix-homepage-content :where(.wp-block-image img) { height: auto; }
.pixonix-homepage-content :where(.wp-block-cover) { overflow: hidden; }
.pixonix-homepage-content :where(.wp-block-columns) { align-items: stretch; }
.pixonix-homepage-content :where(.wp-block-column) { min-width: 0; }
.pixonix-homepage-content :where(.wp-block-code) { white-space: pre-wrap; overflow-wrap: anywhere; }
/* main.css resets list padding globally; restore it for lists added in the editor. */
.pixonix-homepage-content :where(ul, ol):not(.wp-block-post-template):not([class*="wp-block-social"]) { padding-left: 1.5em; }
.pixonix-no-home-header .site-main { padding-top: 0; }
.pixonix-native-cursor :where(a, button, input, textarea, select, label, [role="button"]) { cursor: revert; }

@media (max-width: 781px) {
  :where(.pixonix-builder-hero) { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .pixonix-builder-section *, .pixonix-builder-section *::before, .pixonix-builder-section *::after { animation: none; transition: none; }
}
