/*!
 * Themeasy — Feature Orbit
 *
 * Circular feature diagram: a centered badge (heading + subtitle) surrounded by
 * orbit items (icon + label + optional description) evenly spaced on a rotating
 * ring. Each item carries its angle as an inline --tms-feature-orbit-item-angle
 * custom property (server-rendered), so layout needs no JS: the item transform
 * chain places the card on the ring and a counter-rotating inner keeps content
 * upright while each item turns around the center. Collapses to a 2-column grid on mobile and
 * disables all motion in the editor (--static) and under reduced motion.
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-feature-orbit{--tms-feature-orbit-size:560px;--tms-feature-orbit-radius:220px;--tms-feature-orbit-center-size:200px;--tms-feature-orbit-item-width:110px;--tms-feature-orbit-speed:30s;--tms-feature-orbit-ring-color:var(--tms-border-color,#e5e7eb);--tms-feature-orbit-ring-width:1.5px;--tms-feature-orbit-surface:var(--tms-surface-color,#f8f9fa);width:var(--tms-feature-orbit-size);aspect-ratio:1;justify-content:center;align-items:center;max-width:100%;margin-inline-start:auto;margin-inline-end:auto;display:flex;position:relative}.tms-feature-orbit__ring{width:calc(var(--tms-feature-orbit-radius) * 2);height:calc(var(--tms-feature-orbit-radius) * 2);border:var(--tms-feature-orbit-ring-width) dashed var(--tms-feature-orbit-ring-color);pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tms-feature-orbit__center{z-index:2;width:var(--tms-feature-orbit-center-size);height:var(--tms-feature-orbit-center-size);text-align:center;background:var(--tms-feature-orbit-surface);border:1px solid var(--tms-border-color,#e5e7eb);box-shadow:var(--tms-shadow-md,0 4px 12px #0000001a);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.tms-feature-orbit__center-title{letter-spacing:normal;color:var(--tms-heading-color,#1d2023);margin:0 0 6px;font-size:1rem;font-weight:700;line-height:1.25}.tms-feature-orbit__center-subtitle{color:var(--tms-muted-color,#6c757d);margin:0;font-size:.78rem;line-height:1.45}.tms-feature-orbit__track{width:0;height:0;position:absolute;top:50%;left:50%}.tms-feature-orbit__item{width:var(--tms-feature-orbit-item-width);transform:translate(-50%, -50%) rotate(var(--tms-feature-orbit-item-angle,0deg)) translateX(var(--tms-feature-orbit-radius));animation:tms-orbit-rotate var(--tms-feature-orbit-speed) linear infinite;position:absolute;top:0;left:0}.tms-feature-orbit__item:hover{z-index:3}.tms-feature-orbit__item-inner{text-align:center;border-radius:var(--tms-radius-md,.75rem);background:var(--tms-feature-orbit-surface);border:1px solid var(--tms-border-color,#e5e7eb);width:100%;box-shadow:var(--tms-shadow-sm,0 1px 3px #00000014);transform:rotate(calc(var(--tms-feature-orbit-item-angle,0deg) * -1));animation:tms-orbit-counter var(--tms-feature-orbit-speed) linear infinite;flex-direction:column;justify-content:center;align-items:center;padding:14px 12px;transition:scale .25s,box-shadow .25s,border-color .25s;display:flex;position:relative}.tms-feature-orbit__item-inner:hover{box-shadow:var(--tms-shadow-md,0 4px 12px #0000001a);scale:1.08}.tms-feature-orbit__item-link{border-radius:inherit;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.tms-feature-orbit__item-link:focus-visible{outline:2px solid var(--tms-primary-color,#3772ff);outline-offset:3px}.tms-feature-orbit__item-icon{color:var(--tms-primary-color,#3772ff);justify-content:center;align-items:center;margin-bottom:8px;font-size:22px;line-height:1;display:flex}.tms-feature-orbit__item-icon svg{fill:currentColor;width:1em;height:1em}.tms-feature-orbit__item-icon svg[fill=none]{fill:none;stroke:currentColor}.tms-feature-orbit__item-label{color:var(--tms-heading-color,#1d2023);font-size:.78rem;font-weight:600;line-height:1.35;display:block}.tms-feature-orbit__item-desc{color:var(--tms-muted-color,#6c757d);margin-top:3px;font-size:.68rem;line-height:1.35;display:block}.tms-feature-orbit--pause-on-hover:hover .tms-feature-orbit__item,.tms-feature-orbit--pause-on-hover:hover .tms-feature-orbit__item-inner{animation-play-state:paused}.tms-fo-dir-cw .tms-feature-orbit__item,.tms-fo-dir-cw .tms-feature-orbit__item-inner{animation-direction:normal}.tms-fo-dir-ccw .tms-feature-orbit__item,.tms-fo-dir-ccw .tms-feature-orbit__item-inner{animation-direction:reverse}.tms-feature-orbit--static .tms-feature-orbit__item,.tms-feature-orbit--static .tms-feature-orbit__item-inner{animation:none}.tms-feature-orbit--reveal-ready .tms-feature-orbit__item-inner{opacity:0}@keyframes tms-orbit-rotate{0%{transform:translate(-50%, -50%) rotate(var(--tms-feature-orbit-item-angle,0deg)) translateX(var(--tms-feature-orbit-radius))}to{transform:translate(-50%, -50%) rotate(calc(var(--tms-feature-orbit-item-angle,0deg) + 360deg)) translateX(var(--tms-feature-orbit-radius))}}@keyframes tms-orbit-counter{0%{transform:rotate(calc(var(--tms-feature-orbit-item-angle,0deg) * -1))}to{transform:rotate(calc(var(--tms-feature-orbit-item-angle,0deg) * -1 - 360deg))}}@media (max-width:767px){.tms-feature-orbit{aspect-ratio:auto;flex-direction:column;gap:28px;width:100%}.tms-feature-orbit__ring{display:none}.tms-feature-orbit__center{width:clamp(140px,52vw,220px);height:clamp(140px,52vw,220px);position:relative}.tms-feature-orbit__track{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;height:auto;display:grid;position:relative;top:auto;left:auto}.tms-feature-orbit__item{width:auto;animation:none;position:relative;transform:none}.tms-feature-orbit__item-inner{height:100%;animation:none;transform:none}.tms-feature-orbit__item-inner:hover{scale:1.04}}@media (prefers-reduced-motion:reduce){.tms-feature-orbit__item,.tms-feature-orbit__item-inner{animation:none}.tms-feature-orbit__item-inner{transform:rotate(calc(var(--tms-feature-orbit-item-angle,0deg) * -1));transition:none}.tms-feature-orbit__item-inner:hover{scale:1.02}}