/* JetEngine listing skeleton loader */
.hw-jet-listing-skeleton {
  --hw-skeleton-base-color: #e0e0e0;
  --hw-skeleton-highlight-color: #f5f5f5;
  --hw-skeleton-radius: 10px;
  --hw-skeleton-animation-duration: 1.35s;
  --hw-skeleton-z: 1;
}

/* Corners: allow overriding via class set from Elementor control */
.hw-jet-listing-skeleton.hw-skeleton-straight {
  --hw-skeleton-radius: 0px;
}
.hw-jet-listing-skeleton.hw-skeleton-rounded {
  --hw-skeleton-radius: 10px;
}
/* Ensure the wrapper already has the final radius even before loading toggles,
   to avoid any visible snap on widgets like Image where the child has its own radius. */
.hw-jet-listing-skeleton .skeleton-loading {
  border-radius: var(--hw-skeleton-radius, 10px);
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading {
  position: var(--hw-skeleton-original-position, relative);
  overflow: hidden;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: var(--hw-skeleton-radius, 10px);
  color: transparent !important;
  pointer-events: none;
  background-image: none !important;
  isolation: isolate;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .jet-listing-grid__items,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .jet-listing-grid__item {
  opacity: 1 !important;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading
  > *:not(.skeleton-loading):not(.skeleton-multitext-loading):not(
    .skeleton-list-loading
  ):not(.skeleton-keep) {
  opacity: 0;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading
  img,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading
  svg,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading
  picture,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading
  video {
  opacity: 0 !important;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--hw-skeleton-z, 1);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
  border-radius: inherit;
  pointer-events: none;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .skeleton-loading::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: inherit;
  z-index: 0;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-hw-skeleton="true"]
  ~ .jet-listing-grid__loader {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .skeleton-loading::after,
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .hw-skel-block::after,
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .hw-skel-circle::after,
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .hw-skel-list-item::after,
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .hw-skeleton-overlay__line {
    animation: none !important;
  }
}
@keyframes hw-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

@keyframes hw-skeleton-fade {
  0% {
    opacity: 0.25;
  }
  45% {
    opacity: 1;
  }
  100% {
    opacity: 0.25;
  }
}

/* 
===========================================
TEXT EDITOR SKELETON - LINE OVERLAY
===========================================
*/

.skeleton-multitext-loading.elementor-widget-text-editor
  .elementor-widget-container {
  position: relative;
}

.skeleton-multitext-loading.elementor-widget-text-editor .hw-skeleton-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: var(--hw-skeleton-z, 1);
}

.skeleton-multitext-loading.elementor-widget-text-editor
  .hw-skeleton-overlay__line {
  position: absolute;
  left: 0;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: var(--hw-skeleton-radius, 10px);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .hw-skeleton-overlay {
  opacity: 1;
}

.hw-skeleton-dev .hw-skeleton-overlay {
  opacity: 1 !important;
}
.hw-skeleton-dev .elementor-widget-container > *:not(.hw-skeleton-overlay),
.hw-skeleton-dev
  > *:not(.elementor-widget-container):not(.hw-skeleton-overlay) {
  opacity: 0 !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  pointer-events: none !important;
}

/* Ensure no block-level shimmer/background on the widget while using line overlay */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor {
  background: none !important;
  background-color: transparent !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .elementor-widget-container {
  background: none !important;
  background-color: transparent !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor::after {
  content: none !important;
}

/* Neutralize any generic .skeleton-loading shimmer inside text-editor widget */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor.skeleton-loading,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .skeleton-loading {
  background: none !important;
  background-color: transparent !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor.skeleton-loading::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor.skeleton-loading::after,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .skeleton-loading::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .skeleton-loading::after {
  content: none !important;
  background: none !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  .elementor-widget-container
  > *:not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .skeleton-loading-justhide {
  visibility: hidden !important;
  opacity: 0 !important;
  overflow: hidden !important;
  height: 0;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  [data-widget_type="text-editor.default"].skeleton-multitext-loading.elementor-widget-text-editor
  > *:not(.elementor-widget-container):not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}

.skeleton-multitext-loading.elementor-widget-text-editor {
  position: relative;
  isolation: isolate;
}

/* Animáció */
@keyframes hw-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    [data-widget_type="text-editor.default"].skeleton-multitext-loading::after {
    animation: none !important;
  }
}

/* Z-index utility classes for skeleton stacking control */
.skeleton-z-0 {
  --hw-skeleton-z: 0;
}
.skeleton-z-1 {
  --hw-skeleton-z: 1;
}
.skeleton-z-2 {
  --hw-skeleton-z: 2;
}
.skeleton-z-3 {
  --hw-skeleton-z: 3;
}
.skeleton-z-4 {
  --hw-skeleton-z: 4;
}
.skeleton-z-5 {
  --hw-skeleton-z: 5;
}

/*
===========================================
SHAPE UTILITIES (JS adapter)
===========================================
Generic shapes applied via JS to widget internals.
They only take effect while the grid is loading.
*/
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block {
  position: relative;
  overflow: hidden;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: var(--hw-skeleton-radius, 10px);
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block
  > * {
  opacity: 0 !important;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block::before {
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-block::after {
  z-index: var(--hw-skeleton-z, 1);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle {
  position: relative;
  overflow: hidden;
  border-radius: var(--hw-skel-circle-radius, 50%);
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle
  > * {
  opacity: 0 !important;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle::before {
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-circle::after {
  z-index: var(--hw-skeleton-z, 1);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
}

/* List item (e.g., Icon List) */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item {
  position: relative;
  overflow: hidden;
  min-height: 14px;
  line-height: 1.2;
  border-radius: var(--hw-skeleton-radius, 10px);
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  color: transparent !important;
  pointer-events: none;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item
  > * {
  opacity: 0 !important;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
  border-radius: inherit;
  pointer-events: none;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: inherit;
  z-index: 0;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:not(:first-child) {
  margin-top: var(--hw-skeleton-list-gap, 6px);
}

/* Optional stagger for list shimmer */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(1)::after {
  animation-delay: 0s;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(2)::after {
  animation-delay: 0.12s;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(3)::after {
  animation-delay: 0.24s;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(4)::after {
  animation-delay: 0.36s;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(5)::after {
  animation-delay: 0.48s;
}
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  .hw-skel-list-item:nth-child(6)::after {
  animation-delay: 0.6s;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .skeleton-dynamice-sl-loading
  .jet-engine-arrow.slick-arrow {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
    .hw-jet-listing-skeleton
    .hw-skel-list-item::after {
    animation: none !important;
  }
}

/* Put parent block shimmer strictly behind children (background mode) */
.hw-jet-listing-skeleton .skeleton-loading.skeleton-z-bg {
  --hw-skeleton-z: 0;
}
.hw-jet-listing-skeleton .skeleton-loading.skeleton-z-bg::after {
  z-index: -1 !important;
}
.hw-jet-listing-skeleton .skeleton-loading.skeleton-z-bg::before {
  z-index: -2 !important;
}

/* Fade style overrides */
.hw-skeleton-style-fade.hw-jet-listing-skeleton .skeleton-loading::after,
.hw-skeleton-style-fade.hw-jet-listing-skeleton .hw-skel-block::after,
.hw-skeleton-style-fade.hw-jet-listing-skeleton .hw-skel-circle::after,
.hw-skeleton-style-fade.hw-jet-listing-skeleton .hw-skel-list-item::after,
.hw-skeleton-style-fade.hw-jet-listing-skeleton .hw-skeleton-overlay__line {
  background-image: none !important;
  background-color: var(--hw-skeleton-highlight-color, #f5f5f5);
  animation: hw-skeleton-fade var(--hw-skeleton-animation-duration, 0.9s)
    ease-in-out infinite !important;
}

/* Shimmer direction tweak */
.hw-skeleton-style-shimmer.hw-skeleton-dir-rtl.hw-jet-listing-skeleton
  .skeleton-loading::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-rtl.hw-jet-listing-skeleton
  .hw-skel-block::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-rtl.hw-jet-listing-skeleton
  .hw-skel-circle::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-rtl.hw-jet-listing-skeleton
  .hw-skel-list-item::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-rtl.hw-jet-listing-skeleton
  .hw-skeleton-overlay__line {
  animation-direction: reverse;
  background-position: -200% 0;
}

.hw-skeleton-style-shimmer.hw-skeleton-dir-ltr.hw-jet-listing-skeleton
  .skeleton-loading::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-ltr.hw-jet-listing-skeleton
  .hw-skel-block::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-ltr.hw-jet-listing-skeleton
  .hw-skel-circle::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-ltr.hw-jet-listing-skeleton
  .hw-skel-list-item::after,
.hw-skeleton-style-shimmer.hw-skeleton-dir-ltr.hw-jet-listing-skeleton
  .hw-skeleton-overlay__line {
  animation-direction: normal;
  background-position: 200% 0;
}

/* Utility: silence background while skeleton is active */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  :is(.skeleton-loading.skeleton-silent-bg, .skeleton-silent-bg) {
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: none !important;
}

/* Utility: silence border while skeleton is active (no transition flash) */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  .hw-jet-listing-skeleton
  :is(.skeleton-loading.skeleton-silent-border, .skeleton-silent-border) {
  border-color: rgba(0, 0, 0, 0) !important;
  transition: none !important;
}

/* 
===========================================
DYNAMIC FIELD SKELETON - LINE OVERLAY
===========================================
*/

/* Ensure container is positioning context */
.skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field
  .elementor-widget-container,
.skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  .elementor-widget-container {
  position: relative;
}

/* Overlay root */
.skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field
  .hw-skeleton-overlay,
.skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  .hw-skeleton-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: var(--hw-skeleton-z, 1);
}

/* Overlay lines */
.skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field
  .hw-skeleton-overlay__line,
.skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  .hw-skeleton-overlay__line {
  position: absolute;
  left: 0;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: var(--hw-skeleton-radius, 10px);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
}

/* Show overlay during loading */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )
  .hw-skeleton-overlay {
  opacity: 1;
}

/* Neutralize block-level shimmer/background on dynamic-field widget while using line overlay */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  ) {
  background: none !important;
  background-color: transparent !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )
  .elementor-widget-container {
  background: none !important;
  background-color: transparent !important;
}

/* Remove generic shimmer pseudo-elements on the widget when multiline overlay active */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )::after {
  content: none !important;
  background: none !important;
}

/* Hide real content while overlay visible */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )
  .elementor-widget-container
  > *:not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}

/* Hide non-container immediate children too (rarely used by Elementor wrappers) */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="jet-listing-dynamic-field.default"].skeleton-multitext-loading.elementor-widget-jet-listing-dynamic-field,
    .skeleton-multitext-loading[data-widget_type="jet-listing-dynamic-field.default"]
  )
  > *:not(.elementor-widget-container):not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}

/* 
===========================================
HEADING (ELEMENTOR) SKELETON - LINE OVERLAY
===========================================
*/

/* Ensure container is positioning context */
.skeleton-multitext-loading.elementor-widget-heading
  .elementor-widget-container,
.skeleton-multitext-loading[data-widget_type="heading.default"]
  .elementor-widget-container {
  position: relative;
}

/* Overlay root */
.skeleton-multitext-loading.elementor-widget-heading .hw-skeleton-overlay,
.skeleton-multitext-loading[data-widget_type="heading.default"]
  .hw-skeleton-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: var(--hw-skeleton-z, 1);
}

/* Overlay lines */
.skeleton-multitext-loading.elementor-widget-heading .hw-skeleton-overlay__line,
.skeleton-multitext-loading[data-widget_type="heading.default"]
  .hw-skeleton-overlay__line {
  position: absolute;
  left: 0;
  background-color: var(--hw-skeleton-base-color, #e0e0e0);
  border-radius: var(--hw-skeleton-radius, 10px);
  background-image: linear-gradient(
    90deg,
    var(--hw-skeleton-base-color, #e0e0e0) 0%,
    var(--hw-skeleton-highlight-color, #f5f5f5) 50%,
    var(--hw-skeleton-base-color, #e0e0e0) 100%
  );
  background-size: 200% 100%;
  animation: hw-skeleton-shimmer var(--hw-skeleton-animation-duration, 1.35s)
    ease-in-out infinite;
}

/* Show overlay during loading */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )
  .hw-skeleton-overlay {
  opacity: 1;
}

/* Neutralize block-level shimmer/background on heading while using line overlay */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  ) {
  background: none !important;
  background-color: transparent !important;
}

.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )
  .elementor-widget-container {
  background: none !important;
  background-color: transparent !important;
}

/* Remove generic shimmer pseudo-elements on the widget when multiline overlay active */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )::before,
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )::after {
  content: none !important;
  background: none !important;
}

/* Hide real content while overlay visible */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )
  .elementor-widget-container
  > *:not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}

/* Hide non-container immediate children too */
.jet-listing-grid:is(.jet-listing-grid-loading, .hw-js-skeleton-loading)
  :is(
    [data-widget_type="heading.default"].skeleton-multitext-loading.elementor-widget-heading,
    .skeleton-multitext-loading[data-widget_type="heading.default"]
  )
  > *:not(.elementor-widget-container):not(.hw-skeleton-overlay) {
  opacity: 0;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  pointer-events: none !important;
}
