/* ===========================================
   SITE-WIDE STRUCTURE + BUTTON STYLING (XM DIGITAL HUB)
   Includes:
   - Original layout normalization
   - Header safely hidden
   - Universal Neve-style buttons
   - Form submit fixes
   - Blue header strip removal
   - Responsive & hover optimization
   =========================================== */

/* 4) Keep media from pushing containers wider */
.nv-content-wrap img,
.nv-content-wrap video,
.nv-content-wrap .wp-block-image img {
  max-width: 100%;
  height: auto;
}

/* 5) Normalize common section wrappers that often ignore containers */
.nv-content-wrap .wp-block-group.is-layout-constrained,
.nv-content-wrap .wp-block-columns {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* 6) “Logo carousel” / 3rd-party blocks: keep them contained by default */
.nv-content-wrap [class*="carousel"],
.nv-content-wrap [class*="slider"],
.nv-content-wrap .wp-block-gallery {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Clamp footer spacing (Neve/SeedProd friendly) */
footer,
.site-footer,
.hfg-footer,
.nv-footer-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* If any element right after the footer is empty, don't render it */
footer ~ *:empty {
  display: none !important;
  min-height: 0 !important;
}

/* Defensive: avoid body/page wrappers adding bottom space */
body,
#content,
.site,
.nv-content-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide default theme header wrappers (you’re using custom header) */
header#masthead,
.site-header,
.neve-main-header,
.ast-header-break-point,
.main-header-bar,
.header-wrap,
.site-branding,
.site-navigation,
.header-search,
.search-form {
  display: none !important;
  visibility: hidden !important;
}

/* Remove potential top spacing left by theme header */
.site-content,
.content-area,
#content,
main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ===========================================
   UNIVERSAL NEVE-STYLE BUTTON STYLING
   =========================================== */

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-block-button__link,
a.wp-block-button__link,
a.button,
a.btn,
.wpcf7-submit,
.wpforms-submit,
a[class*="button"],
button[class*="button"] {
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.4;
  border-radius: var(--nv-radius, 3px);
  padding: 0.6em 1.5em;
  background-color: var(--nv-primary-accent, #0366d6);
  color: var(--nv-c-btn-text, #ffffff);
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
  margin: 0.6em 0.25em;
}

/* Hover and active states */
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.wp-block-button__link:hover,
a.wp-block-button__link:hover,
a.button:hover,
a.btn:hover,
.wpcf7-submit:hover,
.wpforms-submit:hover,
a[class*="button"]:hover,
button[class*="button"]:hover {
  background-color: var(--nv-primary-accent-hover, #024a9b);
  color: #ffffff;
  text-decoration: none;
}

/* Outline style (optional) */
a.button-outline,
button.button-outline,
.wp-block-button__link.is-style-outline {
  background-color: transparent;
  border: 1px solid var(--nv-primary-accent, #0366d6);
  color: var(--nv-primary-accent, #0366d6);
}
a.button-outline:hover,
button.button-outline:hover,
.wp-block-button__link.is-style-outline:hover {
  background-color: var(--nv-primary-accent, #0366d6);
  color: #ffffff;
}

/* Ensure consistent appearance in forms */
input[type="submit"],
button[type="submit"] {
  width: auto;
  min-width: 120px;
}

/* ===========================================
   FORM SUBMIT BUTTON FIXES
   =========================================== */

form button,
form input[type="submit"],
form input[type="button"],
form input[type="reset"],
form .wpforms-submit,
form .wpcf7-submit {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.4;
  border-radius: var(--nv-radius, 3px);
  padding: 0.6em 1.5em;
  background-color: var(--nv-primary-accent, #0366d6);
  color: var(--nv-c-btn-text, #ffffff);
  border: 1px solid transparent;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  margin: 0.6em auto;
  cursor: pointer;
}

form button:hover,
form input[type="submit"]:hover,
form input[type="button"]:hover,
form input[type="reset"]:hover,
form .wpforms-submit:hover,
form .wpcf7-submit:hover {
  background-color: var(--nv-primary-accent-hover, #024a9b);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/* ===========================================
   CENTER-ALIGN ALL CONTENT BUTTONS
   =========================================== */

.nv-content-wrap .wp-block-buttons,
.nv-content-wrap .wp-block-button,
.nv-content-wrap div[class*="buttons"],
.nv-content-wrap form {
  text-align: center;
}

.nv-content-wrap button,
.nv-content-wrap input[type="button"],
.nv-content-wrap input[type="submit"],
.nv-content-wrap input[type="reset"],
.nv-content-wrap .wp-block-button__link,
.nv-content-wrap a.wp-block-button__link,
.nv-content-wrap a.button,
.nv-content-wrap a.btn,
.nv-content-wrap .wpcf7-submit,
.nv-content-wrap .wpforms-submit,
.nv-content-wrap a[class*="button"],
.nv-content-wrap button[class*="button"] {
  display: inline-block;
  margin: 0.6em auto;
}

/* Responsive centering */
@media (max-width: 768px) {
  .nv-content-wrap .wp-block-buttons,
  .nv-content-wrap .wp-block-button,
  .nv-content-wrap div[class*="buttons"],
  .nv-content-wrap form {
    text-align: center;
  }

  .nv-content-wrap button,
  .nv-content-wrap input[type="button"],
  .nv-content-wrap input[type="submit"],
  .nv-content-wrap input[type="reset"],
  .nv-content-wrap .wp-block-button__link,
  .nv-content-wrap a.wp-block-button__link,
  .nv-content-wrap a.button,
  .nv-content-wrap a.btn,
  .nv-content-wrap .wpcf7-submit,
  .nv-content-wrap .wpforms-submit,
  .nv-content-wrap a[class*="button"],
  .nv-content-wrap button[class*="button"] {
    display: inline-block;
    margin: 0.6em auto;
  }
}

/* ===========================================
   HOVER/TAP MICRO ANIMATION (buttons only)
   =========================================== */
.nv-content-wrap button,
.nv-content-wrap input[type="button"],
.nv-content-wrap input[type="submit"],
.nv-content-wrap input[type="reset"],
.nv-content-wrap .wp-block-button__link,
.nv-content-wrap a.wp-block-button__link,
.nv-content-wrap a.button,
.nv-content-wrap a.btn,
.nv-content-wrap .wpcf7-submit,
.nv-content-wrap .wpforms-submit,
.nv-content-wrap a[class*="button"],
.nv-content-wrap button[class*="button"] {
  transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
}
@media (hover: hover) {
  .nv-content-wrap button:hover,
  .nv-content-wrap input[type="button"]:hover,
  .nv-content-wrap input[type="submit"]:hover,
  .nv-content-wrap input[type="reset"]:hover,
  .nv-content-wrap .wp-block-button__link:hover,
  .nv-content-wrap a.wp-block-button__link:hover,
  .nv-content-wrap a.button:hover,
  .nv-content-wrap a.btn:hover,
  .nv-content-wrap .wpcf7-submit:hover,
  .nv-content-wrap .wpforms-submit:hover,
  .nv-content-wrap a[class*="button"]:hover,
  .nv-content-wrap button[class*="button"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  }
}
.nv-content-wrap button:active,
.nv-content-wrap input[type="button"]:active,
.nv-content-wrap input[type="submit"]:active,
.nv-content-wrap input[type="reset"]:active,
.nv-content-wrap .wp-block-button__link:active,
.nv-content-wrap a.wp-block-button__link:active,
.nv-content-wrap a.button:active,
.nv-content-wrap a.btn:active,
.nv-content-wrap .wpcf7-submit:active,
.nv-content-wrap .wpforms-submit:active,
.nv-content-wrap a[class*="button"]:active,
.nv-content-wrap button[class*="button"]:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* ===========================================
   REMOVE LEFTOVER BLUE STRIP FROM THEME HEADER
   =========================================== */

html,
body,
.site,
#page {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

header#masthead,
.site-header,
.neve-main-header,
.hfg_header,
.hfg-header,
.nv-navbar,
.nv-header-content {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: transparent !important;
}

/* Ensure your site background shows correctly */
body {
  background-color: #ffffff;
}
https://xmdigitalhub.com
/* =========================
   XM Digital Hub Logo Size
========================= */

.site-logo img,
.custom-logo,
.navbar-brand img,
.builder-item--logo img {
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    object-fit: contain;
}

/* Tablet */
@media (max-width: 1024px) {
    .site-logo img,
    .custom-logo,
    .navbar-brand img,
    .builder-item--logo img {
        width: 180px !important;
        max-width: 180px !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .site-logo img,
    .custom-logo,
    .navbar-brand img,
    .builder-item--logo img {
        width: 140px !important;
        max-width: 140px !important;
    }
}