/* Oakwaters shared page transition
   Header stays stationary. Only content below the header moves. */

html, body {
  margin: 0;
  overflow-x: hidden;
}

/* Header always spans the full browser width and never participates in animation. */
header,
.blog-header,
.site-header {
  width: 100%;
  position: relative;
  z-index: 100;
}

/* Only this wrapper animates. */
.page-transition-content {
  width: 100%;
  transform: translateX(0);
  will-change: transform;
}

.page-transition-content.page-enter {
  animation: oakwaters-content-enter 520ms cubic-bezier(.22,.61,.36,1) both;
}

.page-transition-content.page-leave {
  animation: oakwaters-content-leave 420ms cubic-bezier(.55,.06,.68,.19) both;
  pointer-events: none;
}

@keyframes oakwaters-content-enter {
  from { transform: translateX(100vw); }
  to   { transform: translateX(0); }
}

@keyframes oakwaters-content-leave {
  from { transform: translateX(0); }
  to   { transform: translateX(-100vw); }
}

@media (prefers-reduced-motion: reduce) {
  .page-transition-content.page-enter,
  .page-transition-content.page-leave {
    animation: none !important;
  }
}


/* ===== Unified Oakwaters header ===== */
html, body {
  margin: 0;
  padding: 0;
}

header,
.site-header,
.header {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

header {
  min-height: 225px !important;
  height: 225px !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
}

header > * {
  box-sizing: border-box !important;
}

/* Keep logo and navigation geometry identical on every page */
header .header-inner,
header .nav-wrap,
header .container,
header > div {
  width: 100% !important;
  max-width: 1800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Search is intentionally removed */
header form,
header input[type="search"],
header input[placeholder="Search..."],
header .search,
header .search-box,
header .site-search,
header [class*="search"] {
  display: none !important;
}

/* Prevent page-specific header/logo sizing */
header img {
  max-height: 190px !important;
  width: auto !important;
  object-fit: contain !important;
}

@media (max-width: 800px) {
  header {
    height: auto !important;
    min-height: 150px !important;
  }
}
