/* Cullects Hero Slider v2.8 — exact port of the HTML showcase/coverflow */
.chs{--chs-accent:#C8F51D;--chs-ink:#151517;background:#1e1e21;border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:22px;width:100%;max-width:430px;box-shadow:0 24px 50px -28px rgba(21,21,23,.34);font-family:'Inter',-apple-system,sans-serif;user-select:none;-webkit-user-select:none}
.chs .sc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}
.chs .sc-badge{background:var(--chs-accent);color:var(--chs-ink);font-size:11.5px;font-weight:700;letter-spacing:.05em;padding:6px 13px;border-radius:99px;white-space:nowrap}
.chs .sc-ship{font-size:12px;color:#b9b7b0;font-weight:500;white-space:nowrap}
.chs .cf{position:relative;height:250px;perspective:1200px;margin-top:2px}
.chs .cf-stage{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.chs .cf-card{position:absolute;top:6px;left:50%;width:178px;height:230px;margin-left:-89px;background:linear-gradient(165deg,#fcfbf8,#e9e7df);border-radius:18px;display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .55s,box-shadow .55s;will-change:transform,opacity}
.chs .cf-card.on{box-shadow:0 34px 72px -20px rgba(0,0,0,.72)}
.chs .cf-card img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.chs .cf-card.on:hover img{transform:scale(1.07)}
.chs .cf-nav{position:absolute;top:50%;translate:0 -50%;z-index:40;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--chs-ink);font-size:22px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;opacity:.85;transition:background .2s,color .2s,opacity .2s;padding:0;min-height:0;box-shadow:none}
.chs .cf-nav:hover{background:var(--chs-accent);color:var(--chs-ink);opacity:1}
.chs .cf-nav.prev{left:-6px}
.chs .cf-nav.next{right:-6px}
.chs .cf-view{position:absolute;left:50%;bottom:2px;translate:-50% 0;z-index:35;background:rgba(21,21,23,.9);backdrop-filter:blur(6px);color:var(--chs-accent);font-size:12px;font-weight:700;padding:8px 16px;border-radius:99px;opacity:0;transform:translateY(10px);transition:all .3s cubic-bezier(.22,1,.36,1);pointer-events:none;white-space:nowrap}
.chs .cf.show-view .cf-view{opacity:1;transform:translateY(0)}
.chs .sc-meta{margin-top:16px}
.chs .sc-name{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:17.5px;color:#f5f4ef}
.chs .sc-stars{font-size:12.5px;color:#9d9c95;margin-top:5px}
.chs .sc-stars b{color:#f0940a;font-weight:400;letter-spacing:1px}
.chs .sc-stars em{font-style:normal;color:#f5f4ef;font-weight:700}
.chs .sc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;flex-wrap:wrap}
.chs .sc-price{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:23px;color:#f5f4ef}
.chs .sc-price s{color:#8a8a8e;font-size:14px;font-weight:500;margin-left:8px}
.chs .sc-save{background:rgba(200,245,29,.14);border:1px solid rgba(200,245,29,.3);color:var(--chs-accent);font-size:11px;font-weight:700;padding:4px 9px;border-radius:8px;margin-left:9px;vertical-align:3px}
.chs a.sc-add,.chs a.sc-add:visited{background:var(--chs-accent);color:var(--chs-ink);font-weight:700;font-size:14px;padding:12px 22px;border-radius:99px;display:inline-flex;gap:8px;align-items:center;transition:all .3s cubic-bezier(.22,1,.36,1);flex:none;text-decoration:none;border:none}
.chs a.sc-add:hover{transform:translateY(-2px);box-shadow:0 10px 26px -8px rgba(200,245,29,.5);color:var(--chs-ink)}
.chs .cf-dots{display:flex;gap:8px;justify-content:center;margin-top:18px}
.chs button.cf-dot{width:8px;height:8px;border-radius:99px;background:#4a4a4d;border:none;padding:0;min-height:0;transition:all .3s cubic-bezier(.22,1,.36,1);cursor:pointer;box-shadow:none}
.chs button.cf-dot.on{width:26px;background:var(--chs-accent)}
@media(max-width:900px){.chs{max-width:100%;margin:0 auto;box-shadow:0 16px 34px -22px rgba(21,21,23,.3)}}
@media(prefers-reduced-motion:reduce){.chs .cf-card{transition:none}}
/* interactive canvas dot background — add class cul-dots to any Elementor section */
.cul-dots{position:relative}
.cul-dots>canvas.cul-dots-cv{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cul-dots>.elementor-container{position:relative;z-index:1}
