/*
 Theme Name: GeneratePress Child
 Template: generatepress
*/

/*
 * =====================================================
 * AUTHENTIC SAMURAI — Child Theme Base CSS
 * =====================================================
 *
 * LAYER ORDER (do not change):
 * 1) Reset — neutralize GeneratePress & Gutenberg defaults
 * 2) Layout — full-width foundation, container system
 * 3) Navigation — fixed nav, scroll fade
 * 4) Parallax — background system
 * 5) Hero — bamboo section specifics
 * 6) Sections — reusable section patterns
 * 7) Utilities — helper classes
 * 8) Page-specific overrides
 * =====================================================
 */


/* =====================================================
   1) RESET
   Neutralizes defaults from GeneratePress and Gutenberg
   that would otherwise interfere with our layout.
   ===================================================== */

/* Remove default body margin/padding */
body {
  margin: 0;
  padding: 0;
}

/* Remove unexpected top gaps Gutenberg adds */
.wp-site-blocks,
.wp-site-blocks > main,
.entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.entry-content > :first-child {
  margin-top: 0 !important;
}

/* Remove GeneratePress header - we use our own nav block */
.site-header {
  display: none !important;
}

/* Remove GeneratePress footer padding */
.site-footer {
  padding: 0;
}

/* Remove default Gutenberg block margins that cause gaps */
.entry-content > .wp-block-group {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* =====================================================
   2) LAYOUT
   Full-width by default. Content width controlled
   per-section using .as-content class.
   ===================================================== */

/* Make all pages full width by default */
.site-content,
.content-area,
.site-main,
.entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Content container - use this inside sections
   to constrain text to a readable width */
.as-content {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
  box-sizing: border-box;
}

/* Narrow content - for text-heavy pages */
.as-content-narrow {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
  box-sizing: border-box;
}

/* Page-level constraint override
   Add class "constrained-page" to body via
   page-specific CSS to re-enable width limits */
.constrained-page .site-main {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}


/* =====================================================
   3) NAVIGATION
   Fixed transparent nav that fades to dark on scroll.
   Relies on .scrolled class toggled by footer JS.
   ===================================================== */

.wp-block-navigation {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  background: rgba(0,0,0,0);
  transition: background 0.4s ease;
  z-index: 9999;
}

/* Nav fades to dark after scrolling */
.scrolled .wp-block-navigation {
  background: rgba(0,0,0,0.85);
}

/* Mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: rgba(0,0,0,0.95) !important;
}


/* =====================================================
   4) PARALLAX SYSTEM
   How to use:
   - Add class "parallax-sec" to a Group block
   - Add as FIRST child inside that Group:
     <div class="parallax-sec__bg alignfull" aria-hidden="true"></div>
   - Set background image on the Group in the editor
   - The footer JS handles the rest automatically
   ===================================================== */

.parallax-sec {
  position: relative;
  overflow: hidden;
}

.parallax-sec__bg {
  position: absolute;
  inset: -20vh 0;
  height: calc(100% + 40vh);
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  transform: translate3d(0,0,0);
  will-change: transform;
}

/* All content inside parall