/*
  NURYA — Base design system
  Reusable utility classes built on nurya-tokens.css. Everything is
  namespaced under .nurya-* so it never collides with existing Dawn
  (.card, .button, .section-*) or _cod_ (.yc-*, .cod-*) class names.
*/

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Context themes — set the local color roles a section renders with */
.nurya-theme-dark {
  --nurya-ctx-bg: var(--nurya-color-black);
  --nurya-ctx-fg: var(--nurya-color-ivory);
  --nurya-ctx-accent: var(--nurya-color-gold);
  --nurya-ctx-border: rgba(230, 217, 184, 0.18);
  background-color: var(--nurya-ctx-bg);
  color: var(--nurya-ctx-fg);
}

.nurya-theme-light {
  --nurya-ctx-bg: var(--nurya-color-ivory);
  --nurya-ctx-fg: var(--nurya-color-black);
  --nurya-ctx-accent: var(--nurya-color-gold);
  --nurya-ctx-border: rgba(11, 11, 13, 0.12);
  background-color: var(--nurya-ctx-bg);
  color: var(--nurya-ctx-fg);
}

/* Discreet universe accents — layer on top of a .nurya-theme-* */
.nurya-theme-women {
  --nurya-ctx-accent: var(--nurya-color-rose);
}

.nurya-theme-men {
  --nurya-ctx-accent: var(--nurya-color-navy);
}

/* Layout */
.nurya-section {
  padding-top: var(--nurya-section-padding-y);
  padding-bottom: var(--nurya-section-padding-y);
}

.nurya-container {
  max-width: var(--nurya-container-max);
  margin-inline: auto;
  padding-inline: var(--nurya-container-padding-x);
}

.nurya-grid-3 {
  display: grid;
  gap: var(--nurya-space-xl);
  grid-template-columns: 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 750px) {
  .nurya-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Typography */
.nurya-eyebrow {
  display: block;
  font-family: var(--nurya-font-body);
  font-size: var(--nurya-text-xs);
  letter-spacing: var(--nurya-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--nurya-ctx-accent);
  font-weight: 600;
  margin: 0 0 var(--nurya-space-sm);
}

.nurya-heading-xl,
.nurya-heading-lg,
.nurya-heading-md,
.nurya-heading-sm {
  font-family: var(--nurya-font-heading);
  font-weight: 400;
  margin: 0;
  color: var(--nurya-ctx-fg);
  /* Dawn's base.css sets word-break: break-word on every h1-h5 element
     theme-wide; without this override a long word (e.g. "L'OUVERTURE")
     gets cut mid-word instead of wrapping to the next line. */
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.nurya-heading-xl {
  font-size: var(--nurya-title-xl);
  line-height: var(--nurya-leading-tight);
  letter-spacing: 0.01em;
}

.nurya-heading-lg {
  font-size: var(--nurya-title-lg);
  line-height: var(--nurya-leading-tight);
}

.nurya-heading-md {
  font-size: var(--nurya-title-md);
  line-height: var(--nurya-leading-snug);
}

.nurya-heading-sm {
  font-size: var(--nurya-title-sm);
  line-height: var(--nurya-leading-snug);
  letter-spacing: var(--nurya-tracking-wide);
  text-transform: uppercase;
}

.nurya-body {
  font-family: var(--nurya-font-body);
  font-size: var(--nurya-text-base);
  line-height: var(--nurya-leading-body);
  color: var(--nurya-ctx-fg);
  margin: 0;
}

.nurya-body--lg {
  font-size: var(--nurya-text-md);
}

.nurya-body p + p {
  margin-top: var(--nurya-space-sm);
}

/* Buttons */
.nurya-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--nurya-space-2xs);
  font-family: var(--nurya-font-body);
  font-size: var(--nurya-text-sm);
  letter-spacing: var(--nurya-tracking-wide);
  text-transform: uppercase;
  text-decoration: none;
  padding: 1.5rem 3rem;
  border-radius: var(--nurya-radius-sm);
  border: 1px solid transparent;
  transition: background-color var(--nurya-transition-base), color var(--nurya-transition-base),
    border-color var(--nurya-transition-base);
  white-space: nowrap;
  cursor: pointer;
}

.nurya-btn-primary {
  background-color: var(--nurya-ctx-accent);
  border-color: var(--nurya-ctx-accent);
  color: var(--nurya-color-black);
}

.nurya-btn-primary:hover,
.nurya-btn-primary:focus-visible {
  background-color: transparent;
  color: var(--nurya-ctx-fg);
  border-color: var(--nurya-ctx-fg);
}

.nurya-btn-secondary {
  background-color: transparent;
  border-color: var(--nurya-ctx-fg);
  color: var(--nurya-ctx-fg);
}

.nurya-btn-secondary:hover,
.nurya-btn-secondary:focus-visible {
  background-color: var(--nurya-ctx-fg);
  color: var(--nurya-ctx-bg);
  border-color: var(--nurya-ctx-fg);
}

.nurya-btn:focus-visible {
  outline: 2px solid var(--nurya-ctx-accent);
  outline-offset: 2px;
}

.nurya-btn[aria-disabled='true'] {
  opacity: 0.5;
  pointer-events: none;
}

/* Misc */
.nurya-divider {
  width: 4.8rem;
  height: 1px;
  background-color: var(--nurya-ctx-accent);
  border: 0;
  margin: var(--nurya-space-md) auto;
}

/* One-time entrance reveal for above-the-fold content (hero).
   Sections below the fold reuse the theme's existing scroll-trigger
   engine (settings.animations_reveal_on_scroll) instead of this. */
@keyframes nurya-fade-rise {
  from {
    opacity: 0;
    transform: translateY(1.2rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nurya-fade-in {
  animation: nurya-fade-rise var(--nurya-transition-slow) ease-out both;
}

.nurya-fade-in-delay-1 {
  animation: nurya-fade-rise var(--nurya-transition-slow) ease-out 120ms both;
}

.nurya-fade-in-delay-2 {
  animation: nurya-fade-rise var(--nurya-transition-slow) ease-out 240ms both;
}

.nurya-fade-in-delay-3 {
  animation: nurya-fade-rise var(--nurya-transition-slow) ease-out 360ms both;
}

@media (prefers-reduced-motion: reduce) {
  .nurya-fade-in,
  .nurya-fade-in-delay-1,
  .nurya-fade-in-delay-2,
  .nurya-fade-in-delay-3 {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
