[data-angel-slider-viewport],
[data-angel-mobile-panels] {
  touch-action: pan-y pinch-zoom;
}

/* Angels gallery: phones only; tablet + desktop show 5-up slider */
.nmc4j-angels-mobile {
  display: block;
}

.nmc4j-angels-gallery {
  display: none;
}

@media (min-width: 48rem) {
  .nmc4j-angels-mobile {
    display: none;
  }

  .nmc4j-angels-gallery {
    display: block;
  }

  [data-angel-slider-viewport] {
    overflow: hidden;
    width: 100%;
  }

  [data-angel-slider-track] {
    position: relative;
    display: flex;
    gap: 1.25rem;
    width: max-content;
    will-change: transform;
  }

  [data-angel-slider-track] > [data-angel-portrait] {
    box-sizing: border-box;
    flex-shrink: 0;
    scroll-margin-top: var(--nmc4j-scroll-offset, 7.5rem);
  }
}

[data-angel-story-section] {
  scroll-margin-top: var(--nmc4j-scroll-offset, 7.5rem);
}

.nmc4j-info-block-header {
  margin-bottom: 1.5rem;
}

.nmc4j-info-block-heading {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  margin: 2.5rem 0 1rem;
}

.nmc4j-info-block:first-child .nmc4j-info-block-heading,
.nmc4j-info-block-header:first-child .nmc4j-info-block-heading {
  margin-top: 0;
}

.nmc4j-info-block-intro {
  color: var(--muted-foreground);
  font-size: 0.875rem;
  line-height: 1.625;
  margin: 0;
}

.scroll-mt-15 {
  scroll-margin-top: 3.75rem;
}

@media (min-width: 40rem) {
  [data-slot="breadcrumb-list"] {
    gap: 0;
  }
  [data-slot="breadcrumb-list"] [data-slot="breadcrumb-separator"] {
    margin-left: calc(var(--spacing) * 2.5);
    margin-right: calc(var(--spacing) * 1.5);
  }
}

/* Ring utilities used in JS/templates but omitted from the Tailwind build */
.ring-1 {
  box-shadow: 0 0 0 1px var(--tw-ring-color, currentColor);
}

.ring-2 {
  box-shadow: 0 0 0 2px var(--tw-ring-color, currentColor);
}

.ring-secondary {
  --tw-ring-color: var(--secondary);
}

.ring-secondary\/40 {
  --tw-ring-color: color-mix(in oklab, var(--secondary) 40%, transparent);
}

.bg-secondary\/5 {
  background-color: color-mix(in oklab, var(--secondary) 5%, transparent);
}

.focus\:ring-2:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--tw-ring-color, currentColor);
}

.focus\:ring-secondary:focus {
  --tw-ring-color: color-mix(in oklab, var(--secondary) 20%, transparent);
}

.focus-visible\:ring-2:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--tw-ring-color, currentColor);
}

.focus-visible\:ring-secondary:focus-visible {
  --tw-ring-color: var(--secondary);
}

.focus-visible\:ring-offset-2:focus-visible {
  box-shadow:
    0 0 0 2px var(--background),
    0 0 0 4px var(--tw-ring-color, var(--secondary));
}

#nmc4j-events-calendar [data-calendar-days] button.nmc4j-calendar-has-event:not(.nmc4j-calendar-selected) {
  background: color-mix(in oklab, var(--secondary) 18%, transparent);
  color: var(--secondary);
  font-weight: 600;
}

#nmc4j-events-calendar [data-calendar-days] button.nmc4j-calendar-has-event:not(.nmc4j-calendar-selected):hover {
  background: color-mix(in oklab, var(--secondary) 30%, transparent);
}

#nmc4j-events-calendar [data-calendar-days] button.nmc4j-calendar-selected {
  background: var(--secondary);
  color: var(--primary-foreground);
  font-weight: 700;
}

#nmc4j-events-calendar [data-calendar-days] button.nmc4j-calendar-selected:hover {
  background: color-mix(in oklab, var(--secondary) 90%, black);
}

/* CMS textarea spans (e.g. footer tagline) */
footer .text-secondary,
footer span.text-secondary {
  color: var(--secondary);
}

/* Primary navigation: mobile menu at 1199px and below */
.nmc4j-nav-desktop {
  display: none;
}

.nmc4j-nav-mobile-toggle {
  display: inline-flex;
}

@media (min-width: 1200px) {
  .nmc4j-nav-desktop {
    display: flex;
  }

  .nmc4j-nav-mobile-toggle,
  .nmc4j-nav-mobile-panel {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  #wpadminbar {
    display: none !important;
  }
  html[lang] {
    margin-top: 0 !important;
  }
}
@media (min-width: 1200px) {
  .admin-bar header.sticky {
    top: 32px;
  }
}

/* Legal / policy page hero — matches static privacy/terms/accessibility */
.nmc4j-page-hero--legal {
  background-image: linear-gradient(
    to right,
    color-mix(in oklab, var(--primary) 10%, transparent),
    color-mix(in oklab, var(--accent) 10%, transparent)
  );
}