.fz-cards-slider { width:100%; max-width:100%; box-sizing:border-box; }
.fz-cards-slider *, .fz-cards-slider *::before, .fz-cards-slider *::after { box-sizing:border-box; }
.fz-slider-heading { margin:0 0 20px; }
.fz-slider-shell { position:relative; }
.fz-slider-track { display:flex; cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; gap:var(--fz-gap,20px); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; -ms-overflow-style:none; padding:2px 1px 8px; }
.fz-slider-track::-webkit-scrollbar { display:none; }
.fz-slider-track.is-dragging { cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; }
.fz-slider-track.is-dragging * { pointer-events:none; }
.fz-slider-arrow { display:none !important; }
.fz-card { flex:0 0 100%; min-width:0; overflow:hidden; border-radius:var(--fz-radius,10px); background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.08); scroll-snap-align:start; }
.fz-card-link { display:block; color:inherit; text-decoration:none; height:100%; }
.fz-card-link:hover { color:inherit; }
.fz-card-media { aspect-ratio:var(--fz-ratio,4/3); overflow:hidden; background:#f2f2f2; }
.fz-card-image { display:block; width:100%; height:100%; object-fit:var(--fz-fit,cover); }
.fz-card-content { padding:14px 16px 16px; }
.fz-card-content h3 { margin:0 0 8px; font-size:1.1em; line-height:1.35; }
.fz-card-content p { margin:0; line-height:1.5; }
.fz-slider-arrow { position:absolute; z-index:2; top:50%; transform:translateY(-50%); width:40px; height:40px; border:0; border-radius:50%; background:#fff; color:#222; box-shadow:0 2px 10px rgba(0,0,0,.18); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; padding:0; }
.fz-slider-arrow:hover { background:#f3f3f3; }
.fz-prev { left:-12px; }
.fz-next { right:-12px; }
.fz-slider-dots { display:flex; justify-content:center; gap:8px; padding-top:12px; }
.fz-slider-dot { width:8px; height:8px; border:0; border-radius:50%; background:#c6c6c6; padding:0; cursor:pointer; }
.fz-slider-dot.is-active { background:#333; transform:scale(1.2); }
.fz-slider-empty { padding:12px; border:1px dashed #bbb; }
@media (max-width:767px) { .fz-prev { left:4px; } .fz-next { right:4px; } .fz-slider-arrow { width:34px; height:34px; } }
@media (prefers-reduced-motion:reduce) { .fz-slider-track { scroll-behavior:auto; } }
