/*!
 * Themeasy — Card Deck
 *
 * A swipeable stack of cards. The resting stack (top card + peeking edges) is
 * pure CSS nth-child layering, so the same fan renders with no JS and in the
 * editor (--static). card-deck.min.js layers the interaction on top — drag
 * physics, restack, buttons, arrow keys — overriding the fan with inline
 * transforms once it boots. Cards beyond the configured peek count sit at
 * opacity 0 (their content stays in the DOM for assistive tech; the JS layer
 * manages aria-hidden/tabindex as cards cycle).
 *
 * Tokens consumed: --tms-surface-color, --tms-border-color, --tms-heading-color,
 * --tms-body-color, --tms-primary-color, --tms-accent-font, --tms-shadow-sm,
 * --tms-button-bg-color, --tms-button-color, --tms-radius-md, --tms-radius-sm
 * (public --tms-* design API).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-card-deck{--tms-card-deck-height:420px;--tms-card-deck-offset:6px;--tms-card-deck-scale-step:.04;--tms-card-deck-nav-size:44px;--tms-card-deck-drop:calc(var(--tms-card-deck-offset) + var(--tms-card-deck-height) * var(--tms-card-deck-scale-step) / 2);flex-direction:column;gap:1.25rem;display:flex}.tms-card-deck__stage{height:var(--tms-card-deck-height);touch-action:pan-y;position:relative}.tms-card-deck[data-drag] .tms-card-deck__stage{-webkit-user-select:none;user-select:none}.tms-card-deck__stage:focus-visible{outline:2px solid var(--tms-primary-color,#4a6cf7);outline-offset:4px;border-radius:var(--tms-radius-md,12px)}.tms-card-deck__card{border:1px solid var(--tms-border-color,transparent);border-radius:var(--tms-radius-md,12px);background:var(--tms-surface-color,#fff);box-shadow:var(--tms-shadow-sm,0 8px 24px #0f121914);will-change:transform;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.tms-card-deck__card:first-child{z-index:4}.tms-card-deck__card:nth-child(2){z-index:3;transform:translateY(var(--tms-card-deck-drop)) scale(calc(1 - var(--tms-card-deck-scale-step)))}.tms-card-deck__card:nth-child(3){z-index:2;transform:translateY(calc(var(--tms-card-deck-drop) * 2)) scale(calc(1 - var(--tms-card-deck-scale-step) * 2))}.tms-card-deck__card:nth-child(4){z-index:1;transform:translateY(calc(var(--tms-card-deck-drop) * 3)) scale(calc(1 - var(--tms-card-deck-scale-step) * 3))}.tms-card-deck--visible-2 .tms-card-deck__stage{margin-bottom:var(--tms-card-deck-offset)}.tms-card-deck--visible-3 .tms-card-deck__stage{margin-bottom:calc(var(--tms-card-deck-offset) * 2)}.tms-card-deck--visible-4 .tms-card-deck__stage{margin-bottom:calc(var(--tms-card-deck-offset) * 3)}.tms-card-deck--visible-2 .tms-card-deck__card:nth-child(n+3),.tms-card-deck--visible-3 .tms-card-deck__card:nth-child(n+4),.tms-card-deck--visible-4 .tms-card-deck__card:nth-child(n+5){visibility:hidden;opacity:0;pointer-events:none}.tms-card-deck[data-drag] .tms-card-deck__card--top{cursor:grab}.tms-card-deck--dragging .tms-card-deck__card--top{cursor:grabbing}.tms-card-deck__card-link{z-index:3;border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.tms-card-deck__card-link:focus-visible{outline:2px solid var(--tms-primary-color,#4a6cf7);outline-offset:-2px}.tms-card-deck__media{flex-shrink:0;height:180px;margin:0;overflow:hidden}.tms-card-deck__media .tms-card-deck__media-img{object-fit:cover;width:100%;height:100%;display:block}.tms-card-deck__body{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:1.5rem;display:flex;overflow:hidden}.tms-card-deck__eyebrow{font-family:var(--tms-accent-font,inherit);font-size:.75rem;font-weight:var(--tms-bold-font-weight,700);letter-spacing:.08em;text-transform:uppercase;color:var(--tms-primary-color,#4a6cf7)}.tms-card-deck__title{color:var(--tms-heading-color,#1a1a1a);margin:0;line-height:1.25}.tms-card-deck__text{color:var(--tms-body-color,#4a4f5a);margin:0;font-size:.9375rem;line-height:1.55}.tms-card-deck__cta{font-size:.9375rem;font-weight:var(--tms-semibold-font-weight,600);color:var(--tms-button-bg-color,#1a1a1a);flex:none;align-self:flex-start;align-items:center;gap:.4rem;margin-top:auto;line-height:1.3;transition:color .3s;display:inline-flex}.tms-card-deck__cta-arrow{transition:transform .3s;display:inline-block}.tms-card-deck__card:hover .tms-card-deck__cta-arrow{transform:translate(4px)}.tms-card-deck__nav{justify-content:center;align-items:center;gap:1rem;display:flex}.tms-card-deck__nav-btn{width:var(--tms-card-deck-nav-size);height:var(--tms-card-deck-nav-size);border:1px solid var(--tms-border-color,#d9dce1);border-radius:var(--tms-radius-sm,50%);font-size:calc(var(--tms-card-deck-nav-size) * .42);color:var(--tms-heading-color,#1a1a1a);background:var(--tms-surface-color,#fff);box-shadow:var(--tms-shadow-sm,0 2px 8px #0f12190f);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.tms-card-deck__nav-btn:hover{border-color:var(--tms-button-bg-color,#1a1a1a);background:var(--tms-button-bg-color,#1a1a1a);color:var(--tms-button-color,#fff)}.tms-card-deck__nav-btn:focus-visible{outline:2px solid var(--tms-primary-color,#4a6cf7);outline-offset:2px}.tms-card-deck__nav-icon{fill:currentColor;width:1em;height:1em}.tms-card-deck__nav-icon[fill=none]{fill:none;stroke:currentColor}.tms-card-deck__counter{font-variant-numeric:tabular-nums;text-align:center;min-width:3.5ch;color:var(--tms-body-color,#4a4f5a);font-size:.9375rem}@media (prefers-reduced-motion:reduce){.tms-card-deck__nav-btn,.tms-card-deck__cta,.tms-card-deck__cta-arrow{transition:none}.tms-card-deck__card:hover .tms-card-deck__cta-arrow{transform:none}}@media (max-width:767px){.tms-card-deck{--tms-card-deck-height:380px}}@media (max-width:480px){.tms-card-deck{--tms-card-deck-height:340px;--tms-card-deck-nav-size:40px}}