/*
 * LEAST SOFTWARE — Block Styles (Enterprise Edition)
 * Gutenberg block overrides and pattern-specific styles.
 */

/* ══════════════════════════════════════════════════════
   EDITOR OVERRIDES
══════════════════════════════════════════════════════ */
.wp-site-blocks { padding: 0; }

.editor-styles-wrapper {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--bg);
}

.wp-block-group { margin: 0; }
.wp-block-columns { gap: var(--space-6); }

/* ══════════════════════════════════════════════════════
   WP ALIGNMENTS
══════════════════════════════════════════════════════ */
.wp-block-image img {
  border-radius: var(--radius-lg);
}
.alignwide {
  max-width: calc(var(--container-max) + var(--space-16));
  margin-left: auto;
  margin-right: auto;
}

/* ══════════════════════════════════════════════════════
   WP BUTTONS
══════════════════════════════════════════════════════ */
.wp-block-button__link {
  background: var(--accent);
  color: #fff;
  border-radius: var(--radius);
  padding: 0.75rem 1.75rem;
  font-weight: 600;
  transition: background var(--t), transform var(--t);
}
.wp-block-button__link:hover {
  background: var(--accent-h);
  color: #fff;
  transform: translateY(-1px);
}
.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--accent);
  border: 2px solid var(--border-blue);
}
.is-style-outline .wp-block-button__link:hover {
  background: var(--accent-light);
}

/* ══════════════════════════════════════════════════════
   WP SEPARATOR / QUOTE / TABLE / CODE
══════════════════════════════════════════════════════ */
.wp-block-separator { border-color: var(--border); opacity: 1; }

.wp-block-quote {
  border-left: 3px solid var(--accent);
  padding-left: var(--space-6);
  font-style: italic;
  color: var(--text-sec);
}
.wp-block-quote cite { font-style: normal; font-size: var(--text-sm); color: var(--text-muted); }

.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th,
.wp-block-table td {
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--border);
  font-size: var(--text-sm);
}
.wp-block-table th { background: var(--bg-alt); font-weight: 600; color: var(--text); }
.wp-block-table td { color: var(--text-sec); }
.wp-block-table tr:nth-child(even) td { background: var(--bg-alt); }

.wp-block-code,
.wp-block-preformatted {
  background: var(--bg-dark);
  color: #E2E8F0;
  border-radius: var(--radius);
  padding: var(--space-5);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,0.08);
}
code {
  background: var(--bg-alt);
  color: var(--accent);
  padding: 0.15em 0.4em;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.9em;
}

/* ══════════════════════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════════════════════ */
.ls-breadcrumb {
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.45);
  margin-bottom: var(--space-5);
}
.ls-breadcrumb a { color: rgba(255,255,255,0.60); }
.ls-breadcrumb a:hover { color: #fff; }
.ls-breadcrumb span { margin: 0 var(--space-2); color: rgba(255,255,255,0.25); }
.ls-breadcrumb--light { color: var(--text-muted); }
.ls-breadcrumb--light a { color: var(--text-sec); }

/* ══════════════════════════════════════════════════════
   HELPERS
══════════════════════════════════════════════════════ */
.ls-divider { height: 1px; background: var(--border); margin: 0; }
.ls-divider--dark { background: rgba(255,255,255,0.08); }

@media (max-width: 768px) { .hide-mobile { display: none !important; } }
@media (min-width: 769px) { .hide-desktop { display: none !important; } }
