/* WRAP */
.sld-wrap {--sld-aspect:3 / 1;--sld-aspect-pb:33.3333%;--sld-aspect-m:2 / 1;--sld-aspect-pb-m:50%;--sld-radius:12px;--sld-gap:12px;--sld-nav-offset:12px;--sld-nav-size:42px;--sld-nav-radius:100px;--sld-nav-hit:10px;--sld-bullet-offset:12px;--sld-pause:5000ms;position:relative;width:100%;max-width:100%;margin:12px 0;box-sizing:border-box;overflow:visible;background:transparent;isolation:isolate;border-radius:var(--sld-radius);}
.sld-wrap *, .sld-wrap *:before, .sld-wrap *:after {box-sizing:border-box;}

/* VIEWPORT / TRACK */
.sld-viewport {position:relative;width:100%;aspect-ratio:var(--sld-aspect);overflow:hidden;cursor:pointer;touch-action:pan-y;user-select:none;-webkit-user-select:none;border-radius:var(--sld-radius);background:transparent;direction:ltr;}
.sld-wrap.is-dragging, .sld-wrap.is-dragging .sld-viewport, .sld-wrap.is-dragging .sld-slide {cursor:grabbing;}
.sld-wrap.is-dragging .sld-track {transition:none !important;}
.sld-effect-slide-up .sld-viewport {touch-action:pan-x;}
@supports not (aspect-ratio: 1 / 1) {
  .sld-viewport {height:0;padding-bottom:var(--sld-aspect-pb, 33.3333%);}
  .sld-track {position:absolute;inset:0;height:100%;}
}
.sld-track {display:flex;width:100%;height:100%;will-change:transform;transition:transform 0.5s ease;gap:0;}
.sld-wrap[data-show="2"] .sld-track, .sld-wrap[data-show="3"] .sld-track, .sld-wrap[data-show="4"] .sld-track {gap:var(--sld-gap, 12px);}
.sld-effect-slide .sld-track,
.sld-effect-slide-up .sld-track {gap:var(--sld-gap, 12px);}

/* SLIDE */
.sld-slide {position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;color:#2c2c2c;border-radius:var(--sld-radius);cursor:pointer;}
.sld-slide.sld-slide-clickable {cursor:pointer;}
.sld-wrap[data-show="2"] .sld-slide {flex:0 0 calc((100% - var(--sld-gap, 12px)) / 2);width:calc((100% - var(--sld-gap, 12px)) / 2);}
.sld-wrap[data-show="3"] .sld-slide {flex:0 0 calc((100% - (2 * var(--sld-gap, 12px))) / 3);width:calc((100% - (2 * var(--sld-gap, 12px))) / 3);}
.sld-wrap[data-show="4"] .sld-slide {flex:0 0 calc((100% - (3 * var(--sld-gap, 12px))) / 4);width:calc((100% - (3 * var(--sld-gap, 12px))) / 4);}
.sld-slide-bg {position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:var(--sld-radius);background-position:center center;background-repeat:no-repeat;background-size:cover;}
.sld-slide-bg-empty {background-color:#ececec;}
.sld-slide-bg-empty:before {content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg, rgba(255,255,255,0.28) 0%, rgba(0,0,0,0.06) 100%);}
.sld-slide-img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;border-radius:var(--sld-radius);}
.sld-slide-overlay {position:absolute;inset:0;z-index:2;background:linear-gradient(180deg, rgba(0,0,0,0.04) 0%, rgba(0,0,0,0.18) 100%);pointer-events:none;border-radius:var(--sld-radius);}
.sld-slide-content {position:absolute;inset:0;z-index:3;width:100%;height:100%;max-width:none;padding:24px 64px;color:#2c2c2c;display:flex;flex-direction:column;gap:8px;box-sizing:border-box;pointer-events:none;}
.sld-slide-content > * {max-width:min(520px, 100%);pointer-events:auto;}

/* ALIGN - flex */
.sld-align-v-top {justify-content:flex-start;}
.sld-align-v-middle {justify-content:center;}
.sld-align-v-bottom {justify-content:flex-end;}
.sld-align-h-left {align-items:flex-start;text-align:left;}
.sld-align-h-center {align-items:center;text-align:center;}
.sld-align-h-right {align-items:flex-end;text-align:right;}

/* CONTENT */
.sld-slide-title {font-size:clamp(18px, 2.4vw, 32px);font-weight:700;line-height:1.2;margin:0;}
.sld-slide-subtitle {font-size:clamp(14px, 1.6vw, 20px);font-weight:600;line-height:1.3;margin:0;opacity:0.95;}
.sld-slide-text {font-size:clamp(13px, 1.2vw, 16px);line-height:1.45;margin:0;opacity:0.92;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:calc(1.45em * 3);}
.sld-slide-btn {display:inline-block;margin-top:6px;text-decoration:none !important;font-weight:600;transition:opacity 0.2s ease, transform 0.2s ease;}
.sld-slide-btn:hover {opacity:0.9;transform:translateY(-1px);}
.sld-btn-link {border:0 !important;background:transparent !important;padding:0 !important;text-decoration:underline !important;}
.sld-btn-button {border:2px solid currentColor;background:rgba(0,0,0,0.25);padding:10px 18px;border-radius:4px;}

/* NAV */
.sld-wrap .sld-nav {position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:var(--sld-nav-size, 42px);height:var(--sld-nav-size, 42px);border:10px solid transparent;border-radius:var(--sld-nav-radius, 100px);background:rgba(0,0,0,0.45);background-clip:padding-box;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-sizing:content-box;transition:background 0.2s ease;}
.sld-nav:hover {background:rgba(0,0,0,0.7);background-clip:padding-box;}
.sld-nav-prev {left:calc(var(--sld-nav-offset, 12px) - var(--sld-nav-hit, 10px));}
.sld-nav-next {right:calc(var(--sld-nav-offset, 12px) - var(--sld-nav-hit, 10px));}
.sld-nav span {display:block;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;}
.sld-nav-prev span {transform:rotate(-135deg);margin-left:3px;}
.sld-nav-next span {transform:rotate(45deg);margin-right:3px;}

/* BULLETS */
.sld-bullets {position:absolute;left:0;right:0;bottom:var(--sld-bullet-offset, 12px);z-index:5;display:flex;justify-content:center;align-items:center;gap:8px;pointer-events:none;}
.sld-bullet-hide .sld-bullets {display:none;}
.sld-wrap .sld-bullet {pointer-events:auto;position:relative;box-sizing:content-box;border:12px solid transparent;padding:0;margin:-12px;cursor:pointer;background:rgba(255,255,255,0.45);background-clip:padding-box;overflow:hidden;transition:background 0.2s ease, width 0.2s ease, height 0.2s ease, transform 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;}
.sld-bullet-circle .sld-bullet {width:10px;height:10px;border-radius:50%;}
.sld-bullet-square .sld-bullet {width:10px;height:10px;border-radius:0;}
.sld-bullet-square-rounded .sld-bullet {width:10px;height:10px;border-radius:2px;}
.sld-bullet-line .sld-bullet {width:40px;height:6px;border-radius:100px;}
.sld-bullet-pill .sld-bullet {width:18px;height:8px;border-radius:999px;}
.sld-bullet-pill .sld-bullet.is-active {width:28px;}
.sld-bullet-dash .sld-bullet {width:16px;height:3px;border-radius:0;}
.sld-bullet-dash .sld-bullet.is-active {width:24px;height:4px;}
.sld-bullet-outline .sld-bullet {width:10px;height:10px;border-radius:50%;background:transparent;background-clip:padding-box;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.55);}
.sld-bullet-outline .sld-bullet.is-active {background:rgba(255,255,255,0.25);background-clip:padding-box;box-shadow:inset 0 0 0 2px #fff;}
.sld-bullet-diamond .sld-bullet {width:10px;height:10px;border-radius:1px;transform:rotate(45deg);}
.sld-bullet-diamond .sld-bullet.is-active {transform:rotate(45deg) scale(1.15);}
.sld-bullet.is-active {background:rgba(255,255,255,0.35);background-clip:padding-box;}
.sld-wrap .sld-bullet.is-active:not(.is-timing) {background:#fff;background-clip:padding-box;}
.sld-wrap .sld-bullet.is-done {background:#fff;background-clip:padding-box;}
.sld-bullet-outline .sld-bullet.is-active {background:rgba(255,255,255,0.25);background-clip:padding-box;}
.sld-bullet-outline .sld-bullet.is-active:not(.is-timing) {background:#fff;background-clip:padding-box;}
.sld-bullet-outline .sld-bullet.is-done {background:#fff;background-clip:padding-box;box-shadow:inset 0 0 0 2px #fff;}
.sld-wrap .sld-bullet.is-active.is-timing {background:rgba(255,255,255,0.35);background-clip:padding-box;}
.sld-bullet-outline .sld-bullet.is-active.is-timing {background:rgba(255,255,255,0.25);background-clip:padding-box;}
.sld-wrap .sld-bullet.is-active.is-timing:before {content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:#fff;border-radius:inherit;pointer-events:none;animation:sld-bullet-progress var(--sld-pause, 5000ms) linear forwards;}
.sld-bullet-diamond .sld-bullet.is-active.is-timing:before {border-radius:1px;}
@keyframes sld-bullet-progress {
  from {width:0;}
  to {width:100%;}
}

/* STACK EFFECTS (always 1 slide) */
.sld-effect-fade .sld-track,
.sld-effect-flip .sld-track,
.sld-effect-zoom .sld-track {transition:none;}
.sld-effect-fade .sld-slide,
.sld-effect-flip .sld-slide,
.sld-effect-zoom .sld-slide {position:absolute;inset:0;flex:none;width:100% !important;opacity:0;pointer-events:none;}
.sld-effect-fade .sld-slide {transition:opacity var(--sld-speed, 500ms) ease;}
.sld-effect-fade .sld-slide.is-active,
.sld-effect-fade .sld-slide.is-entering {opacity:1;pointer-events:auto;z-index:2;}
.sld-effect-fade .sld-slide.is-leaving {opacity:0;z-index:1;}

/* TRACK EFFECTS */
.sld-effect-slide .sld-track, .sld-effect-slide-up .sld-track {transition-timing-function:ease;}
.sld-effect-slide-up .sld-track {flex-direction:column;width:100%;height:100%;}
.sld-effect-slide-up .sld-viewport {display:block;}
.sld-effect-slide-up .sld-slide {flex:0 0 100%;width:100% !important;height:100%;min-height:100%;max-height:100%;}

.sld-effect-zoom .sld-slide {transition:transform var(--sld-speed, 500ms) ease, opacity var(--sld-speed, 500ms) ease;transform:scale(1.18);transform-origin:center center;}
.sld-effect-zoom .sld-slide.is-active {opacity:1;pointer-events:auto;z-index:2;transform:scale(1);}
.sld-effect-zoom .sld-slide.is-leaving {opacity:1;z-index:1;transform:scale(1);}
.sld-effect-zoom .sld-slide.is-entering {opacity:0;z-index:2;transform:scale(1.18);}
.sld-effect-zoom.sld-animating .sld-slide.is-leaving {opacity:0;transform:scale(1.22);}
.sld-effect-zoom.sld-animating .sld-slide.is-entering {opacity:1;transform:scale(1);}

.sld-effect-flip .sld-viewport {perspective:1200px;}
.sld-effect-flip .sld-slide {transform-style:preserve-3d;backface-visibility:hidden;transition:transform var(--sld-speed, 500ms) ease, opacity var(--sld-speed, 500ms) ease;}
.sld-effect-flip .sld-slide.is-active {opacity:1;pointer-events:auto;z-index:2;transform:none;}
.sld-effect-flip .sld-slide.is-leaving {opacity:1;pointer-events:none;z-index:1;transform:none;}
.sld-effect-flip .sld-slide.is-entering {opacity:1;pointer-events:none;z-index:2;transform:rotateY(90deg);}
.sld-effect-flip.sld-animating .sld-slide.is-leaving {transform:rotateY(-90deg);opacity:0;}
.sld-effect-flip.sld-animating .sld-slide.is-entering {transform:rotateY(0deg);opacity:1;}

.sld-effect-coverflow .sld-viewport {perspective:1000px;overflow:hidden;}
.sld-effect-coverflow .sld-track {transition:transform var(--sld-speed, 500ms) ease;transform-style:preserve-3d;align-items:center;}
.sld-effect-coverflow[data-show="1"] .sld-slide {flex:0 0 72%;width:72%;}
.sld-effect-coverflow .sld-slide {transition:transform var(--sld-speed, 500ms) ease, opacity var(--sld-speed, 500ms) ease;transform:scale(0.78) rotateY(0deg) translateZ(-80px);opacity:0.35;transform-origin:center center;}
.sld-effect-coverflow .sld-slide.is-before {transform:scale(0.78) rotateY(42deg) translateZ(-90px);opacity:0.45;}
.sld-effect-coverflow .sld-slide.is-after {transform:scale(0.78) rotateY(-42deg) translateZ(-90px);opacity:0.45;}
.sld-effect-coverflow .sld-slide.is-active {transform:scale(1) rotateY(0deg) translateZ(0);opacity:1;z-index:3;}
.sld-effect-coverflow .sld-slide.is-visible:not(.is-active) {transform:scale(0.92) rotateY(0deg) translateZ(-20px);opacity:0.7;z-index:2;}
.sld-wrap.sld-animating {pointer-events:none;}

/* MOBILE - always 1 slide + mobile aspect */
@media (max-width: 767px) {
  .sld-viewport {aspect-ratio:var(--sld-aspect-m, var(--sld-aspect));}
  .sld-wrap[data-show="2"] .sld-track, .sld-wrap[data-show="3"] .sld-track, .sld-wrap[data-show="4"] .sld-track {gap:0;}
  .sld-effect-slide .sld-track,
  .sld-effect-slide-up .sld-track {gap:var(--sld-gap, 12px);}
  .sld-wrap[data-show="2"] .sld-slide, .sld-wrap[data-show="3"] .sld-slide, .sld-wrap[data-show="4"] .sld-slide {flex:0 0 100%;width:100%;}
  /* beat inline slide padding so text clears nav arrows */
  .sld-slide-content {padding:16px 28px !important;}
  .sld-wrap .sld-nav {--sld-nav-size:36px;}
  .sld-btn-button {padding:8px 14px;}
}
@supports not (aspect-ratio: 1 / 1) {
  @media (max-width: 767px) {
    .sld-viewport {padding-bottom:var(--sld-aspect-pb-m, var(--sld-aspect-pb, 33.3333%));}
  }
}

@media (prefers-reduced-motion: reduce) {
  .sld-track, .sld-slide, .sld-slide-bg, .sld-slide-img, .sld-slide-content, .sld-bullet {transition:none !important;}
  .sld-wrap .sld-bullet.is-active.is-timing:before {animation:none !important;width:100%;}
}

/* PREVIEW PAGE */
.sld-preview-page {display:block;width:100%;max-width:1100px;margin:30px auto 40px;padding:0 16px;box-sizing:border-box;}
.sld-preview-page, .sld-preview-page * {box-sizing:border-box;}
.sld-preview-head {display:block;width:100%;text-align:center;margin:0 0 18px 0;}
.sld-preview-head h1 {margin:0 0 6px 0;font-size:22px;line-height:26px;color:#222;}
.sld-preview-head p {margin:0;font-size:13px;line-height:18px;color:#777;}
.sld-preview-box {display:block;width:100%;background:transparent;padding:0;border:0;}
.sld-preview-box .sld-wrap {margin:0;}

/* DARK MODE */
html[mode="dark"] .sld-wrap {background:transparent;}
html[mode="dark"] .sld-slide-bg-empty {background-color:var(--mb-color-dark3, #22262f);}
html[mode="dark"] .sld-slide-bg-empty:before {background:linear-gradient(160deg, rgba(255,255,255,0.06) 0%, rgba(0,0,0,0.22) 100%);}
html[mode="dark"] .sld-slide-overlay {background:linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.28) 100%);}
html[mode="dark"] .sld-slide {color:inherit;}
html[mode="dark"] .sld-nav {background:rgba(26,29,36,0.72);background-clip:padding-box;color:var(--mb-color-dark23, #e6eaf1);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.12);}
html[mode="dark"] .sld-nav:hover {background:var(--mb-color-dark2, #1a1d24);background-clip:padding-box;box-shadow:inset 0 0 0 1px var(--mb-color-primary, #2eacce);}
html[mode="dark"] .sld-bullet {background:rgba(255,255,255,0.28);background-clip:padding-box;}
html[mode="dark"] .sld-bullet.is-active {background:rgba(46,172,206,0.35);background-clip:padding-box;}
html[mode="dark"] .sld-wrap .sld-bullet.is-active:not(.is-timing) {background:var(--mb-color-primary, #2eacce);background-clip:padding-box;}
html[mode="dark"] .sld-wrap .sld-bullet.is-done {background:var(--mb-color-primary, #2eacce);background-clip:padding-box;}
html[mode="dark"] .sld-wrap .sld-bullet.is-active.is-timing {background:rgba(46,172,206,0.35);background-clip:padding-box;}
html[mode="dark"] .sld-wrap .sld-bullet.is-active.is-timing:before {background:var(--mb-color-primary, #2eacce);}
html[mode="dark"] .sld-bullet-outline .sld-bullet {background:transparent;background-clip:padding-box;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.4);}
html[mode="dark"] .sld-bullet-outline .sld-bullet.is-active {background:rgba(46,172,206,0.25);background-clip:padding-box;box-shadow:inset 0 0 0 2px var(--mb-color-primary, #2eacce);}
html[mode="dark"] .sld-bullet-outline .sld-bullet.is-active:not(.is-timing) {background:var(--mb-color-primary, #2eacce);background-clip:padding-box;}
html[mode="dark"] .sld-bullet-outline .sld-bullet.is-done {background:var(--mb-color-primary, #2eacce);background-clip:padding-box;box-shadow:inset 0 0 0 2px var(--mb-color-primary, #2eacce);}
html[mode="dark"] .sld-bullet-outline .sld-bullet.is-active.is-timing {background:rgba(46,172,206,0.25);background-clip:padding-box;}
html[mode="dark"] .sld-btn-button {background:rgba(26,29,36,0.45);border-color:rgba(255,255,255,0.35);}
html[mode="dark"] .sld-preview-head h1 {color:var(--mb-color-dark23, #e6eaf1);}
html[mode="dark"] .sld-preview-head p {color:var(--mb-color8, #999);}

/* RTL - chrome/text only; track stays LTR (see .sld-viewport) */
html[dir="rtl"] .sld-nav-prev {left:auto;right:calc(var(--sld-nav-offset, 12px) - var(--sld-nav-hit, 10px));}
html[dir="rtl"] .sld-nav-next {right:auto;left:calc(var(--sld-nav-offset, 12px) - var(--sld-nav-hit, 10px));}
html[dir="rtl"] .sld-nav-prev span {transform:rotate(45deg);margin-left:0;margin-right:3px;}
html[dir="rtl"] .sld-nav-next span {transform:rotate(-135deg);margin-right:0;margin-left:3px;}
html[dir="rtl"] .sld-slide-content {direction:rtl;}
html[dir="rtl"] .sld-align-h-left {align-items:flex-end;text-align:right;}
html[dir="rtl"] .sld-align-h-right {align-items:flex-start;text-align:left;}
html[dir="rtl"] .sld-effect-flip .sld-slide.is-entering {transform:rotateY(-90deg);}
html[dir="rtl"] .sld-effect-flip.sld-animating .sld-slide.is-leaving {transform:rotateY(90deg);}
html[dir="rtl"] .sld-effect-flip.sld-animating .sld-slide.is-entering {transform:rotateY(0deg);}
