/* Studio Weber — ONE header alignment system, all pages.
   Replace the previous contents of this file; do not append.
   Both mark and navigation participate in the same flex row.
   Desktop gutter: 40px. Mobile gutter: 20px. */

/* Undo earlier absolute-position experiments, including page-specific rules. */
body header.wp-block-template-part .swa-site-mark,
body.swa-intelligence-home header.wp-block-template-part .swa-site-mark,
body.swa-contact-page header.wp-block-template-part .swa-site-mark {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  z-index: auto !important;
}

/* Remove the theme's constrained header width, without touching page content. */
body header.wp-block-template-part,
body.swa-intelligence-home header.wp-block-template-part,
body.swa-contact-page header.wp-block-template-part {
  width: 100% !important;
  position: static !important;
}
body header.wp-block-template-part > .wp-block-group.alignfull,
body header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  position: static !important;
}

/* One row, one shared gutter. The 's' aligns with Home's 'start here'. */
body header.wp-block-template-part .wp-block-group.alignwide,
body.swa-intelligence-home header.wp-block-template-part .wp-block-group.alignwide,
body.swa-contact-page header.wp-block-template-part .wp-block-group.alignwide {
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Navigation stays at the right end; never overlaps the mark. */
body header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group,
body.swa-intelligence-home header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group,
body.swa-contact-page header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group {
  margin-left: auto !important;
  min-width: 0 !important;
  justify-content: flex-end !important;
}

@media (max-width: 600px) {
  body header.wp-block-template-part .wp-block-group.alignwide,
  body.swa-intelligence-home header.wp-block-template-part .wp-block-group.alignwide,
  body.swa-contact-page header.wp-block-template-part .wp-block-group.alignwide {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Contact uses a constrained inner wrapper. Make that wrapper span the header,
   then give its actual flex row the same 40px gutters as Home. Contact only. */
body.swa-contact-page header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.swa-contact-page header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding > .wp-block-group.alignwide {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  justify-content: space-between !important;
  align-items: center !important;
}
body.swa-contact-page header.wp-block-template-part .swa-site-mark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  transform: none !important;
}
body.swa-contact-page header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group {
  display: flex !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
}
@media (max-width: 600px) {
  body.swa-contact-page header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding > .wp-block-group.alignwide {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Contact template: WordPress identifies this page as page-id-32. The earlier
   .swa-contact-page selector is not guaranteed to exist on the body. Match the
   real page class and reset the actual header row without moving page content. */
body.page-id-32 header.wp-block-template-part,
body.page-id-32 header.wp-block-template-part > .wp-block-group.alignfull,
body.page-id-32 header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
body.page-id-32 header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding > .wp-block-group.alignwide {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  gap: 16px !important;
}
body.page-id-32 header.wp-block-template-part .wp-block-group.alignwide > p.swa-site-mark {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  order: 0 !important;
}
body.page-id-32 header.wp-block-template-part .wp-block-group.alignwide > .wp-block-group {
  display: flex !important;
  margin-left: auto !important;
  justify-content: flex-end !important;
  flex: 0 1 auto !important;
  order: 1 !important;
}
@media (max-width: 600px) {
  body.page-id-32 header.wp-block-template-part > .wp-block-group.alignfull > .wp-block-group.has-global-padding > .wp-block-group.alignwide {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Contact only: verified in Chrome DevTools. The header itself was shifted
   469px offscreen; reset its outer positioning without changing other pages. */
body.page-id-32 header.wp-block-template-part {
  position: relative !important;
  left: 0 !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
}
