.e-con {
  padding-inline-start: 0px !important;

  padding-inline-end: 0px !important;
}

.e-con > .e-con-inner {
  max-width: unset !important;
}

.e-con-full,
.e-con > .e-con-inner {
  padding-block-start: 0 !important;

  padding-block-end: 0 !important;
}

.e-con,
.e-con > .e-con-inner {
  display: unset !important;
}

#wpdcom .wpd-form-head {
  display: none !important;
}

#wpdcom {
  max-width: unset !important;
}

#wpd-post-rating {
  margin-bottom: 0 !important;
}

#wpdcom .wpd-thread-head .wpdiscuz-user-settings {
  display: none !important;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-form label.error {
  pointer-events: none;
  color: rgb(255, 255, 255) !important;
  display: block;
  font-size: 13.5px;
  padding: 5px 10px;
  text-align: left;
  z-index: 2;
  animation: 0.3s ease-in-out 0s 1 normal forwards running openErrorMessage;
  position: absolute;
  border-radius: 4px;
  background: rgb(220, 53, 69);
  max-width: 80%;
  font-weight: bold;
  word-break: break-word;
  right: auto;
  top: 100%;
  left: 0px;
  font-weight: 500;
}

.wpcf7-form label.error::before {
  content: "";
  border-width: 3px 5px;
  position: absolute;
  border-color: transparent transparent #dc3545 transparent;
  border-style: solid;
  left: 25%;
  bottom: 100%;
  transform: translateX(-50%);
}

@keyframes openErrorMessage {
  0% {
    opacity: 0;
    transform: translateY(15px);
  }
  100% {
    opacity: 1;
    transform: translateY(5px);
  }
}

/* Filter Loading Overlay */
#module__product-result {
  position: relative;
  min-height: 300px;
}

.filter-loading-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  backdrop-filter: blur(2px);
  border-radius: 1rem;
}

.filter-loader {
  width: 48px;
  height: 48px;
  border: 5px solid #093851;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Animations for Government Widgets */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse-slow {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.8;
  }
}

.animate-fadeInUp {
  animation: fadeInUp 0.8s ease-out forwards;
}

.animate-fadeInLeft {
  animation: fadeInLeft 0.8s ease-out forwards;
}

.animate-fadeInRight {
  animation: fadeInRight 0.8s ease-out forwards;
}

.animate-pulse-slow {
  animation: pulse-slow 3s ease-in-out infinite;
}

.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }
.delay-700 { animation-delay: 700ms; }
