/*
Theme Name: Zon Child
Theme URI: https://sunesishq.com
Description: Child theme for Zon with integrated Sunesis global navigation
Author: Sunesis Learning Initiative
Author URI: https://sunesishq.com
Template: zon
Version: 1.0.2
Text Domain: zon-child
*/

/* =========================================================
   1) HIDE ZON THEME HEADER (we use /partials/nav.php)
   ========================================================= */
#masthead,
.header-wrap,
.top-header,
#sticky-header,
.site-header,
.header-v1 {
    display: none !important;
}

/* Remove any spacing left behind by hidden header */
#site-content-contain,
.site-content-contain,
#content,
.site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* =========================================================
   2) ADMIN BAR OFFSET (only affects sticky navbar)
   ========================================================= */
body.admin-bar .navbar.sticky-top,
body.admin-bar .navbar.fixed-top {
    top: 32px !important;
}

@media (max-width: 782px) {
    body.admin-bar .navbar.sticky-top,
    body.admin-bar .navbar.fixed-top {
        top: 46px !important;
    }
}

/* =========================================================
   3) SUNESIS NAV PARITY (SCOPED — ONLY YOUR NAV)
   ========================================================= */

/* Keep nav above Elementor layers */
.navbar,
.navbar.sticky-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    background: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.10) !important;
    font-family: inherit !important;
}

/* Prevent WP/theme link styling from "theming" navbar links */
.navbar a,
.navbar a:hover,
.navbar a:focus {
    text-decoration: none !important;
}

/* Container spacing parity */
.navbar > .container,
.navbar .container {
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Brand / logo */
.navbar .navbar-brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.navbar .navbar-brand img {
    height: 40px !important;
    width: auto !important;
    max-width: none !important;
}

/* Nav links */
.navbar .navbar-nav {
    align-items: center !important;
}
.navbar .navbar-nav .nav-link {
    padding: 0.5rem 1rem !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    color: #222222 !important;
    background: transparent !important;
    border: 0 !important;
}
.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus,
.navbar .navbar-nav .nav-link.active {
    color: #d4af37 !important;
}

/* Dropdown surface */
.navbar .dropdown-menu {
    border: 1px solid rgba(212,175,55,0.25) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,0.12) !important;
    padding: 0.5rem 0 !important;
    margin-top: 5px !important;
}
.navbar .dropdown-item {
    padding: 0.6rem 1.25rem !important;
    font-weight: 500 !important;
    color: #222222 !important;
    background: transparent !important;
}
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
    background: rgba(212,175,55,0.10) !important;
    color: #111111 !important;
}

/* CTA button — scoped to nav ONLY */
.navbar .btn-primary-gold,
.navbar a.btn-primary-gold {
    background: linear-gradient(135deg, #d4af37 0%, #b8941f 100%) !important;
    border: 2px solid #c19b2a !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 10px 24px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    transition: all 0.3s ease !important;
}
.navbar .btn-primary-gold:hover,
.navbar a.btn-primary-gold:hover {
    background: linear-gradient(135deg, #b8941f 0%, #9c7c16 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(180,147,32,0.30) !important;
    transform: translateY(-1px) !important;
}

/* Announcement bar (only if you're outputting it in header.php) */
.announcement-bar {
    text-align: center !important;
    padding: 8px 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

/* Mobile toggler — keep it visible if Zon/Elementor styles interfere */
.navbar .navbar-toggler {
    border: 1px solid rgba(0,0,0,0.1) !important;
}

/* =========================================================
   SUNESIS NAV PARITY PATCH (Match HOMEPAGE)
   Fix only: logo footprint + nav row spacing + wrapping
   ========================================================= */

/* A) Match homepage navbar vertical rhythm */
.navbar {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

/* B) Ensure the navbar container behaves like the main layout */
.navbar > .container {
  max-width: 1320px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  align-items: center !important;
}

/* C) Clamp the brand block so it cannot steal the whole row */
.navbar .navbar-brand {
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 1rem 0 0 !important;
  max-width: 240px !important;
  flex: 0 0 auto !important;
}

/* D) Force the logo image to render like homepage (size + width cap) */
.navbar .navbar-brand img {
  height: 40px !important;
  max-height: 40px !important;
  width: auto !important;
  max-width: 220px !important;
  object-fit: contain !important;
  display: block !important;
}

/* E) Desktop: keep menu in one line and tighten link spacing */
@media (min-width: 992px) {
  .navbar .navbar-collapse {
    flex-grow: 1 !important;
  }

  .navbar .navbar-nav {
    flex-wrap: nowrap !important;
    gap: 0.5rem !important;
    align-items: center !important;
  }

  .navbar .nav-item,
  .navbar .nav-link {
    white-space: nowrap !important;
  }

  .navbar .nav-link {
    padding: 0.5rem 0.85rem !important;
    line-height: 1.2 !important;
  }
}
/* =========================================================
   BLOG POST TEXT WIDTH - PROFESSIONAL EDITORIAL STANDARD
   Applied: Individual blog posts only
   ========================================================= */

/* Target WordPress article content container */
.single-post .entry-content,
.single-post article .entry-content,
body.single .entry-content {
    max-width: 82ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    line-height: 1.7;
}

/* Premium scaling for larger screens */
@media (min-width: 1200px) {
    .single-post .entry-content,
    .single-post article .entry-content,
    body.single .entry-content {
        max-width: 88ch !important;
    }
}

/* Ensure child elements respect container width */
.entry-content > * {
    max-width: 100% !important;
}

/* Keep images, embeds, galleries full-container-width */
.entry-content img,
.entry-content iframe,
.entry-content .wp-block-image,
.entry-content .wp-block-embed,
.entry-content .wp-block-gallery {
    max-width: 100% !important;
    height: auto !important;
}