/**
 * 02-base.css — Base Styles
 * YDC Child Enterprise Theme
 *
 * Establishes the global visual floor:
 *   - Body background / color
 *   - Lenis smooth scroll compatibility
 *   - WordPress admin bar offset
 *   - Scrollbar styling
 *   - Selection styles
 */

/* ─── Lenis Smooth Scroll ─────────────────────── */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* ─── HTML base ───────────────────────────────── */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  background-color: var(--surface-0);
  scrollbar-gutter: stable;
}

body {
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background-color: var(--surface-0);
  overflow-x: hidden;
  scrollbar-gutter: stable;
}

/* ─── Global Grain / Noise Overlay ───────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: var(--grain-opacity);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44NScgbnVtT2N0YXZlcz0nNCcgc3RpdGNoVGlsZXM9J3N0aXRjaCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==");
  background-repeat: repeat;
  mix-blend-mode: screen;
}

/* ─── WordPress Site Root ────────────────────── */
.wp-site-blocks {
  background-color: var(--surface-0) !important;
  overflow-x: hidden;
}

.ydc-main-container {
  width: 100%;
  background-color: var(--surface-0);
}

/* ─── WordPress Admin Bar Offset ─────────────── */
@media screen and (min-width: 601px) {
  #ydc-header {
    top: calc(var(--wp-admin--admin-bar--height, 0px));
  }
}

/* ─── Scrollbar ──────────────────────────────── */
::-webkit-scrollbar {
  width: 6px;
}

::-webkit-scrollbar-track {
  background: var(--surface-0);
}

::-webkit-scrollbar-thumb {
  background: var(--border-normal);
  border-radius: var(--radius-pill);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--border-strong);
}

/* ─── Text selection ──────────────────────────── */
::selection {
  background-color: var(--accent-soft-hov);
  color: var(--text-primary);
}

/* ─── Focus ring ──────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: 3px;
}

/* ─── Horizontal rule ─────────────────────────── */
hr {
  border: none;
  border-top: 1px solid var(--border-subtle);
  margin-block: var(--space-8);
}
