.cp-as-ps{--gap:16px; --slides:4;
  --nav-bg:#fff; --nav-color:#111; --nav-border:#e5e7eb; --nav-size:36px; --nav-radius:999px; --nav-shadow:0 2px 6px rgba(0,0,0,.08); --nav-offset:12px; --nav-icon-size:20px;
  --nav-hover-bg:#f3f4f6; --nav-hover-color:#111; --nav-hover-border:#111;
  --accent-color:#f36a06; --accent-width:64px; --accent-height:3px}
.cp-as-ps-head{display:flex;align-items:flex-end;gap:12px;margin:0 0 12px;position:relative}
.cp-as-ps-title{font-size:22px;line-height:1.2;margin:0}
.cp-as-ps-head .accent{position:absolute;left:0;bottom:-8px;height:var(--accent-height);width:var(--accent-width);background:var(--accent-color);border-radius:2px}
.cp-as-ps-viewport{position:relative; overflow:hidden}
.cp-as-ps-track{display:flex;gap:var(--gap);overflow:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;padding-bottom:4px;-webkit-overflow-scrolling:touch;user-select:none;overscroll-behavior-x:contain;scroll-behavior:smooth}
.cp-as-ps-track{touch-action:pan-y pan-x}
.cp-as-ps-track::-webkit-scrollbar{width:0;height:0;display:none}
.cp-as-ps-track.is-drag *{pointer-events:none}
.cp-as-ps-card{position:relative;flex:0 0 calc(100% / var(--slides) - (var(--gap) - var(--gap)/var(--slides)));scroll-snap-align:start;border:1px solid #e5e7eb;border-radius:8px;padding:12px;display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;background:#fff}
.cp-as-ps-card .badge{position:absolute; top:12px; left:12px; background:var(--badge-bg,#111); color:var(--badge-color,#fff); font-size:12px; font-weight:800; padding:4px 8px; border-radius:3px; text-transform:uppercase; letter-spacing:.2px}
.cp-as-ps-card .img{display:block;border-radius:6px;overflow:hidden;background:transparent}
.cp-as-ps-card .img img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.cp-as-ps-card .t{font-weight:700;color:#111;text-decoration:none}
.cp-as-ps-card .price{font-weight:700}
.cp-as-ps-card .price .reg{opacity:.75;margin-right:6px}
.cp-as-ps-card .cta .btn{display:inline-block;background:#19a441;color:#fff;text-decoration:none;padding:10px 12px;border-radius:6px}
.cp-as-ps-card .cta .btn.is-loading{opacity:.6;pointer-events:none}
.cp-as-ps-card .qty{width:64px;padding:8px;border:1px solid #e5e7eb;border-radius:6px;margin-right:8px}
.cp-as-ps-card .btn.is-added{background:#16a34a}

/* CTA last slide */
.cp-as-ps-cta{background:var(--cta-bg,#111)!important;color:var(--cta-color,#fff)!important;display:grid;text-align:center;text-decoration:none;position:relative}
.cp-as-ps-cta .txt{display:grid;grid-template-rows:auto 1fr;justify-items:var(--cta-justify,center);text-align:var(--cta-text-align,center);width:100%;height:100%;color:var(--cta-color,#fff)!important;padding:16px;border-radius:inherit;background:transparent!important}
.cp-as-ps-cta .title{align-self:start}
.cp-as-ps-cta .ico{display:block;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:1}
.cp-as-ps-cta .cta-link:hover{background:var(--cta-hover-bg,transparent)!important;color:var(--cta-hover-color,var(--cta-color,#fff))!important}
.cp-as-ps-cta .txt{font-weight:800;letter-spacing:.2px;font-size:var(--cta-size,18px)}
.cp-as-ps-prev,.cp-as-ps-next{position:absolute;top:50%;transform:translateY(-50%);width:var(--nav-size);height:var(--nav-size);border-radius:var(--nav-radius);display:grid;place-items:center;justify-items:center;align-items:center;background:var(--nav-bg,#fff) !important;color:var(--nav-color,#111) !important;border:1px solid var(--nav-border,#e5e7eb) !important;box-shadow:var(--nav-shadow);transition:background .15s ease, color .15s ease, border-color .15s ease;outline:none;line-height:1;font-size:var(--nav-icon-size,20px);z-index:10}
.cp-as-ps-prev:hover,.cp-as-ps-prev:focus-visible,.cp-as-ps-next:hover,.cp-as-ps-next:focus-visible{background:var(--nav-hover-bg) !important;color:var(--nav-hover-color) !important;border-color:var(--nav-hover-border) !important}
.cp-as-ps-prev{left:calc(var(--nav-offset) * -1)}
.cp-as-ps-next{right:calc(var(--nav-offset) * -1)}

/* Plain arrows (no circle) */
.cp-as-ps.nav-plain .cp-as-ps-prev,
.cp-as-ps.nav-plain .cp-as-ps-next{background:transparent !important;border:none !important;box-shadow:none !important;width:auto;height:auto;text-shadow:0 0 2px rgba(255,255,255,.85)}
.cp-as-ps.nav-plain .cp-as-ps-prev:hover,
.cp-as-ps.nav-plain .cp-as-ps-next:hover{background:transparent}

/* Inside placement */
.cp-as-ps.nav-inside .cp-as-ps-prev{left:8px}
.cp-as-ps.nav-inside .cp-as-ps-next{right:8px}
/* Slides-Zahl ausschließlich über JS/Inline-Style steuern */

/* Touch/tablet: zeigen wir Grab-Cursor für visuelles Feedback; Desktop: normaler Cursor */
@media (hover: none) and (pointer: coarse) {
  .cp-as-ps-viewport, .cp-as-ps-track { cursor: grab; }
  .cp-as-ps-track.is-drag { cursor: grabbing; }
}
@media (hover: hover) and (pointer: fine) {
  .cp-as-ps-viewport, .cp-as-ps-track { cursor: auto; }
}
/* Always show pointer for actionable elements */
.cp-as-ps-card a,
.cp-as-ps-card .img,
.cp-as-ps-card .t,
.cp-as-ps-card .btn,
.cp-as-ps-prev,
.cp-as-ps-next { cursor: pointer !important; }
