.xv-public-pricing {
  --xv-price-one: #62b982;
  --xv-price-two: #6f9fd2;
  --xv-price-three: #c5a45f;
  width: 100%;
  min-width: 0;
  color: var(--text, #f4f4f5);
}

.xv-public-pricing *,
.xv-public-pricing *::before,
.xv-public-pricing *::after { box-sizing: border-box; }

.xv-public-pricing-wrap {
  width: 100%;
  border: 1px solid #303338;
  border-radius: 0px;
  outline: 0;
  background: #0c0e10;
  box-shadow: 0 20px 55px rgba(0,0,0,.22);
}

.xv-public-pricing-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #0c0e10;
}

.xv-public-pricing-table th,
.xv-public-pricing-table td {
  padding: 17px 18px;
  border: 0;
  border-bottom: 1px solid #272a2e;
  text-align: left;
  vertical-align: middle;
}

.xv-public-pricing-table thead th {
  position: sticky;
  z-index: 4;
  top: 72px;
  color: #91969b;
  background: #15181b;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}

.admin-bar .xv-public-pricing-table thead th { top: 118px; }
.xv-public-pricing-table thead th:first-child { width: 25%; border-radius: 0px 0 0; }
.xv-public-pricing-table thead th:nth-child(2) { width: 16%; }
.xv-public-pricing-table thead th:nth-child(3) { width: 17%; }
.xv-public-pricing-table thead th:nth-last-child(-n+3) { width: 14%; text-align: center; }
.xv-public-pricing-table thead th:nth-last-child(3) { color: var(--xv-price-one); background: color-mix(in srgb,var(--xv-price-one) 10%,#14171a); }
.xv-public-pricing-table thead th:nth-last-child(2) { color: var(--xv-price-two); background: color-mix(in srgb,var(--xv-price-two) 10%,#14171a); }
.xv-public-pricing-table thead th:last-child { color: var(--xv-price-three); border-radius: 0 0px 0 0; background: color-mix(in srgb,var(--xv-price-three) 10%,#14171a); }

.xv-public-pricing-table tbody td {
  color: #b8bcc1;
  background: #0d0f11;
  font-size: 14px;
  line-height: 1.5;
  transition: background .16s ease;
}

.xv-public-pricing-table tbody tr:not(.xv-public-pricing-group):hover td { background: #111417; }
.xv-public-pricing-table .xv-public-pricing-group th {
  padding: 13px 18px;
  color: #eceeef;
  background: #1a1d20;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .09em;
  text-align: left;
  text-transform: uppercase;
}

.xv-public-pricing-toggle {
  width: 100%;
  min-height: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  pointer-events: none;
}

.xv-public-pricing-toggle svg { display: none; }

.xv-public-pricing-table .xv-public-pricing-price { text-align: center; font-weight: 800; }
.xv-public-pricing-table .xv-public-pricing-price--1 { color: var(--xv-price-one); background: color-mix(in srgb,var(--xv-price-one) 8%,#0d0f11); }
.xv-public-pricing-table .xv-public-pricing-price--2 { color: var(--xv-price-two); background: color-mix(in srgb,var(--xv-price-two) 8%,#0d0f11); }
.xv-public-pricing-table .xv-public-pricing-price--3 { color: var(--xv-price-three); background: color-mix(in srgb,var(--xv-price-three) 8%,#0d0f11); }
.xv-public-pricing-table .xv-public-pricing-price a { color: inherit; font-weight: 850; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.xv-public-pricing-table .xv-public-pricing-price a:hover { color: #fff; }
.xv-public-pricing-table tbody tr:last-child td { border-bottom: 0; }

.xv-public-pricing-note {
  margin: 18px 0 0;
  color: #777c82;
  font-size: 12px;
  line-height: 1.65;
}

.xv-public-pricing-message {
  margin: 0;
  padding: 24px;
  border: 1px solid rgba(227,7,19,.45);
  border-radius: 8px;
  color: #f1c3c5;
  background: #0d0f11;
  text-align: center;
}

.xv-public-pricing-mobile { display: none; }

@media (max-width: 782px) {
  .admin-bar .xv-public-pricing-table thead th { top: 116px; }
}

@media (max-width: 900px) {
  .xv-public-pricing-desktop { display: none; }

  .xv-public-pricing-mobile {
    width: 100%;
    display: grid;
    gap: 12px;
  }

  .xv-public-pricing-accordion {
    width: 100%;
    overflow: hidden;
    border: 1px solid #303338;
    border-radius: 8px;
    background: #0d0f11;
  }

  .xv-public-pricing-accordion summary {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    color: #eceeef;
    background: #1a1d20;
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .09em;
    line-height: 1.2;
    list-style: none;
    text-transform: uppercase;
    user-select: none;
  }

  .xv-public-pricing-accordion summary::-webkit-details-marker { display: none; }

  .xv-public-pricing-accordion summary:focus-visible {
    outline: 2px solid var(--red-2, #ff202b);
    outline-offset: -2px;
  }

  .xv-public-pricing-accordion summary svg {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--red-2, #ff202b);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .2s ease;
  }

  .xv-public-pricing-accordion[open] summary {
    border-bottom: 1px solid #303338;
  }

  .xv-public-pricing-accordion[open] summary svg { transform: rotate(180deg); }

  .xv-public-pricing-cards {
    display: grid;
    gap: 12px;
    padding: 12px;
  }

  .xv-public-pricing-card {
    overflow: hidden;
    border: 1px solid #303338;
    border-radius: 8px;
    background: #0d0f11;
    box-shadow: 0 12px 32px rgba(0,0,0,.16);
  }

  .xv-public-pricing-card span {
    display: block;
    margin-bottom: 6px;
    color: #747980;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .xv-public-pricing-card-main { padding: 16px 14px; }

  .xv-public-pricing-card-main strong {
    display: block;
    color: #f0f1f2;
    font-size: 15px;
    line-height: 1.45;
  }

  .xv-public-pricing-card-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #272a2e;
  }

  .xv-public-pricing-card-meta > div { padding: 13px 14px; }
  .xv-public-pricing-card-meta > div + div { border-left: 1px solid #272a2e; }

  .xv-public-pricing-card-meta b {
    color: #c4c7cb;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
  }

  .xv-public-pricing-card-prices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #34383d;
  }

  .xv-public-pricing-card-price {
    min-width: 0;
    min-height: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 6px;
    text-align: center;
  }

  .xv-public-pricing-card-price + .xv-public-pricing-card-price { border-left: 1px solid #34383d; }
  .xv-public-pricing-card-price--1 { color: var(--xv-price-one); background: color-mix(in srgb,var(--xv-price-one) 10%,#0d0f11); }
  .xv-public-pricing-card-price--2 { color: var(--xv-price-two); background: color-mix(in srgb,var(--xv-price-two) 10%,#0d0f11); }
  .xv-public-pricing-card-price--3 { color: var(--xv-price-three); background: color-mix(in srgb,var(--xv-price-three) 10%,#0d0f11); }

  .xv-public-pricing-card-price b,
  .xv-public-pricing-card-price a {
    color: inherit;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
  }

  .xv-public-pricing-card-price a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
}

@media (max-width: 420px) {
  .xv-public-pricing-cards { padding: 10px; }
  .xv-public-pricing-card-price b,
  .xv-public-pricing-card-price a { font-size: 11px; }
  .xv-public-pricing-note { font-size: 11px; }
}
