/* Algoryte AEO Table v2.3 — real HTML table, two intentional looks.
   Scoped to the Elementor widget. No external fonts, scripts or image requests. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table {
  --aeo-gap-x: 14px;
  --aeo-gap-y: 14px;
  --aeo-edge-gap: 0px;
  --aeo-cell-bg: #030304;
  --aeo-border-start: #8550dc;
  --aeo-border-end: #110c19;
  --aeo-gradient-angle: 90deg;
  --aeo-border-start-pos: 0%;
  --aeo-border-end-pos: 100%;
  --aeo-title-angle: 110deg;
  --aeo-title-start-pos: 0%;
  --aeo-title-end-pos: 100%;
  --aeo-paragraph-gap: .65em;
  --aeo-card-label-gap: 7px;
  --aeo-card-label-font-size: 11px;
  --aeo-card-row-gap: 0px;
  --aeo-border-width: 2px;
  --aeo-cell-radius: 8px;
  --aeo-data-color: #fff;
  --aeo-heading-color: #9472ef;
  --aeo-first-heading-color: #8a5bfd;
  --aeo-link-color: #b99bff;
  --aeo-title-bg: #050506;
  --aeo-title-border-start: #f3f0fb;
  --aeo-title-border-end: #140c20;
  --aeo-title-border-width: 2px;
  --aeo-title-radius: 9px;
  --aeo-title-gap: 6px;
  --aeo-caption-gap: 22px;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background-color: #000;
  color: #fff;
  font-family: Poppins, Inter, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.35;
  box-sizing: border-box;
  min-width: 0;
}
/* Preset properties use :where() to allow generated Elementor styles to override. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--original {
  --aeo-gap-x: 12px;
  --aeo-gap-y: 12px;
  --aeo-cell-bg: #010102;
  --aeo-border-start: #8560e0;
  --aeo-border-end: #010102;
  --aeo-gradient-angle: 135deg;
  --aeo-border-width: 3px;
  --aeo-cell-radius: 16px;
  --aeo-title-gap: 6px;
  --aeo-title-angle: 135deg;
  --aeo-title-border-width: 3px;
  --aeo-title-radius: 16px;
  --aeo-title-border-start: #8560e0;
  --aeo-title-border-end: #010102;
  --aeo-data-color: #fff;
  --aeo-heading-color: #947be8;
  font-size: clamp(16px, 1.5vw, 20.7px);
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table *,
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table *::before,
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table *::after { box-sizing: border-box; }
/* Original client H2, anchor and paragraph are deliberately outside table. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table > h2 {
  font-family: inherit;
  color: #fff;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.18;
  margin: 0 0 18px;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table > p {
  margin: 0 0 24px;
  padding: 0;
  color: #fff;
  font: inherit;
  line-height: 1.5;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--reference .tablewrap,
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--original .tablewrap {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}
:where(.elementor-widget-algoryte-mcp-comparison) .tablewrap:focus-visible,
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table a:focus-visible {
  outline: 2px solid #c5a2ff;
  outline-offset: -2px;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison {
  display: table;
  width: 100%;
  min-width: var(--aeo-desktop-min-width, 0px);
  max-width: none;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  box-shadow: none;
  text-transform: none;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison col { width: var(--aeo-width-desktop, auto); }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(thead,tbody,tr) {
  border: 0;
  background: transparent;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) {
  position: relative;
  isolation: isolate;
  padding: 15px 24px;
  height: auto;
  min-width: 0;
  border-style: solid;
  border-color: transparent;
  border-width: calc(var(--aeo-gap-y)/2) calc(var(--aeo-gap-x)/2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--aeo-data-color);
  vertical-align: middle;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  text-transform: none;
}

/* True zero-edge table gutters: half gaps belong to adjacent cells.
   Gradient border is drawn inside each cell's transparent layout gutters.
   No oversized table, negative margin, or phantom desktop scrolling. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison tr > :first-child { border-left-width: 0; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison tr > :last-child { border-right-width: 0; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison thead tr:first-child > th { border-top-width: 0; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison tbody tr:last-child > :is(th,td) { border-bottom-width: 0; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border: var(--aeo-local-border-width,var(--aeo-border-width)) solid transparent;
  border-radius: var(--aeo-local-radius,var(--aeo-cell-radius));
  background: linear-gradient(var(--aeo-this-bg,var(--aeo-cell-bg)),var(--aeo-this-bg,var(--aeo-cell-bg))) padding-box,
              linear-gradient(
                var(--aeo-local-angle,var(--aeo-gradient-angle)),
                var(--aeo-local-start,var(--aeo-border-start)) var(--aeo-local-stop-a,var(--aeo-border-start-pos)),
                var(--aeo-local-end,var(--aeo-border-end)) var(--aeo-local-stop-b,var(--aeo-border-end-pos))
              ) border-box;
}

:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison thead th {
  color: var(--aeo-heading-color);
  font-weight: 600;
  --aeo-this-bg: var(--aeo-header-bg,var(--aeo-cell-bg));
  --aeo-local-start: var(--aeo-header-border-start,var(--aeo-border-start));
  --aeo-local-end: var(--aeo-header-border-end,var(--aeo-border-end));
  --aeo-local-angle: var(--aeo-header-angle,var(--aeo-gradient-angle));
  --aeo-local-stop-a: var(--aeo-header-stop-a,var(--aeo-border-start-pos));
  --aeo-local-stop-b: var(--aeo-header-stop-b,var(--aeo-border-end-pos));
  --aeo-local-border-width: var(--aeo-header-border-width,var(--aeo-border-width));
  --aeo-local-radius: var(--aeo-header-radius,var(--aeo-cell-radius));
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison thead th:first-child { color: var(--aeo-first-heading-color); }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison tbody th {
  font-weight: 500;
  --aeo-this-bg: var(--aeo-label-bg,var(--aeo-cell-bg));
  --aeo-local-start: var(--aeo-label-border-start,var(--aeo-border-start));
  --aeo-local-end: var(--aeo-label-border-end,var(--aeo-border-end));
  --aeo-local-angle: var(--aeo-label-angle,var(--aeo-gradient-angle));
  --aeo-local-stop-a: var(--aeo-label-stop-a,var(--aeo-border-start-pos));
  --aeo-local-stop-b: var(--aeo-label-stop-b,var(--aeo-border-end-pos));
  --aeo-local-border-width: var(--aeo-label-border-width,var(--aeo-border-width));
  --aeo-local-radius: var(--aeo-label-radius,var(--aeo-cell-radius));
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison tbody td {
  --aeo-this-bg: var(--aeo-col-bg,var(--aeo-cell-bg));
  --aeo-local-start: var(--aeo-value-border-start,var(--aeo-border-start));
  --aeo-local-end: var(--aeo-value-border-end,var(--aeo-border-end));
  --aeo-local-angle: var(--aeo-value-angle,var(--aeo-gradient-angle));
  --aeo-local-stop-a: var(--aeo-value-stop-a,var(--aeo-border-start-pos));
  --aeo-local-stop-b: var(--aeo-value-stop-b,var(--aeo-border-end-pos));
  --aeo-local-border-width: var(--aeo-value-border-width,var(--aeo-border-width));
  --aeo-local-radius: var(--aeo-value-radius,var(--aeo-cell-radius));
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table .aeo-table__badge {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-inline-start: 6px;
  padding: 2px 8px;
  border: 1px solid #3d3452;
  border-radius: 12px;
  color: #ede9f8;
  background-color: var(--aeo-badge-bg, #0b0912);
  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
/* Optional gradient ONLY for heading badges. A specific selector defeats
   Elementor's saved solid-border color without touching the badge's width,
   radius, typography, gap or padding controls. No new DOM elements. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--reference.aeo-table--badge-gradient .aeo-table__badge {
  border-color: transparent;
  background: linear-gradient(var(--aeo-badge-bg, #0b0912), var(--aeo-badge-bg, #0b0912)) padding-box,
              linear-gradient(var(--aeo-badge-gradient-angle, 135deg),
                              var(--aeo-badge-gradient-start, #9560f8) var(--aeo-badge-gradient-start-pos, 0%),
                              var(--aeo-badge-gradient-end, #140c20) var(--aeo-badge-gradient-end-pos, 100%)) border-box;
}

/* The visible top title IS the native table caption, not a sibling DIV/H heading.
   This rule outranks legacy .alg-ai .aeo-comparison caption styles. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--reference table.aeo-comparison > .aeo-table__caption {
  display: table-caption;
  caption-side: top;
  margin: 0 0 var(--aeo-title-gap);
  padding: 14px 22px;
  border: var(--aeo-title-border-width) solid transparent;
  border-radius: var(--aeo-title-radius);
  background: linear-gradient(var(--aeo-title-bg),var(--aeo-title-bg)) padding-box,
              linear-gradient(var(--aeo-title-angle),var(--aeo-title-border-start) var(--aeo-title-start-pos),var(--aeo-title-border-end) var(--aeo-title-end-pos)) border-box;
  box-shadow: none;
  color: #f6f6f9;
  font-family: inherit;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: -.025em;
  text-align: center;
  font-weight: 600;
  font-style: normal;
  white-space: normal;
}
/* Client ZIP preset keeps its original semantic caption above the headers. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--original table.aeo-comparison > .aeo-table__caption {
  display: table-caption;
  caption-side: top;
  padding: 1.1rem 1.4rem;
  margin: 0 0 var(--aeo-title-gap);
  border: var(--aeo-title-border-width, 3px) solid transparent;
  border-radius: var(--aeo-title-radius, 16px);
  background: linear-gradient(#010102,#010102) padding-box,
              linear-gradient(var(--aeo-title-angle),var(--aeo-title-border-start,#8560e0) var(--aeo-title-start-pos),var(--aeo-title-border-end,#010102) var(--aeo-title-end-pos)) border-box;
  box-shadow: none;
  color: #fff;
  font-size: clamp(20px,2.6vw,36px);
  font-family: inherit;
  line-height: 1.13;
  font-weight: 400;
  font-style: normal;
  letter-spacing: -.051em;
  text-align: left;
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison td::before { display: none; }
/* Rich text from Elementor WYSIWYG, no unsafe document-level styles. */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) p { margin: 0; padding: 0; color: inherit; font: inherit; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) p+p { margin-top: var(--aeo-paragraph-gap); }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) :is(ul,ol) { margin: .5em 0; padding-inline-start: 1.4em; color: inherit; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) li { margin: 0 0 .3em; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) blockquote { margin:.5em 0; padding-inline-start:1em; border-inline-start:2px solid var(--aeo-border-start); }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table :is(td,th,caption) a, :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table > p a { color:var(--aeo-link-color); text-decoration:var(--aeo-link-decoration,underline); text-underline-offset:2px; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) :is(strong,b) { font-weight:700; }
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison :is(th,td) :is(em,i) { font-style:italic; }
/* Tablet: retain the table in its native form by default. */
@media (max-width: 1024px) {
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison col { width:var(--aeo-width-tablet,var(--aeo-width-desktop,auto)); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--tablet-fit table.aeo-comparison { min-width:0; }
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--tablet-scroll table.aeo-comparison { min-width:var(--aeo-tablet-min-width,900px); }
}
@media (max-width: 767px) {
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison col { width:var(--aeo-width-mobile,var(--aeo-width-tablet,var(--aeo-width-desktop,auto))); }
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--mobile-fit table.aeo-comparison { min-width:0; }
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table.aeo-table--mobile-scroll table.aeo-comparison { min-width:var(--aeo-mobile-min-width,640px); }
  :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--reference .aeo-table__caption { font-size:clamp(16px,3.3vw,20px); }
}
/* Optional cards. Defaults are native semantic table + scrolling instead. */
@media (min-width:768px) and (max-width:1024px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards .tablewrap { overflow:visible; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison { display:flex; flex-direction:column; width:100%; min-width:0; border-spacing:0; margin:12px 0 0; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison colgroup { display:none; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison tbody { display:block; order:1; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--aeo-gap-y); margin-bottom:calc(var(--aeo-gap-y)*1.6 + var(--aeo-card-row-gap)); }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison tbody th { grid-column:1/-1; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards table.aeo-comparison tbody :is(th,td) { display:block; width:100%; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards:not(.aeo-table--hide-card-labels) table.aeo-comparison td::before { display:block; margin-bottom:var(--aeo-card-label-gap); content:attr(data-heading); color:var(--aeo-card-label-color,#b99bf8); font-size:var(--aeo-card-label-font-size); font-weight:700; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards caption { order:0; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--tablet-cards.aeo-table--original caption { order:0; }
}
@media (max-width:767px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards .tablewrap { overflow:visible; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison { display:flex; flex-direction:column; width:100%; min-width:0; border-spacing:0; margin:12px 0 0; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison colgroup { display:none; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison tbody { display:block; order:1; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison tbody tr { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--aeo-gap-y); margin-bottom:calc(var(--aeo-gap-y)*1.6 + var(--aeo-card-row-gap)); }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards table.aeo-comparison tbody :is(th,td) { display:block; width:100%; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards:not(.aeo-table--hide-card-labels) table.aeo-comparison td::before { display:block; margin-bottom:var(--aeo-card-label-gap); content:attr(data-heading); color:var(--aeo-card-label-color,#b99bf8); font-size:var(--aeo-card-label-font-size); font-weight:700; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards caption { order:0; }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--mobile-cards.aeo-table--original caption { order:0; }
}

/* Client's original specification uses a minimum 720px table. Scroll modes
   preserve that baseline; Fit modes explicitly opt out. */
@media (min-width:1025px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--original table.aeo-comparison { min-width:max(720px,var(--aeo-desktop-min-width,0px)); }
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--original:not(.aeo-table--custom-widths) table.aeo-comparison { table-layout:auto; }
}
@media (min-width:768px) and (max-width:1024px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--original.aeo-table--tablet-scroll table.aeo-comparison { min-width:max(720px,var(--aeo-tablet-min-width,900px)); }
}
@media (max-width:767px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table--original.aeo-table--mobile-scroll table.aeo-comparison { min-width:max(720px,var(--aeo-mobile-min-width,640px)); }
}

/* Card view: preserve native caption as first child and keep title above the data. */
@media(max-width:1024px) {
 :where(.elementor-widget-algoryte-mcp-comparison) .aeo-table:is(.aeo-table--tablet-cards,.aeo-table--mobile-cards) table.aeo-comparison > .aeo-table__caption { order:0; }
}

/* Native Elementor advanced controls (scoped to this widget only). */
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table :is(td,th,caption) a:hover,
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table > p a:hover {
  color: var(--aeo-link-hover-color, var(--aeo-link-color));
}
:where(.elementor-widget-algoryte-mcp-comparison) .aeo-table table.aeo-comparison caption a {
  color: var(--aeo-caption-link-color,var(--aeo-link-color));
}
