/* Styles transferred from the author's iqdi.ru customPriceSlider; local adaptations follow. */

        .iqcps-root {
          width: 100%;
          font-family: Rubik, Arial, sans-serif;
          color: #fff;
          position: relative;
          z-index: 1;
        }
        .iqcps-loader,
        .iqcps-empty {
          background: #16191d;
          color: #fff;
          border: 1px solid rgba(255,255,255,.08);
          border-radius: 18px;
          padding: 24px;
          text-align: center;
        }
        .iqcps-shell {
          width: 100%;
          position: relative;
        }
        .iqcps-stage {
          position: relative;
          width: 100%;
          aspect-ratio: 16 / 9;
          overflow: hidden;
          border-radius: 18px;
          background: #111;
          box-shadow: 0 20px 60px rgba(0,0,0,.35);
          touch-action: pan-y;
          -webkit-user-select: none;
          user-select: none;
        }
        .iqcps-track {
          display: flex;
          width: 100%;
          height: 100%;
          transition: transform .8s cubic-bezier(.22,.61,.36,1);
          will-change: transform;
        }
        .iqcps-slide {
          min-width: 100%;
          width: 100%;
          height: 100%;
          position: relative;
          overflow: hidden;
          background: #0f1114;
          flex: 0 0 100%;
        }
        .iqcps-slide img {
          position: absolute;
          inset: 0;
          width: 100% !important;
          height: 100% !important;
          max-width: none !important;
          object-fit: cover !important;
          object-position: center center !important;
          display: block;
          margin: 0 !important;
          padding: 0 !important;
          border: 0 !important;
          transform: scale(1.02) !important;
          transition: transform 1.4s ease, filter .8s ease;
          -webkit-user-drag: none;
        }
        .iqcps-slide.is-active img {
          transform: scale(1) !important;
        }
        .iqcps-overlay {
          position: absolute;
          inset: 0;
          pointer-events: none;
          z-index: 1;
        }
        .iqcps-content {
          position: absolute;
          left: 26px;
          bottom: 26px;
          z-index: 3;
          max-width: min(860px, 88%);
          width: min(860px, 88%);
        }
        .iqcps-meta-row {
          display: flex;
          align-items: center;
          gap: 14px;
          flex-wrap: wrap;
          margin-bottom: 14px;
        }
        .iqcps-price {
          display: inline-flex;
          align-items: center;
          gap: 10px;
          color: #fff;
          background: linear-gradient(135deg, #ff5a1f 0%, #ff7a00 52%, #ffb347 100%);
          padding: 11px 16px;
          border-radius: 12px;
          font-weight: 800;
          font-size: clamp(20px, 2.5vw, 32px);
          line-height: 1;
          box-shadow: 0 14px 32px rgba(255,122,0,.24), inset 0 1px 0 rgba(255,255,255,.18);
          white-space: nowrap;
          transform: translateZ(0);
          backface-visibility: hidden;
        }
        .iqcps-price-rub {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 28px;
          height: 28px;
          padding: 0 8px;
          border-radius: 8px;
          background: rgba(255,255,255,.14);
          font-size: .7em;
          font-weight: 900;
          letter-spacing: .02em;
        }
        @keyframes iqcpsPriceFloatIn {
          0% {
            opacity: 0;
            transform: translateY(18px) scale(.96);
            filter: blur(2px);
          }
          60% {
            opacity: 1;
            transform: translateY(-3px) scale(1.02);
            filter: blur(0);
          }
          100% {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0);
          }
        }
        @keyframes iqcpsPriceGlow {
          0%, 100% {
            box-shadow: 0 14px 32px rgba(255,122,0,.22), 0 0 0 0 rgba(255,170,70,0), inset 0 1px 0 rgba(255,255,255,.18);
          }
          50% {
            box-shadow: 0 16px 36px rgba(255,122,0,.34), 0 0 18px rgba(255,180,90,.20), inset 0 1px 0 rgba(255,255,255,.18);
          }
        }
        .iqcps-slide.is-active .iqcps-price {
          animation: iqcpsPriceFloatIn .65s cubic-bezier(.22,.61,.36,1), iqcpsPriceGlow 2.6s ease-in-out .65s infinite;
        }
        .iqcps-title {
          font-size: clamp(16px, 1.6vw, 24px);
          line-height: 1.2;
          font-weight: 500;
          margin: 0 0 14px;
          color: #fff;
          text-shadow: 0 2px 16px rgba(0,0,0,.35);
          max-width: 100%;
        }
        .iqcps-watch {
          appearance: none;
          border: none;
          background: linear-gradient(90deg, #169c3b, #27c457);
          color: #fff;
          padding: 13px 20px;
          border-radius: 12px;
          cursor: pointer;
          font: inherit;
          font-weight: 700;
          transition: transform .28s cubic-bezier(.22,.61,.36,1), opacity .22s ease, box-shadow .28s ease, filter .28s ease;
          box-shadow: 0 12px 28px rgba(39,196,87,.26);
          will-change: transform;
          transform: translateZ(0);
          -webkit-tap-highlight-color: transparent;
        }
        .iqcps-watch:hover {
          transform: translateY(-2px) scale(1.03);
          box-shadow: 0 18px 34px rgba(39,196,87,.34);
          filter: brightness(1.05);
        }
        .iqcps-watch:active {
          transform: translateY(0) scale(.985);
        }
        .iqcps-nav {
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          z-index: 4;
          width: 50px;
          height: 50px;
          border-radius: 50%;
          border: 1px solid rgba(255,255,255,.14);
          background: rgba(17, 19, 22, .66);
          backdrop-filter: blur(8px);
          -webkit-backdrop-filter: blur(8px);
          color: #fff;
          cursor: pointer;
          display: flex;
          align-items: center;
          justify-content: center;
          transition: transform .25s cubic-bezier(.22,.61,.36,1), background .22s ease, border-color .22s ease, box-shadow .25s ease;
          font-size: 20px;
          line-height: 1;
          will-change: transform;
          -webkit-tap-highlight-color: transparent;
        }
        .iqcps-nav:hover {
          background: rgba(255, 122, 0, .96);
          border-color: rgba(255, 122, 0, .96);
          transform: translateY(-50%) scale(1.08);
          box-shadow: 0 12px 26px rgba(255,122,0,.28);
        }
        .iqcps-nav:active {
          transform: translateY(-50%) scale(.97);
        }
        .iqcps-nav-prev { left: 14px; }
        .iqcps-nav-next { right: 14px; }
        .iqcps-thumbs-wrap {
          position: relative;
          width: 80%;
          margin: 14px auto 0;
        }
        .iqcps-thumbs-wrap::before,
        .iqcps-thumbs-wrap::after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          width: 42px;
          z-index: 2;
          pointer-events: none;
        }
        .iqcps-thumbs-wrap::before {
          left: 0;
          background: linear-gradient(90deg, rgba(10,11,14,1), rgba(10,11,14,0));
        }
        .iqcps-thumbs-wrap::after {
          right: 0;
          background: linear-gradient(270deg, rgba(10,11,14,1), rgba(10,11,14,0));
        }
        .iqcps-thumbs {
          overflow-x: auto;
          overflow-y: hidden;
          scrollbar-width: none;
          -ms-overflow-style: none;
          padding: 6px 2px;
          -webkit-overflow-scrolling: touch;
        }
        .iqcps-thumbs::-webkit-scrollbar {
          display: none;
        }
        .iqcps-thumbs-track {
          display: inline-flex;
          gap: 10px;
          min-width: 100%;
        }
        .iqcps-thumb {
          position: relative;
          width: 100px;
          height: 56px;
          flex: 0 0 auto;
          border-radius: 10px;
          overflow: hidden;
          cursor: pointer;
          border: 2px solid transparent;
          transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, opacity .22s ease;
          opacity: .72;
          background: #1a1d21;
          -webkit-tap-highlight-color: transparent;
        }
        .iqcps-thumb:hover {
          transform: scale(1.08);
          opacity: 1;
        }
        .iqcps-thumb.is-active {
          border-color: #ff7a00;
          opacity: 1;
          box-shadow: 0 0 0 4px rgba(255,122,0,.12);
        }
        .iqcps-thumb img {
          width: 100% !important;
          height: 100% !important;
          object-fit: cover !important;
          object-position: center center !important;
          display: block;
          transform: none !important;
          max-width: none !important;
          -webkit-user-drag: none;
        }
        .iqcps-modal {
          position: fixed;
          left: 0;
          top: 0;
          right: 0;
          bottom: 0;
          z-index: 2147483647;
          display: flex;
          align-items: center;
          justify-content: center;
          background: rgba(0,0,0,.0);
          padding: 20px;
          opacity: 0;
          visibility: hidden;
          pointer-events: none;
          transition: opacity .35s ease, background .35s ease, visibility .35s ease;
        }
        .iqcps-modal.is-open {
          opacity: 1;
          visibility: visible;
          pointer-events: auto;
          background: rgba(0,0,0,.84);
        }
        .iqcps-modal-box {
          position: relative;
          width: min(1100px, 96vw);
          max-height: 92vh;
          background: #0f1114;
          border-radius: 18px;
          border: 1px solid rgba(255,255,255,.08);
          overflow: hidden;
          box-shadow: 0 30px 80px rgba(0,0,0,.45);
          transform: translateY(26px) scale(.96);
          opacity: 0;
          transition: transform .42s cubic-bezier(.22,.61,.36,1), opacity .35s ease;
        }
        .iqcps-modal.is-open .iqcps-modal-box {
          transform: translateY(0) scale(1);
          opacity: 1;
        }
        .iqcps-modal-close {
          position: absolute;
          right: 12px;
          top: 12px;
          z-index: 5;
          width: 40px;
          height: 40px;
          border-radius: 50%;
          border: none;
          background: rgba(255,255,255,.12);
          color: #fff;
          cursor: pointer;
          font-size: 20px;
          transition: transform .22s ease, background .22s ease;
          -webkit-tap-highlight-color: transparent;
        }
        .iqcps-modal-close:hover {
          transform: scale(1.08);
          background: rgba(255,255,255,.18);
        }
        .iqcps-modal-video {
          width: 100%;
          aspect-ratio: 16 / 9;
          background: #000;
        }
        .iqcps-modal-video video {
          width: 100% !important;
          height: 100% !important;
          display: block;
          background: #000;
          object-fit: contain;
        }
        .iqcps-reveal-price,
        .iqcps-reveal-title,
        .iqcps-reveal-watch {
          opacity: 0;
          transform: translateY(18px);
        }
        .iqcps-slide.is-active .iqcps-reveal-price {
          animation: iqcpsReveal .55s cubic-bezier(.22,.61,.36,1) .10s forwards;
        }
        .iqcps-slide.is-active .iqcps-reveal-title {
          animation: iqcpsReveal .6s cubic-bezier(.22,.61,.36,1) .28s forwards;
        }
        .iqcps-slide.is-active .iqcps-reveal-watch {
          animation: iqcpsReveal .6s cubic-bezier(.22,.61,.36,1) .46s forwards;
        }
        @keyframes iqcpsReveal {
          from {
            opacity: 0;
            transform: translateY(18px);
          }
          to {
            opacity: 1;
            transform: translateY(0);
          }
        }
        @media (max-width: 1024px) {
          .iqcps-content {
            left: 18px;
            right: 18px;
            bottom: 18px;
            max-width: calc(100% - 36px);
            width: calc(100% - 36px);
          }
        }
        @media (max-width: 768px) {
          .iqcps-stage {
            border-radius: 14px;
          }
          .iqcps-content {
            left: 12px;
            right: 12px;
            bottom: 12px;
            max-width: calc(100% - 24px);
            width: calc(100% - 24px);
          }
          .iqcps-meta-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 0;
          }
          .iqcps-price {
            font-size: 18px;
            padding: 10px 12px;
            border-radius: 10px;
            margin: 0;
          }
          .iqcps-price-rub {
            min-width: 24px;
            height: 24px;
            border-radius: 6px;
          }
          .iqcps-title {
            display: none !important;
          }
          .iqcps-thumbs-wrap {
            display: none !important;
          }
          .iqcps-watch {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            padding: 10px 12px;
            font-size: 13px;
            border-radius: 10px;
            white-space: nowrap;
            box-shadow: 0 8px 18px rgba(39,196,87,.24);
          }
          .iqcps-nav {
            width: 42px;
            height: 42px;
          }
          .iqcps-overlay {
            background: linear-gradient(0deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 42%);
          }
          .iqcps-modal {
            padding: 10px;
            align-items: center;
            justify-content: center;
          }
          .iqcps-modal-box {
            width: 100%;
            max-width: 100%;
            border-radius: 14px;
            max-height: 95vh;
          }
          .iqcps-modal-video {
            aspect-ratio: 16 / 9;
            width: 100%;
            max-height: 80vh;
          }
        }
      
/* Wider presentation within DMX Lighting; retain local editor and gallery. */
.portfolio-section.shell{max-width:1760px;width:calc(100% - 2*var(--gutter))}
.portfolio-slider{background:transparent;border:0;border-radius:0;box-shadow:none}
.portfolio-stage{min-height:0}.portfolio-track{display:flex;width:100%;height:100%}
.portfolio-slide{min-height:0;display:block;isolation:auto}
.portfolio-slide>img{z-index:0}.portfolio-slide:after{display:none}
.portfolio-caption{padding:0}.portfolio-caption h2{font-size:clamp(18px,1.6vw,28px);letter-spacing:0;margin:0}
.portfolio-price{margin:0}.portfolio-controls{border:0;padding:18px 0 4px}.portfolio-controls .button{font-size:12px}
.portfolio-stage .iqcps-overlay{background:linear-gradient(0deg,#03060ce0,transparent 48%)}
.portfolio-thumbs{position:relative;display:flex;width:80%;margin:10px auto 0;padding:6px 4px 12px;gap:10px;overflow:auto;scrollbar-width:thin}
.portfolio-thumbs button{opacity:.72;flex:0 0 100px;height:62px;padding:0;border:2px solid transparent;border-radius:10px;background:#11182b;overflow:hidden}
.portfolio-thumbs button[aria-current=true]{opacity:1;border-color:#ff7a00;box-shadow:0 0 0 3px #ff7a0022}
.portfolio-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:0}
.portfolio-gallery,.portfolio-gallery-heading{max-width:1440px;margin-inline:auto}
.portfolio-slide .iqcps-price-rub{color:white}
.dmx-editing .portfolio-stage{user-select:auto}.dmx-editing .portfolio-slide [contenteditable=plaintext-only]{user-select:text}
.dmx-editing .portfolio-slide.is-active .iqcps-price{animation:none}
@media(max-width:768px){.portfolio-section.shell{width:calc(100% - 24px)}.portfolio-stage{aspect-ratio:16/10}.portfolio-thumbs{width:100%}.portfolio-thumbs button{flex-basis:76px;height:47px}.portfolio-slide .iqcps-watch{font-size:12px}.portfolio-slide .iqcps-price{font-size:18px}.portfolio-controls{gap:10px}.portfolio-controls [data-slide-pause]{flex-basis:auto}.portfolio-caption h2{display:none}.portfolio-gallery{width:calc(100% - 16px)}}
@media(max-width:359px){.portfolio-slide .iqcps-watch{font-size:10px;padding:10px 8px}.portfolio-slide .iqcps-price{font-size:16px;padding:9px}.portfolio-slide .iqcps-price-rub{min-width:20px;padding:0 5px}.portfolio-slide .iqcps-meta-row{gap:5px}}
@media(prefers-reduced-motion:reduce){.iqcps-reveal-price,.iqcps-reveal-title,.iqcps-reveal-watch{opacity:1;transform:none}.portfolio-track,.portfolio-slide img{transition:none!important}.portfolio-slide *{animation:none!important}}
