/*-------------------------------------
  GLOBAL STYLING FOR GRAVITY FORMS
-------------------------------------*/
body .gform_wrapper {
  font-family: 'Open Sans', sans-serif !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body .gform_wrapper h3,
body .gform_wrapper legend,
body .gform_wrapper .gfield_label {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 700;
}

body .gform_wrapper input,
body .gform_wrapper textarea,
body .gform_wrapper select {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px;
}

body .gform_wrapper .gform_page_footer .gform_next_button,
body .gform_wrapper .gform_page_footer .gform_previous_button {
  float: none !important;
  display: inline-block !important;
  margin: 0 auto;
}

body .gform_wrapper .gsection.no-bottom-border,
body .gform_wrapper .no-bottom-border {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

.gform_heading {
  display: none !important;
}



/*-------------------------------------
  REMOVE HEADER FOR PAGE 2208
-------------------------------------*/
body.page-id-2208 header.wp-block-template-part {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-2208 .wp-site-blocks,
body.page-id-2208 .wp-block-group,
body.page-id-2208 .gform_wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}



/*-------------------------------------
  PAGE 7029 — OFFICIAL SIGN-UP
  REMOVE HEADER + REMOVE FOOTER GAP
-------------------------------------*/
body.page-id-7029 header.wp-block-template-part {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-7029 .wp-site-blocks,
body.page-id-7029 .wp-block-group,
body.page-id-7029 .gform_wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-7029 .wp-block-group:last-of-type,
body.page-id-7029 .wp-block-columns:last-of-type,
body.page-id-7029 .wp-block-cover:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}



/*-------------------------------------
  PAGE 7088 — MOBILE SIGN-UP
  KEEP HEADER — REMOVE FOOTER GAP
-------------------------------------*/

/* Remove theme auto-padding wrappers that cause the large gap */
body.page-id-7088 div.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Additional theme container cleanup */
body.page-id-7088 .wp-site-blocks > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.page-id-7088 footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.page-id-7088 .wp-block-group:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}



/*-------------------------------------
  GLOBAL — REMOVE GAP BELOW HEADER
-------------------------------------*/
header.wp-block-template-part {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.wp-site-blocks {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wp-block-navigation {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}



/*-------------------------------------
  GLOBAL — REMOVE GAP ABOVE FOOTER
  (This fixes 100% of pages)
-------------------------------------*/
div.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.gform_wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* PAGE 7648 — remove theme spacing without killing header */
body.page-id-7648 main#wp--skip-link--target {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Remove spacing from the empty wrapper ABOVE main */
body.page-id-7648 .wp-site-blocks > .wp-block-group.has-global-padding.is-layout-constrained {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Professional soft card shadow */
.dds-card {
  background: #F6FAFE; /* keep your current color or adjust */
  border-radius: 8px;
  padding: 28px;
  box-shadow: 
    0 2px 8px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.25s ease;
}

/* Optional subtle hover lift */
.dds-card:hover {
  box-shadow: 
    0 4px 12px rgba(0, 0, 0, 0.06),
    0 12px 32px rgba(0, 0, 0, 0.08);
}

/* Make child cards equal height */
.dds-card-row {
  display: flex;
  gap: 24px; /* adjust spacing */
}

.dds-card-row > * {
  flex: 1;
  display: flex;
}

.dds-card-row > * > .dds-card {
  flex: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .dds-card-row {
    flex-direction: column;
  }
}

.wp-block-column.dds-home-card {
  background: #ffffff;
  padding: 36px 28px;
  border-radius: 12px;
  box-shadow: 
    0 2px 6px rgba(0, 0, 0, 0.04),
    0 12px 28px rgba(0, 0, 0, 0.06);
}

.dds-card-image {
  background: #ffffff;
  padding: 24px;
  border-radius: 16px;
  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.05),
    0 18px 40px rgba(0, 0, 0, 0.08);
  display: inline-block;
  transition: all 0.3s ease;
  transform: translateY(0);
}

.dds-card-image img {
  border-radius: 12px;
  display: block;
  width: 100%;
  height: auto;
}

/* Hover effect */
.dds-card-image:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.08),
    0 24px 60px rgba(0, 0, 0, 0.12);
}

/* ================================
   DDS Staggered Text Pulse
   Fix: fast drop + smooth rendering
   ================================ */

/* Primary pulse */
.dds-text-pulse {
    will-change: transform, text-shadow;
    backface-visibility: hidden;
    transform: translateZ(0);
    animation: ddsPulse 8s linear infinite;
}

/* Secondary pulse (0.5s stagger) */
.dds-text-pulse2 {
    will-change: transform, text-shadow;
    backface-visibility: hidden;
    transform: translateZ(0);
    animation: ddsPulse 8s linear infinite;
    animation-delay: 0.5s;
}

/* Keyframes:
   - Hold bottom 3s
   - Quick lift
   - Hold top 3s
   - Quick drop (THIS is what fixes the “slow/stuttery” feel)
   - Hold bottom again
*/
@keyframes ddsPulse {

    /* Bottom hold (0s–3s) */
    0%,
    37.5% {
        transform: translateY(0);
        text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.12);
    }

    /* Quick lift (~0.3s) */
    41% {
        transform: translateY(-4px);
        text-shadow: 0px 10px 22px rgba(0, 0, 0, 0.18);
    }

    /* Top hold (3s) */
    82.5% {
        transform: translateY(-4px);
        text-shadow: 0px 10px 22px rgba(0, 0, 0, 0.18);
    }

    /* Quick drop (~0.3s) */
    86% {
        transform: translateY(0);
        text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.12);
    }

    /* Bottom hold (rest of cycle) */
    100% {
        transform: translateY(0);
        text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.12);
    }
}

/* Subtle expanding hover card */
.dds-card-image-soft {
  background: #ffffff;
  padding: 20px;
  border-radius: 3px;
  margin: 0; /* no side margins */
  box-shadow:
    0 2px 6px rgba(0,0,0,0.04);
  display: block;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  transform: translateY(0) scale(1);
}

.dds-card-image-soft img {
  border-radius: 2px;
  display: block;
  width: 100%;
  height: auto;
}

/* subtle expansion */
.dds-card-image-soft:hover {
  transform: translateY(-2px) scale(1.015);
  box-shadow:
    0 8px 18px rgba(0,0,0,0.08);
}

/* DDS Button Pop */
.dds-button-pop {
  display: inline-block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  transform: translateY(0) scale(1);
}

.dds-button-pop:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.15);
}