/* Continuous catalogue blueprint morph.
   This layer replaces the four background-image swaps with one persistent SVG
   whose geometry is spring-interpolated by catalogue-blueprint-morph.js. */
@media (min-width:900px) and (pointer:fine), (min-width:900px) and (any-pointer:fine) {
  body.catalogue-particle-ready #catalogues .catalogue-preview {
    background-image: none !important;
    animation: none !important;
  }

  body.catalogue-particle-ready #catalogues .catalogue-preview::before,
  body.catalogue-particle-ready #catalogues .catalogue-preview::after {
    z-index: 5;
  }

  .catalogue-morph-stage {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
    overflow: hidden;
  }

  body.catalogue-particle-ready #catalogues .catalogue-preview > .catalogue-morph-stage {
    opacity: 1 !important;
    visibility: visible !important;
  }

  .catalogue-morph-stage svg {
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible;
  }

  .catalogue-morph-stage [stroke="#efe158"] {
    vector-effect: non-scaling-stroke;
  }

  .catalogue-morph-stage.is-morphing [stroke="#efe158"] {
    filter: drop-shadow(0 0 3px rgba(239,225,88,.28));
  }

  .catalogue-morph-nodes {
    vector-effect: non-scaling-stroke;
  }
}

@media (prefers-reduced-motion: reduce), (max-width:899px) {
  .catalogue-morph-stage { display:none !important; }
}
