.text-gradient-yellow-green {
  color: #fff;
  background: linear-gradient(90deg, #F3FF97 0%, #818E1B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

.text-gradient-lilac-purple {
  color: #fff;
  background: linear-gradient(90deg, #D5A5E3 32.31%, #A92ECD 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

.text-gradient-dark-purple {
  color: #fff;
  background: linear-gradient(90deg, #875CFF 0%, #4E22C9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3));
}

.relative-z4 {
  position: relative;
}

.relative-z10 {
  position: relative;
  z-index: 10;
}

.container-pr-0 {
  margin-left: auto;
  box-sizing: border-box;
}
@media (min-width: 2099px) {
  .container-pr-0 {
    width: calc(50vw + var(--container-max-width) / 2 - var(--container-padding));
    padding-left: 10px;
  }
}
@media (max-width: 2100px) {
  .container-pr-0 {
    padding-left: calc(var(--container-padding));
  }
}

.text-shadow-contrast-dark {
  /* Use dark, soft multi-layer shadow for light/low-contrast backgrounds */
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45), 0 2px 2px rgba(0, 0, 0, 0.3), 0 3px 4px rgba(0, 0, 0, 0.2);
}

.text-shadow-contrast-light {
  /* Use subtle light glow for dark backgrounds */
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.35), 0 2px 2px rgba(255, 255, 255, 0.2);
}

.wp-block-pulp-background-image-graphic {
  position: relative;
  /* Make sure direct children are positioned */
}
.wp-block-pulp-background-image-graphic:before {
  content: "";
  position: absolute;
  left: -4px;
  right: 0;
  width: 102%;
  height: var(--bg-height, 1027px);
  bottom: auto;
  top: 0px;
  transform: translateY(var(--bg-transform-y, 0px));
  display: block;
  background-size: 100% 100%;
  background-position: center 50px;
  isolation: isolate;
  pointer-events: none;
  background-repeat: no-repeat;
  background-image: url("../images/middle-bg.webp");
}
@media (max-width: 992px) {
  .wp-block-pulp-background-image-graphic:before {
    background-image: url("../images/mobile-bg-2.webp");
    height: var(--bg-height-mobile, 2490px);
    transform: translateY(var(--bg-transform-y-mobile, 0px));
    background-size: 100%;
  }
}
.wp-block-pulp-background-image-graphic.bottom-right .acf-innerblocks-container {
  position: relative;
}
.wp-block-pulp-background-image-graphic.bottom-right:after {
  content: "";
  position: absolute;
  /* left: 0px; */
  right: -150px;
  width: 600px;
  height: 600px;
  bottom: 0;
  display: block;
  background-position: bottom right;
  transform: translateY(400px);
  isolation: isolate;
  pointer-events: none;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/wp-content/themes/canton/assets/images/new-block-stack.webp");
}
@media (min-width: 2499px) {
  .wp-block-pulp-background-image-graphic.bottom-right:after {
    right: 200px;
  }
}
@media (min-width: 992px) {
  .wp-block-pulp-background-image-graphic.bottom-right:after {
    mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
  }
}
@media (max-width: 992px) {
  .wp-block-pulp-background-image-graphic.bottom-right:after {
    content: initial;
  }
}
.wp-block-pulp-background-image-graphic > * {
  position: relative;
  z-index: 1;
}
