/*!
 * Themeasy — Comparison Table
 *
 * A semantic plan-vs-feature comparison matrix rendered as a real <table>.
 * Plans are the column headers (name, price, subtitle, badge, CTA); each feature
 * row places a check, a cross, a neutral dash or a text value per plan. Any plan
 * column can be flagged featured to get the accent header + tinted-column card
 * treatment.
 *
 * Layering / graceful degradation:
 * - Structure, the sticky plan header, the pinned feature-label column with
 *   horizontal scroll on narrow screens, row-hover highlighting and the
 *   hover/focus tooltips are ALL pure CSS — the widget is fully usable with no
 *   JavaScript and in the editor (the --static modifier disables stickiness so
 *   it never fights the Elementor canvas).
 * - The only optional motion is the block entrance animation, layered on by the
 *   global on-view observer; the table is always visible without it.
 *
 * Tokens consumed: --tms-primary-color, --tms-surface-color, --tms-border-color,
 * --tms-heading-color, --tms-body-color, --tms-muted-color, --tms-success-color,
 * --tms-white-color, --tms-radius-lg (public --tms-* design API), each with a
 * literal fallback so dark mode and missing tokens both degrade cleanly.
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-comparison-table{--tms-ct-accent:var(--tms-primary-color,#5b6cff);--tms-ct-surface:var(--tms-surface-color,#fff);--tms-ct-border:var(--tms-border-color,#e6e8ef);--tms-ct-heading:var(--tms-heading-color,#1d2023);--tms-ct-body:var(--tms-body-color,#555b6e);--tms-ct-muted:var(--tms-muted-color,#8a90a2);--tms-ct-success:var(--tms-success-color,#16a34a);--tms-ct-radius:var(--tms-radius-lg,16px);--tms-ct-radius-tl:var(--tms-ct-radius);--tms-ct-radius-tr:var(--tms-ct-radius);--tms-ct-radius-br:var(--tms-ct-radius);--tms-ct-radius-bl:var(--tms-ct-radius);--tms-ct-col-min:180px;--tms-ct-cell-pad-y:16px;--tms-ct-cell-pad-x:20px;--tms-ct-ease:cubic-bezier(.22, 1, .36, 1);--tms-ct-transition:.25s var(--tms-ct-ease);--tms-ct-featured-tint:#5b6cff0f;--tms-ct-featured-tint-strong:#5b6cff1f;--tms-ct-featured-edge:#5b6cff3d;--tms-ct-featured-layer:var(--tms-ct-featured-tint);--tms-ct-featured-head-layer:var(--tms-ct-featured-tint-strong);width:100%;position:relative}@supports (color:color-mix(in srgb, red, blue)){.tms-comparison-table{--tms-ct-featured-tint:color-mix(in srgb, var(--tms-ct-accent) 6%, transparent);--tms-ct-featured-tint-strong:color-mix(in srgb, var(--tms-ct-accent) 12%, transparent);--tms-ct-featured-edge:color-mix(in srgb, var(--tms-ct-accent) 24%, transparent)}}.tms-comparison-table__scroll{border-radius:var(--tms-ct-radius-tl) var(--tms-ct-radius-tr) var(--tms-ct-radius-br) var(--tms-ct-radius-bl);position:relative;overflow:visible}.tms-comparison-table__table{border-collapse:separate;border-spacing:0;table-layout:fixed;border-radius:var(--tms-ct-radius-tl) var(--tms-ct-radius-tr) var(--tms-ct-radius-br) var(--tms-ct-radius-bl);background-color:var(--tms-ct-surface);width:100%;color:var(--tms-ct-body)}.tms-comparison-table .tms-comparison-table__table{border:0;margin:0}.tms-comparison-table .tms-comparison-table__table tr{background-color:#0000}.tms-comparison-table .tms-comparison-table__cell,.tms-comparison-table .tms-comparison-table__feature{padding:var(--tms-ct-cell-pad-y) var(--tms-ct-cell-pad-x)}.tms-comparison-table .tms-comparison-table__group-label{padding:14px var(--tms-ct-cell-pad-x)}.tms-comparison-table .tms-comparison-table__group-cell{padding:0}.tms-comparison-table__corner,.tms-comparison-table__plan,.tms-comparison-table__feature,.tms-comparison-table__cell{vertical-align:middle;font-weight:inherit;margin:0}.tms-comparison-table__corner,.tms-comparison-table__feature{text-align:left;width:clamp(160px,28%,320px)}.tms-comparison-table__cell{text-align:center}.tms-comparison-table__feature{background-color:var(--tms-ct-surface)}.tms-comparison-table__head .tms-comparison-table__corner,.tms-comparison-table__plan{background-color:var(--tms-ct-surface);vertical-align:bottom}.tms-comparison-table__corner{border-top-left-radius:var(--tms-ct-radius-tl);padding:var(--tms-ct-cell-pad-y) var(--tms-ct-cell-pad-x)}.tms-comparison-table__corner-label{color:var(--tms-ct-muted);font-family:var(--tms-accent-font);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600;display:inline-block}.tms-comparison-table__plan{padding:0}.tms-comparison-table__head tr>.tms-comparison-table__plan:last-child{border-top-right-radius:var(--tms-ct-radius-tr)}.tms-comparison-table__body tr:last-child>.tms-comparison-table__feature,.tms-comparison-table__body tr:last-child>.tms-comparison-table__group-label{border-bottom-left-radius:var(--tms-ct-radius-bl)}.tms-comparison-table__body tr:last-child>td:last-child{border-bottom-right-radius:var(--tms-ct-radius-br)}.tms-comparison-table__plan-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;display:flex}.tms-comparison-table .tms-comparison-table__badge{background-color:var(--tms-ct-accent);color:var(--tms-white-color,#fff);margin-bottom:10px}.tms-comparison-table__plan-name{color:var(--tms-ct-heading);font-size:1.15rem;font-weight:700;line-height:1.3}.tms-comparison-table__plan-subtitle{color:var(--tms-ct-muted);font-size:.85rem;line-height:1.4}.tms-comparison-table__plan-price{color:var(--tms-ct-heading);font-family:var(--tms-heading-font);align-items:baseline;gap:4px;margin-top:10px;font-size:1.9rem;font-weight:800;line-height:1.1;display:inline-flex}.tms-comparison-table__plan-period{color:var(--tms-ct-muted);font-size:.85rem;font-weight:500}.tms-comparison-table__button{border:1px solid var(--tms-ct-border);width:100%;color:var(--tms-ct-heading);text-align:center;cursor:pointer;transition:color var(--tms-ct-transition), background-color var(--tms-ct-transition), border-color var(--tms-ct-transition), transform var(--tms-ct-transition);background-color:#0000;border-radius:10px;justify-content:center;align-items:center;gap:.5em;margin-top:10px;padding:10px 18px;font-size:.9rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.tms-comparison-table__button:hover{border-color:var(--tms-ct-accent);color:var(--tms-ct-accent);transform:translateY(-1px)}.tms-comparison-table__button:focus-visible{outline:2px solid var(--tms-ct-accent);outline-offset:2px}.tms-comparison-table__plan--featured .tms-comparison-table__button{border-color:var(--tms-ct-accent);background-color:var(--tms-ct-accent);color:var(--tms-white-color,#fff)}.tms-comparison-table__plan--featured .tms-comparison-table__button:hover{color:var(--tms-white-color,#fff);filter:brightness(1.06)}.tms-comparison-table__row .tms-comparison-table__feature,.tms-comparison-table__row .tms-comparison-table__cell{border-top:1px solid var(--tms-ct-border)}.tms-comparison-table__feature-label{color:var(--tms-ct-heading);font-size:.95rem;font-weight:600;line-height:1.4}.tms-comparison-table__tooltip{vertical-align:middle;margin-left:8px;display:inline-flex;position:relative}.tms-comparison-table__tooltip-trigger{width:16px;height:16px;color:var(--tms-ct-muted);cursor:help;transition:color var(--tms-ct-transition);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.tms-comparison-table__tooltip-trigger svg{fill:none;stroke:currentColor;width:100%;height:100%}.tms-comparison-table__tooltip-trigger:hover{color:var(--tms-ct-accent)}.tms-comparison-table__tooltip-trigger:focus-visible{color:var(--tms-ct-accent)}.tms-comparison-table__tooltip-trigger:focus-visible{outline:2px solid var(--tms-ct-accent);outline-offset:2px}.tms-comparison-table__tooltip-trigger:after{content:"";border-radius:50%;position:absolute;top:-12px;bottom:-12px;left:-12px;right:-12px}.tms-comparison-table__tooltip-bubble{z-index:10;background-color:var(--tms-ct-heading);width:max-content;max-width:220px;color:var(--tms-white-color,#fff);text-align:left;white-space:normal;opacity:0;visibility:hidden;transition:opacity var(--tms-ct-transition), transform var(--tms-ct-transition), visibility var(--tms-ct-transition);pointer-events:none;border-radius:8px;padding:8px 12px;font-size:.78rem;font-weight:400;line-height:1.45;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.tms-comparison-table__tooltip-bubble:after{content:"";border:6px solid #0000;border-top-color:var(--tms-ct-heading);width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tms-comparison-table__tooltip:hover .tms-comparison-table__tooltip-bubble,.tms-comparison-table__tooltip:focus-within .tms-comparison-table__tooltip-bubble{opacity:1;visibility:visible;transform:translate(-50%)}.tms-comparison-table__value{color:var(--tms-ct-body);font-size:.95rem;font-weight:500;line-height:1.4;display:inline-block}.tms-comparison-table__value--empty{color:var(--tms-ct-muted)}.tms-comparison-table__icon{justify-content:center;align-items:center;font-size:1.15rem;line-height:1;display:inline-flex}.tms-comparison-table__icon svg{fill:currentColor;width:1em;height:1em}.tms-comparison-table__icon svg[fill=none]{fill:none;stroke:currentColor}.tms-comparison-table__icon--check{color:var(--tms-ct-success)}.tms-comparison-table__icon--cross{color:var(--tms-ct-muted)}.tms-comparison-table__group-label,.tms-comparison-table__group-cell{border-top:1px solid var(--tms-ct-border);background-color:var(--tms-ct-surface)}.tms-comparison-table__group-label{color:var(--tms-ct-muted);font-family:var(--tms-accent-font);text-align:left;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.tms-comparison-table__plan--featured{background-image:linear-gradient(var(--tms-ct-featured-head-layer), var(--tms-ct-featured-head-layer));box-shadow:inset 0 3px 0 var(--tms-ct-accent), inset 1px 0 0 var(--tms-ct-featured-edge), inset -1px 0 0 var(--tms-ct-featured-edge)}.tms-comparison-table__cell--featured,.tms-comparison-table__group-cell--featured{background-image:linear-gradient(var(--tms-ct-featured-layer), var(--tms-ct-featured-layer));box-shadow:inset 1px 0 0 var(--tms-ct-featured-edge), inset -1px 0 0 var(--tms-ct-featured-edge)}.tms-comparison-table__body tr:last-child .tms-comparison-table__cell--featured,.tms-comparison-table__body tr:last-child .tms-comparison-table__group-cell--featured{box-shadow:inset 1px 0 0 var(--tms-ct-featured-edge), inset -1px 0 0 var(--tms-ct-featured-edge), inset 0 -1px 0 var(--tms-ct-featured-edge)}.tms-comparison-table--row-hover .tms-comparison-table__row:hover .tms-comparison-table__feature,.tms-comparison-table--row-hover .tms-comparison-table__row:hover .tms-comparison-table__cell{background-color:var(--tms-ct-featured-tint)}.tms-comparison-table--sticky .tms-comparison-table__corner,.tms-comparison-table--sticky .tms-comparison-table__plan{z-index:3;position:sticky;top:0}.tms-comparison-table--sticky .tms-comparison-table__corner{z-index:5}.tms-comparison-table--static .tms-comparison-table__corner,.tms-comparison-table--static .tms-comparison-table__plan,.tms-comparison-table--static .tms-comparison-table__feature{position:static}.tms-comparison-table__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:1024px){.tms-comparison-table__scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-x:auto}.tms-comparison-table__table{table-layout:auto;min-width:100%}.tms-comparison-table__plan,.tms-comparison-table__cell{min-width:var(--tms-ct-col-min)}.tms-comparison-table__corner,.tms-comparison-table__feature{width:clamp(150px,42vw,240px);min-width:clamp(150px,42vw,240px)}.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__corner,.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__feature,.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__group-label{z-index:2;position:sticky;left:0}.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__corner{z-index:6}.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__feature,.tms-comparison-table:not(.tms-comparison-table--static) .tms-comparison-table__group-label{box-shadow:1px 0 0 var(--tms-ct-divider,var(--tms-ct-border))}}@media (max-width:600px){.tms-comparison-table{--tms-ct-cell-pad-x:14px;--tms-ct-cell-pad-y:12px}.tms-comparison-table__plan-inner{padding:22px 14px}.tms-comparison-table__plan-price{font-size:1.5rem}.tms-comparison-table__plan-name{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.tms-comparison-table__button,.tms-comparison-table__tooltip-trigger,.tms-comparison-table__tooltip-bubble{transition:none}.tms-comparison-table__button:hover{transform:none}}