/* Shared Church Suite presentation primitives.
 * Component-specific layout and hierarchy remain in their owning modules. */
:root {
  /* Suite-local fallbacks preserve the UI when the JCTGBTG theme is absent. */
  --jct-suite-action-primary-bg: var(--jct-color-accent, #d4af37);
  --jct-suite-action-primary-text: var(--jct-color-on-accent, #111);
  --jct-suite-action-secondary-bg: #232323;
  --jct-suite-action-secondary-text: #fff;
  --jct-suite-surface-elevated-bg: linear-gradient(180deg, #161616, #0f0f0f);
  --jct-suite-surface-border-subtle: rgba(255, 255, 255, .08);
  --jct-suite-surface-elevated-shadow: 0 10px 40px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(255, 255, 255, .03);
  --jct-suite-confirm-bg: linear-gradient(180deg, #181818, #101010);
  --jct-suite-confirm-radius: 28px;
  --jct-suite-confirm-shadow: 0 24px 80px rgba(0, 0, 0, .55);
  --jct-suite-confirm-text: #fff;
}

/* Shared confirmation actions. Layout remains owned by each module. */
.jct-v7-reg-confirm-cancel,
.jct-v7-reg-confirm-ok,
.jct-checkin-confirm-cancel,
.jct-checkin-confirm-ok {
  flex: 1 !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.jct-v7-reg-confirm-cancel,
.jct-checkin-confirm-cancel {
  background: var(--jct-suite-action-secondary-bg, #232323) !important;
  color: var(--jct-suite-action-secondary-text, #fff) !important;
}

.jct-v7-reg-confirm-ok,
.jct-checkin-confirm-ok {
  background: var(--jct-suite-action-primary-bg, #d4af37) !important;
  color: var(--jct-suite-action-primary-text, #111) !important;
}

/* Permanent mobile safeguard: user text-entry controls never trigger iOS zoom. */
@media (max-width: 959px) {
  :is([class^="jct-"], [class*=" jct-"]) :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
    textarea,
    select
  ) {
    font-size: max(16px, 1em) !important;
  }
}

.jct-suite-surface-elevated,
.jct-v6-card,
.jctgbtg-tracker-card,
.jct23-card,
.jctgbtg-mm-card {
  border: 1px solid var(--jct-suite-surface-border-subtle, rgba(255, 255, 255, .08));
  background: var(--jct-suite-surface-elevated-bg, linear-gradient(180deg, #161616, #0f0f0f));
  box-shadow: var(--jct-suite-surface-elevated-shadow, 0 10px 40px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(255, 255, 255, .03));
}

.jct-suite-surface-confirm,
.jct-v7-reg-confirm-box,
.jct-checkin-confirm-box {
  width: min(92vw, 420px) !important;
  padding: 24px !important;
  border: 1px solid var(--jct-suite-surface-border-subtle, rgba(255, 255, 255, .08)) !important;
  border-radius: var(--jct-suite-confirm-radius, 28px) !important;
  background: var(--jct-suite-confirm-bg, linear-gradient(180deg, #181818, #101010)) !important;
  box-shadow: var(--jct-suite-confirm-shadow, 0 24px 80px rgba(0, 0, 0, .55)) !important;
  color: var(--jct-suite-confirm-text, #fff) !important;
}
