/*
 * Gallus widget mount contracts.
 * Provides safe fallback styling for shortcode-generated Elementor mounts.
 */

.gallus-widget-mount,
.gallus-widget-hold,
.br-widget-mount-package-v1-mount {
  display: grid;
  min-height: 156px;
  border: var(--space-hairline) dashed var(--glass-highlight);
  border-radius: var(--radius-card);
  background: var(--surface-tint-subtle);
  padding: var(--space-md);
  color: var(--text-primary);
  font-family: var(--font-body);
}

.gallus-widget-hold,
.br-widget-mount-package-v1-mount--hold {
  border-color: var(--glass-border);
  opacity: 0.82;
}

.br-widget-mount-package-v1-fallback {
  display: grid;
  align-content: center;
  gap: var(--space-xs);
  min-height: 120px;
}

.br-widget-mount-package-v1-fallback span {
  width: fit-content;
  border: var(--space-hairline) solid var(--glass-highlight);
  border-radius: var(--radius-badge);
  background: var(--badge-cell-glass);
  color: var(--accent);
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wider);
  line-height: 1;
  padding: var(--space-xs) var(--space-xs-plus);
  text-transform: uppercase;
}

.br-widget-mount-package-v1-fallback strong {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--fw-bold);
  letter-spacing: 0;
  line-height: var(--lh-snug);
}

.br-widget-mount-package-v1-fallback p {
  max-width: 54ch;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-base);
  line-height: var(--lh-normal);
}

.br-member-flow-gate {
  display: grid;
  min-height: 156px;
}

.br-member-flow-gate .br-glass-card {
  display: grid;
  align-content: center;
  gap: var(--space-sm);
  min-height: 156px;
  border: var(--space-hairline) solid var(--glass-border);
  border-top-color: var(--glass-highlight);
  border-radius: var(--radius-card);
  background: var(--glass-gradient-card);
  padding: var(--space-lg);
  color: var(--text-primary);
}

.br-member-flow-gate-title {
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: var(--fw-bold);
  line-height: var(--lh-snug);
}

.br-member-flow-gate-copy {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--text-base);
  line-height: var(--lh-normal);
}

.br-member-flow-gate .br-btn {
  width: fit-content;
  border: var(--space-hairline) solid var(--accent-btn-border);
  border-radius: var(--radius-md);
  background: var(--glass-gradient-accent);
  color: var(--text-primary);
  font-size: var(--text-base);
  font-weight: var(--fw-bold);
  line-height: 1;
  padding: var(--space-sm) var(--space-md);
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .gallus-widget-mount,
  .gallus-widget-hold,
  .br-widget-mount-package-v1-mount,
  .br-member-flow-gate .br-glass-card {
    transition: none;
  }
}
