/* Scoped pricing styles; the site remains a static Bootstrap page. */
.website-pricing {
  background: #f6f9fe;
  scroll-margin-top: 88px;
}
.website-pricing .section-title { margin-bottom: 28px; }
.website-pricing .pricing-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 24px;
}
.website-pricing .pricing-tabs button {
  border: 1px solid #d7e2f3;
  border-radius: 12px;
  background: #fff;
  color: #344563;
  padding: 13px 22px;
  font-weight: 600;
  line-height: 1.6;
}
.website-pricing .pricing-tabs button.active {
  background: var(--primary-color, #1971f0);
  border-color: var(--primary-color, #1971f0);
  color: #fff;
}
.website-pricing .pricing-notice {
  padding: 18px 22px;
  margin-bottom: 22px;
  border: 1px solid #d5e4fa;
  border-radius: 14px;
  background: #eef5ff;
  color: #345279;
  font-size: 14px;
  line-height: 1.8;
}
.website-pricing .pricing-notice strong { display: block; margin-bottom: 4px; }
.website-pricing .pricing-scroll {
  overflow-x: auto;
  border: 1px solid #dce5f2;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 50px -28px rgba(33, 51, 87, 0.22);
}
.website-pricing .pricing-comparison {
  width: 100%;
  min-width: 1080px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  color: #344563;
  font-size: 14px;
  line-height: 1.7;
}
.website-pricing .pricing-label-col { width: 184px; }
.website-pricing .pricing-comparison th,
.website-pricing .pricing-comparison td {
  padding: 15px 16px;
  border-bottom: 1px solid #e6edf7;
  border-right: 1px solid #e6edf7;
  vertical-align: middle;
  text-align: center;
  overflow-wrap: anywhere;
}
.website-pricing .pricing-comparison tr > :last-child { border-right: 0; }
.website-pricing .pricing-comparison tbody tr:last-child > * { border-bottom: 0; }
.website-pricing .pricing-comparison tr > th:first-child {
  text-align: left;
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
}
.website-pricing .pricing-plan {
  --tier-base: #f5f7fb;
  --tier-surface: linear-gradient(160deg, #fff, #f5f7fb 80%);
  --tier-ink: #3d4b63;
  --tier-muted: #637188;
  --tier-accent: #74839c;
  --tier-line: rgba(116, 131, 156, 0.15);
  --tier-medal: linear-gradient(135deg, #fff, #e3e9f2);
  --tier-button: linear-gradient(135deg, #e3e9f2, #f9fbff);
  --tier-button-ink: #3d4b63;
  position: relative;
  vertical-align: top !important;
  background: var(--tier-base);
  border-right-color: var(--tier-line) !important;
}
.website-pricing .pricing-tier-blue {
  --tier-base: #eef4fe;
  --tier-surface: radial-gradient(ellipse at 90% 0, #fff 0, transparent 60%), linear-gradient(160deg, #f4f8ff, #eef4fe 85%);
  --tier-ink: #183e80;
  --tier-muted: #526b92;
  --tier-accent: #3777d7;
  --tier-line: rgba(55, 119, 215, 0.15);
  --tier-medal: linear-gradient(135deg, #fff, #c6dcff);
  --tier-button: linear-gradient(120deg, #2d6dd2, #225bb6);
  --tier-button-ink: #fff;
}
.website-pricing .pricing-tier-violet {
  --tier-base: #f2effc;
  --tier-surface: radial-gradient(ellipse at 90% 0, #fff 0, transparent 65%), linear-gradient(160deg, #f7f3ff, #f2effc 85%);
  --tier-ink: #45317b;
  --tier-muted: #736389;
  --tier-accent: #8056ba;
  --tier-line: rgba(128, 86, 186, 0.17);
  --tier-medal: linear-gradient(135deg, #fffaf0, #e3d1f9);
  --tier-button: linear-gradient(120deg, #8760bd, #67459b);
  --tier-button-ink: #fff;
}
.website-pricing .pricing-tier-gold {
  --tier-base: #19253a;
  --tier-surface: radial-gradient(ellipse at 90% 0, rgba(234, 196, 125, 0.16), transparent 60%), linear-gradient(160deg, #111c30, #19253a 85%);
  --tier-ink: #f5e5c5;
  --tier-muted: #b6bed0;
  --tier-accent: #dfbd7c;
  --tier-line: rgba(223, 189, 124, 0.19);
  --tier-medal: linear-gradient(135deg, #fff2d1 0%, #e5c181 42%, #bd8c48 100%);
  --tier-button: linear-gradient(115deg, #cda665, #f3dbac 48%, #dcb777);
  --tier-button-ink: #3d2d15;
}
.website-pricing .pricing-comparison thead tr:first-child > .pricing-plan {
  padding: 26px 20px 0;
  border-bottom: 0;
  background-image: var(--tier-surface);
  overflow: hidden;
}
.website-pricing .pricing-comparison thead tr:first-child > .pricing-plan::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--tier-accent), transparent);
}
.website-pricing .pricing-comparison thead tr:first-child > .pricing-plan::after {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 180px;
  height: 180px;
  border: 1px solid var(--tier-line);
  border-radius: 50%;
  pointer-events: none;
}
.website-pricing .pricing-comparison .pricing-label-head {
  vertical-align: bottom;
  padding-bottom: 30px;
  background: linear-gradient(180deg, #fbfcff, #fff);
}
.website-pricing .pricing-plan-identity { margin-bottom: 12px; }
.website-pricing .pricing-plan-emblem {
  display: grid;
  place-items: center;
  position: relative;
  width: 58px;
  height: 58px;
  margin: 0 auto 14px;
  color: var(--tier-accent);
  border: 1px solid var(--tier-line);
  border-radius: 18px;
  background: var(--tier-medal);
  box-shadow: 0 6px 14px -6px var(--tier-line), inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transform: rotate(-8deg);
}
.website-pricing .pricing-plan-emblem::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid var(--tier-line);
  border-radius: 13px;
}
.website-pricing .pricing-plan-emblem svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: rotate(8deg);
}
.website-pricing .pricing-tier-gold .pricing-plan-emblem { color: #6d4b20; }
.website-pricing .pricing-plan-edition {
  color: var(--tier-accent);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.4px;
}
.website-pricing .pricing-actions > .pricing-plan { padding: 18px 20px 24px; }
.website-pricing .pricing-plan h3 { font-size: 23px; margin: 0 0 10px; color: var(--tier-ink); letter-spacing: 0.5px; }
.website-pricing .pricing-desc { font-size: 12px; font-weight: 400; min-height: 44px; line-height: 1.8; color: var(--tier-muted); }
.website-pricing .pricing-prices { min-height: 148px; margin: 18px 0 0; }
.website-pricing #pricing-company .pricing-prices { min-height: 105px; }
.website-pricing .pricing-price { font-weight: 400; color: var(--tier-ink); }
.website-pricing .pricing-price b { font-weight: 700; font-variant-numeric: tabular-nums; }
.website-pricing .pricing-price-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  min-height: 82px;
  margin-bottom: 12px;
}
.website-pricing .pricing-price-main b { font-size: 44px; line-height: 1.2; letter-spacing: -1.8px; }
.website-pricing .pricing-currency { font-size: 20px; margin-right: 3px; }
.website-pricing .pricing-price-unit { font-size: 12px; margin-left: 4px; color: var(--tier-muted); }
.website-pricing .pricing-price small { color: var(--tier-muted); font-size: 11px; }
.website-pricing .pricing-price-main small { flex: 0 0 100%; align-self: start; }
.website-pricing .pricing-price-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  padding: 6px 0;
  border-top: 1px solid var(--tier-line);
  font-size: 14px;
}
.website-pricing .pricing-price-secondary .pricing-currency { font-size: 12px; }
.website-pricing .pricing-price-secondary small { margin-left: 6px; font-size: 10px; }
.website-pricing .pricing-from { padding-top: 7px; }
.website-pricing .pricing-from b { font-size: 28px; line-height: 1.5; letter-spacing: -1px; }
.website-pricing .pricing-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 45px;
  border: 1px solid var(--tier-line);
  border-radius: 9px;
  padding: 10px 8px;
  color: var(--tier-button-ink);
  background: var(--tier-button);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 5px 12px -8px var(--tier-accent);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
  text-decoration: none;
  transition: filter 180ms ease, box-shadow 180ms ease;
}
.website-pricing .pricing-action:hover { filter: brightness(1.06); box-shadow: 0 6px 16px -6px var(--tier-accent); }
.website-pricing .pricing-action-arrow { font-size: 17px; font-weight: 400; opacity: 0.75; }
.website-pricing button:focus-visible,
.website-pricing .pricing-scroll:focus-visible { outline: 3px solid #0d4dc4; outline-offset: 3px; }
.website-pricing .pricing-group th { background: #edf3fc !important; color: #204c88; }
.website-pricing .pricing-feature-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.website-pricing .pricing-feature-text { min-width: 0; overflow-wrap: break-word; }
.website-pricing .pricing-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  color: #2563eb;
  background: #edf4ff;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
  font-size: 14px;
  transition: transform 180ms ease, background-color 180ms ease;
}
.website-pricing .pricing-icon-teal {
  color: #0e827b;
  background: #e9f7f5;
  box-shadow: inset 0 0 0 1px rgba(14, 130, 123, 0.08);
}
.website-pricing .pricing-icon-violet {
  color: #7751c8;
  background: #f2edfc;
  box-shadow: inset 0 0 0 1px rgba(119, 81, 200, 0.08);
}
.website-pricing .pricing-icon-amber {
  color: #a96b0d;
  background: #fff5e3;
  box-shadow: inset 0 0 0 1px rgba(169, 107, 13, 0.08);
}
.website-pricing .pricing-group .pricing-feature-icon { background: #fff; }
.website-pricing .pricing-comparison tbody tr:hover .pricing-feature-icon { transform: scale(1.06); }
.website-pricing .pricing-comparison tbody tr:not(.pricing-group) > * {
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
.website-pricing .pricing-comparison tbody tr:not(.pricing-group):hover > *,
.website-pricing .pricing-comparison tbody tr:not(.pricing-group):focus-within > * {
  background-color: #eaf3ff;
  box-shadow: inset 0 1px 0 #d8e7fc, inset 0 -1px 0 #d8e7fc;
}
.website-pricing .pricing-comparison tbody tr:not(.pricing-group):hover > th,
.website-pricing .pricing-comparison tbody tr:not(.pricing-group):focus-within > th {
  box-shadow: inset 3px 0 0 #1971f0, inset 0 1px 0 #d8e7fc, inset 0 -1px 0 #d8e7fc;
}
.website-pricing .pricing-hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #617fa8;
  font-size: 15px;
  vertical-align: middle;
  cursor: help;
  transition: background-color 180ms ease, color 180ms ease;
}
.website-pricing .pricing-hint:hover,
.website-pricing .pricing-hint:focus-visible { background: #dbeafe; color: #1462cf; }
.pricing-tooltip .tooltip-inner {
  max-width: min(320px, calc(100vw - 24px));
  padding: 12px 16px;
  border-radius: 10px;
  background: #153b72;
  box-shadow: 0 8px 24px rgba(21, 59, 114, 0.18);
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
}
.pricing-tooltip[data-popper-placement^="right"] .tooltip-arrow::before { border-right-color: #153b72; }
.pricing-tooltip[data-popper-placement^="left"] .tooltip-arrow::before { border-left-color: #153b72; }
.pricing-tooltip[data-popper-placement^="top"] .tooltip-arrow::before { border-top-color: #153b72; }
.pricing-tooltip[data-popper-placement^="bottom"] .tooltip-arrow::before { border-bottom-color: #153b72; }
.website-pricing .pricing-unavailable { color: #a44444; }
.website-pricing .pricing-empty { color: #8795a9; }
.website-pricing .pricing-footnote { margin-top: 18px; font-size: 13px; line-height: 1.8; color: #61728b; }
.website-pricing .pricing-scroll-tip { display: none; font-size: 12px; color: #61728b; margin-bottom: 12px; }
@media (max-width: 1199px) {
  .website-pricing .pricing-scroll-tip { display: block; }
}
@media (max-width: 575px) {
  .website-pricing .pricing-tabs { flex-direction: column; }
  .website-pricing .pricing-tabs button { padding: 12px; }
  .website-pricing .pricing-label-col { width: 128px; }
  .website-pricing .pricing-comparison { min-width: 920px; font-size: 13px; }
  .website-pricing .pricing-comparison th,
  .website-pricing .pricing-comparison td { padding: 12px; }
  .website-pricing .pricing-feature-label { gap: 6px; }
  .website-pricing .pricing-feature-icon {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    font-size: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .website-pricing .pricing-comparison tbody tr:not(.pricing-group) > *,
  .website-pricing .pricing-hint,
  .website-pricing .pricing-action,
  .website-pricing .pricing-feature-icon { transition: none; }
  .website-pricing .pricing-comparison tbody tr:hover .pricing-feature-icon { transform: none; }
}
