/*
 * Shared header/footer layout guardrails.
 *
 * Forces Astra builder chrome and custom Overcome chrome to render at the
 * full viewport width without boxed containers, negative-margin bleed hacks,
 * or page-specific wrapper drift.
 */

:root {
  --overcome-header-footer-inline-padding: clamp(16px, 2vw, 28px);
  --overcome-header-footer-inner-max-width: 1180px;
  --overcome-header-link-blue: #203d8f;
  --overcome-header-link-blue-dark: #173472;
}

body.overcome-custom-chrome #masthead,
body.overcome-custom-chrome .ast-above-header-wrap,
body.overcome-custom-chrome .ast-below-header-wrap,
body.overcome-custom-chrome #colophon,
body.overcome-custom-chrome footer#colophon {
  display: none !important;
}

#masthead,
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap,
#colophon,
#colophon .site-above-footer-wrap,
#colophon .site-primary-footer-wrap,
#colophon .site-below-footer-wrap,
.overcome-site-nav,
.overcome-site-footer,
.overcome-post-hero {
  width: 100%;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box;
}

#masthead .site-primary-header-wrap,
#masthead .ast-builder-grid-row-container,
#colophon .ast-builder-grid-row-container,
#colophon .site-footer-section,
.overcome-site-nav__desktop,
.overcome-site-nav__mobile-bar,
.overcome-site-footer__inner,
.overcome-site-footer__bar-inner,
.overcome-post-nav__inner {
  width: 100%;
  box-sizing: border-box;
}

#masthead .site-primary-header-wrap.ast-container,
#masthead .ast-builder-grid-row-container.ast-container,
#colophon .ast-builder-grid-row-container.ast-container,
#colophon .site-footer-section .ast-container,
.overcome-site-nav__desktop,
.overcome-site-nav__mobile-bar,
.overcome-site-footer__inner,
.overcome-site-footer__bar-inner,
.overcome-post-nav__inner {
  width: 100%;
  max-width: min(100%, var(--overcome-header-footer-inner-max-width)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--overcome-header-footer-inline-padding) !important;
  padding-right: var(--overcome-header-footer-inline-padding) !important;
  box-sizing: border-box;
}

body.overcome-custom-chrome .site-content > .ast-container,
body.overcome-custom-chrome .entry-content,
body.overcome-custom-chrome #primary,
body.overcome-custom-chrome #main,
body.overcome-custom-chrome .entry-content > .overcome-home,
body.overcome-custom-chrome .entry-content > .speaking-page,
body.overcome-custom-chrome .entry-content > .book-travis-page,
body.overcome-custom-chrome .entry-content > .overcome-blog-page,
body.overcome-custom-chrome .entry-content > .overcome-about-page,
body.overcome-custom-chrome .entry-content > .overcome-contact-page,
body.overcome-custom-chrome .entry-content > .overcome-podcast-page,
body.overcome-custom-chrome .entry-content > .overcome-episode-page,
body.overcome-custom-chrome .entry-content > .overcome-single-post {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

body.overcome-custom-chrome .overcome-home > .overcome-site-nav,
body.overcome-custom-chrome .overcome-home > .overcome-site-footer,
body.overcome-custom-chrome .speaking-page > .overcome-site-nav,
body.overcome-custom-chrome .speaking-page > .overcome-site-footer,
body.overcome-custom-chrome .book-travis-page > .overcome-site-nav,
body.overcome-custom-chrome .book-travis-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-blog-page > .overcome-site-nav,
body.overcome-custom-chrome .overcome-blog-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-about-page > .overcome-site-nav,
body.overcome-custom-chrome .overcome-about-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-contact-page > .overcome-site-nav,
body.overcome-custom-chrome .overcome-contact-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-podcast-page > .overcome-site-nav,
body.overcome-custom-chrome .overcome-podcast-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-podcast-page .overcome-site-nav,
body.overcome-custom-chrome .overcome-podcast-page .overcome-site-footer,
body.overcome-custom-chrome .overcome-episode-page > .overcome-site-nav,
body.overcome-custom-chrome .overcome-episode-page > .overcome-site-footer,
body.overcome-custom-chrome .overcome-episode-page .overcome-site-nav,
body.overcome-custom-chrome .overcome-episode-page .overcome-site-footer,
body.overcome-custom-chrome .overcome-single-post > .overcome-site-footer,
body.overcome-custom-chrome .overcome-single-post .overcome-site-footer,
body.overcome-custom-chrome .overcome-post-hero,
body.overcome-custom-chrome .overcome-single-post > .overcome-post-hero,
body.overcome-custom-chrome .overcome-single-post .overcome-post-hero {
  width: 100%;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
}

body {
  overflow-x: clip;
}

@supports not (overflow: clip) {
  .overcome-home,
  .speaking-page,
  .book-travis-page,
  .overcome-blog-page,
  .overcome-about-page,
  .overcome-contact-page,
  .overcome-podcast-page,
  .overcome-episode-page,
  .overcome-single-post,
  body {
    overflow-x: hidden;
  }
}

.overcome-site-nav__cta-group {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.overcome-site-nav__secondary-link,
.overcome-site-nav__mobile-secondary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: var(--overcome-header-link-blue);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.overcome-site-nav__secondary-link:hover,
.overcome-site-nav__secondary-link:focus-visible,
.overcome-site-nav__mobile-secondary-link:hover,
.overcome-site-nav__mobile-secondary-link:focus-visible {
  color: var(--overcome-header-link-blue-dark);
  opacity: 0.8;
}

.overcome-site-nav__mobile-secondary-link {
  min-height: 38px;
  font-size: 0.85rem;
}

@media (max-width: 980px) {
  .overcome-site-nav__cta-group {
    gap: 12px;
  }

  .overcome-site-nav__secondary-link {
    font-size: 0.9rem;
  }
}

@media (max-width: 640px) {
  .overcome-site-nav__mobile-secondary-link {
    max-width: 112px;
    line-height: 1.15;
    text-align: center;
  }
}
