/* ================================================
   Comparison Table – Elementor Widget Styles
   ================================================ */

.comparison-table-widget .ct-wrap {
  font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ── Outer container ── */
.comparison-table-widget .ct-box {
  background: #0d0d0d;
  border-radius: 16px;
  padding: 24px;
  border: 0.5px solid rgba(255, 255, 255, 0.07);
}

/* ── Reset theme striped-table bleed ── */
.comparison-table-widget .ct-tbl tbody>tr:nth-child(odd)>td,
.comparison-table-widget .ct-tbl tbody>tr:nth-child(odd)>th,
.comparison-table-widget .ct-tbl tbody>tr:nth-child(even)>td,
.comparison-table-widget .ct-tbl tbody>tr:nth-child(even)>th {
  background-color: transparent;
}

.comparison-table-widget table tbody tr td,
.comparison-table-widget table tbody tr th {
  background-color: unset !important;
}

/* ═══════════════════════════════
   DESKTOP TABLE (≥ 768px)
   ═══════════════════════════════ */
.comparison-table-widget .ct-desktop {
  display: block;
}

.comparison-table-widget .ct-mobile {
  display: none;
}

.comparison-table-widget .ct-tbl {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.comparison-table-widget .ct-tbl .ct-col-matter {
  width: 28%;
}

.comparison-table-widget .ct-tbl .ct-col-us {
  width: 38%;
}

.comparison-table-widget .ct-tbl .ct-col-them {
  width: 34%;
}

.comparison-table-widget .ct-tbl th,
.comparison-table-widget .ct-tbl td {
  padding: 12px 16px;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  vertical-align: top;
  font-size: 12px;
  line-height: 1.5;
}

.comparison-table-widget .ct-tbl th:last-child,
.comparison-table-widget .ct-tbl td:last-child {
  border-right: none;
}

.comparison-table-widget .ct-tbl th {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.comparison-table-widget .ct-tbl tbody tr:last-child td {
  border-bottom: none;
}

/* Header cells */
.comparison-table-widget .ct-h-matter {
  color: rgba(255, 255, 255, 0.4);
  text-align: center;
}

.comparison-table-widget .ct-h-us {
  color: #00cfff;
  text-align: center;
}

.comparison-table-widget .ct-h-them {
  color: rgba(255, 255, 255, 0.75);
  text-align: center;
}

/* Body cells */
.comparison-table-widget .ct-matter {
  color: #fff;
  font-weight: 700;
  font-size: 11px;
}

.comparison-table-widget .ct-us {
  color: #00cfff;
  text-align: center;
}

.comparison-table-widget .ct-them {
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
}

/* Check / Cross icons */
.comparison-table-widget .ct-check {
  color: #00cfff;
  font-weight: 800;
}

.comparison-table-widget .ct-cross {
  color: rgba(255, 255, 255, 0.3);
}

/* ═══════════════════════════════
   TABLET (480px – 767px)
   ═══════════════════════════════ */
@media (max-width: 767px) {
  .comparison-table-widget .ct-tbl .ct-col-matter {
    width: 30%;
  }

  .comparison-table-widget .ct-tbl .ct-col-us {
    width: 37%;
  }

  .comparison-table-widget .ct-tbl .ct-col-them {
    width: 33%;
  }

  .comparison-table-widget .ct-tbl th,
  .comparison-table-widget .ct-tbl td {
    font-size: 11px;
    padding: 10px 7px;
  }

  .comparison-table-widget .ct-tbl th {
    font-size: 9px;
  }

  .comparison-table-widget .ct-matter {
    font-size: 10px;
  }
}

/* ═══════════════════════════════
   MOBILE (< 480px)
   ═══════════════════════════════ */
@media (max-width: 479px) {
  .comparison-table-widget .ct-desktop {
    display: none;
  }

  .comparison-table-widget .ct-mobile {
    display: block;
  }

  .comparison-table-widget .ct-box {
    padding: 16px;
    border-radius: 12px;
  }

  /* Mobile header row */
  .comparison-table-widget .ct-m-header {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    margin-bottom: 2px;
    gap: 8px;
  }

  .comparison-table-widget .ct-m-header-what {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    flex: 0 0 auto;
    margin-right: auto;
  }

  .comparison-table-widget .ct-m-header-vals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 60%;
  }

  .comparison-table-widget .ct-m-header-cell {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .comparison-table-widget .ct-m-header-cell.ct-m-us {
    color: #00cfff;
  }

  .comparison-table-widget .ct-m-header-cell.ct-m-them {
    color: rgba(255, 255, 255, 0.45);
  }

  /* Mobile rows */
  .comparison-table-widget .ct-m-row {
    padding: 14px 0;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
  }

  .comparison-table-widget .ct-m-row:last-child {
    border-bottom: none;
  }

  .comparison-table-widget .ct-m-matter {
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
  }

  .comparison-table-widget .ct-m-vals {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }

  .comparison-table-widget .ct-m-us-val {
    color: #00cfff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
  }

  .comparison-table-widget .ct-m-them-val {
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    line-height: 1.4;
  }
}