/* Aurora — base.css : scoped reset + typography (only inside .theme-aurora) */

.theme-aurora,
.theme-aurora *,
.theme-aurora *::before,
.theme-aurora *::after {
  box-sizing: border-box;
}

.theme-aurora {
  margin: 0;
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-base);
  line-height: var(--aurora-lh-base);
  color: var(--aurora-text);
  background: var(--aurora-surface);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.theme-aurora img,
.theme-aurora picture,
.theme-aurora video,
.theme-aurora svg {
  max-width: 100%;
  height: auto;
  display: block;
}

.theme-aurora a {
  color: var(--aurora-brand-primary);
  text-decoration: none;
  transition: color var(--aurora-dur-fast) var(--aurora-ease);
}

.theme-aurora a:hover {
  color: var(--aurora-brand-accent);
}

.theme-aurora h1,
.theme-aurora h2,
.theme-aurora h3,
.theme-aurora h4,
.theme-aurora h5,
.theme-aurora h6 {
  font-family: var(--aurora-font-heading);
  font-weight: var(--aurora-fw-semibold);
  line-height: var(--aurora-lh-tight);
  color: var(--aurora-text);
  margin: 0 0 var(--aurora-space-4);
  letter-spacing: -0.01em;
}

.theme-aurora h1 { font-size: clamp(2rem, 4vw, var(--aurora-fs-3xl)); }
.theme-aurora h2 { font-size: clamp(1.625rem, 3vw, var(--aurora-fs-2xl)); }
.theme-aurora h3 { font-size: var(--aurora-fs-xl); }
.theme-aurora h4 { font-size: var(--aurora-fs-lg); }
.theme-aurora h5 { font-size: var(--aurora-fs-md); }
.theme-aurora h6 { font-size: var(--aurora-fs-base); }

.theme-aurora p {
  margin: 0 0 var(--aurora-space-4);
}

.theme-aurora :focus-visible {
  outline: none;
  box-shadow: var(--aurora-shadow-focus);
  border-radius: var(--aurora-radius-sm);
}

/* Skip link — for keyboard users */
.aurora-skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: var(--aurora-brand-primary);
  color: var(--aurora-text-inverse);
  padding: var(--aurora-space-2) var(--aurora-space-4);
  z-index: var(--aurora-z-toast);
  text-decoration: none;
  border-radius: 0 0 var(--aurora-radius-md) 0;
  font-weight: var(--aurora-fw-semibold);
}
.aurora-skip-link:focus {
  top: 0;
  color: var(--aurora-text-inverse);
}

/* Container */
.theme-aurora .aurora-container,
.theme-aurora .container {
  width: 100%;
  max-width: var(--aurora-container);
  margin-inline: auto;
  padding-inline: var(--aurora-space-5);
}

@media (min-width: 1024px) {
  .theme-aurora .aurora-container,
  .theme-aurora .container {
    padding-inline: var(--aurora-space-8);
  }
}

.theme-aurora .aurora-container--narrow {
  max-width: var(--aurora-container-narrow);
}

.theme-aurora .aurora-container--wide {
  max-width: var(--aurora-container-wide);
}

/* Utility — section spacing */
.theme-aurora .aurora-section {
  padding-block: var(--aurora-space-12);
}

@media (min-width: 1024px) {
  .theme-aurora .aurora-section {
    padding-block: var(--aurora-space-20);
  }
}

.theme-aurora .aurora-section--tight {
  padding-block: var(--aurora-space-8);
}

/* Section eyebrow / heading combo */
.theme-aurora .aurora-eyebrow {
  display: inline-block;
  font-family: var(--aurora-font-body);
  font-size: var(--aurora-fs-xs);
  font-weight: var(--aurora-fw-semibold);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--aurora-brand-accent);
  margin-bottom: var(--aurora-space-3);
}

.theme-aurora .aurora-heading-rule {
  display: inline-block;
  width: 56px;
  height: 2px;
  background: var(--aurora-brand-accent);
  margin-block: var(--aurora-space-3) var(--aurora-space-5);
}

/* Helper: visually hidden (screen-reader-only) */
.theme-aurora .aurora-sr-only,
.theme-aurora .aurora-visually-hidden,
.aurora-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Author display rules must not override the hidden attribute */
.theme-aurora [hidden] {
  display: none !important;
}

/* Lists */
.theme-aurora ul,
.theme-aurora ol {
  margin: 0;
  padding: 0;
}

/* Inputs base */
.theme-aurora input,
.theme-aurora select,
.theme-aurora textarea,
.theme-aurora button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

/* Selection */
.theme-aurora ::selection {
  background: rgba(var(--aurora-brand-accent-rgb), 0.25);
  color: var(--aurora-text);
}

/* Aurora keeps default theme's main wrapper from collapsing */
.theme-aurora main#main-content {
  display: block;
  min-height: 50vh;
}

/* iOS safe area for fixed header padding */
.theme-aurora body {
  padding-top: env(safe-area-inset-top);
}
