/* ==========================================================
   Custom Auth Suite™ Site — Product Specifications
   ========================================================== */

/*
 * INDEX
 * 03. CAS Product Specifications Page v1.0.0
 * 04. CAS Product Specifications Page v1.1.0
 */

/* ==========================================================
   03. CAS Product Specifications Page v1.0.0
   Polished technical reference layout for EN/IT specs pages.
   ========================================================== */

.cas-site .cas-product-specs-page {
  width: min(1180px, calc(100vw - 40px));
  max-width: min(1180px, calc(100vw - 40px)) !important;
  margin: clamp(36px, 6vw, 78px) auto clamp(54px, 8vw, 110px);
  padding: 0;
}

.cas-site .cas-product-specs-page > .cas-lead {
  max-width: 780px;
}

.cas-specs-hero-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(30px, 5vw, 58px);
}

.cas-spec-card,
.cas-spec-panel {
  position: relative;
  overflow: hidden;

  border: 1px solid rgba(31, 38, 55, .08);
  border-radius: var(--cas-radius-md);
  background:
    radial-gradient(circle at 18% 12%, rgba(127,69,232,.070), transparent 18rem),
    radial-gradient(circle at 82% 18%, rgba(116,203,187,.055), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(248,251,255,.78));

  box-shadow:
    0 18px 54px rgba(10, 20, 40, .075),
    inset 0 1px 0 rgba(255,255,255,.74);
}

.cas-spec-card {
  padding: clamp(22px, 2.6vw, 32px);
  min-height: 220px;
}

.cas-spec-card--primary {
  background:
    radial-gradient(circle at 16% 10%, rgba(127,69,232,.105), transparent 18rem),
    radial-gradient(circle at 86% 20%, rgba(255,133,0,.060), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,250,255,.82));
}

.cas-spec-label {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;

  margin-bottom: 1rem;
  padding: .48rem .72rem;

  border: 1px solid rgba(205,226,244,.88);
  border-radius: 999px;
  background: rgba(255,255,255,.78);

  color: var(--cas-ink);
  font-size: .78rem;
  font-weight: 820;
  line-height: 1;
  letter-spacing: -.015em;

  box-shadow:
    0 0 0 1px rgba(255,255,255,.66) inset,
    0 10px 24px rgba(22,36,60,.08);
}

.cas-spec-card h2,
.cas-spec-panel h2,
.cas-spec-panel h3 {
  margin: 0;
  color: var(--cas-ink);
  letter-spacing: -.055em;
}

.cas-spec-card h2 {
  font-size: clamp(1.32rem, 1.8vw, 1.82rem);
  line-height: 1.03;
}

.cas-spec-card p,
.cas-spec-panel p,
.cas-spec-panel li,
.cas-spec-table {
  color: rgba(74, 89, 118, .94);
}

.cas-spec-card p {
  margin: .8rem 0 0;
  line-height: 1.56;
}

.cas-spec-panel {
  margin-top: clamp(24px, 4vw, 44px);
  padding: clamp(24px, 3.2vw, 42px);
}

.cas-spec-panel__head {
  max-width: 860px;
  margin-bottom: clamp(22px, 3vw, 34px);
}

.cas-spec-panel__head .cas-kicker {
  margin-bottom: .9rem;
}

.cas-title-md {
  font-size: clamp(1.78rem, 3vw, 3.15rem);
  line-height: .98;
  letter-spacing: -.065em;
}

.cas-spec-panel__head p:not(.cas-kicker) {
  margin: .95rem 0 0;
  max-width: 760px;
  line-height: 1.58;
}

.cas-spec-list-grid,
.cas-spec-disclaimer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
}

.cas-spec-list-grid--three,
.cas-spec-disclaimer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cas-spec-list-grid > div,
.cas-spec-disclaimer-grid > div {
  padding: clamp(18px, 2.2vw, 26px);

  border: 1px solid rgba(31, 38, 55, .07);
  border-radius: calc(var(--cas-radius-md) - 8px);
  background: rgba(255,255,255,.64);

  box-shadow:
    0 12px 34px rgba(10,20,40,.045),
    inset 0 1px 0 rgba(255,255,255,.68);
}

.cas-spec-list-grid h3,
.cas-spec-disclaimer-grid h3 {
  font-size: clamp(1.08rem, 1.25vw, 1.28rem);
  line-height: 1.06;
}

.cas-spec-list-grid p,
.cas-spec-disclaimer-grid p {
  margin: .72rem 0 0;
  line-height: 1.55;
}

.cas-spec-list-grid ul {
  margin: .9rem 0 0;
  padding-left: 1.1rem;
}

.cas-spec-list-grid li + li {
  margin-top: .46rem;
}

.cas-spec-table-wrap {
  overflow-x: auto;
  border-radius: calc(var(--cas-radius-md) - 8px);
  box-shadow: 0 14px 42px rgba(10,20,40,.055);
}

.cas-spec-table {
  width: 100%;
  min-width: 840px;
  border-collapse: collapse;
  background: rgba(255,255,255,.72);
}

.cas-spec-table th,
.cas-spec-table td {
  padding: 1rem 1.1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(31,38,55,.075);
}

.cas-spec-table th {
  color: var(--cas-ink);
  font-size: .86rem;
  font-weight: 860;
  letter-spacing: -.018em;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(244,248,255,.78));
}

.cas-spec-table td:first-child {
  color: var(--cas-ink);
  font-weight: 820;
  white-space: nowrap;
}

/* Privacy & Cookie Policy: keep each cookie token intact while allowing
   comma-separated cookie families to wrap between tokens. On desktop,
   the first column shrinks to the minimum safe width required by its
   longest unbreakable cookie name instead of forcing the whole row wide. */
@media (min-width: 761px) {
  .cas-site
    .cas-privacy-policy-page
    .cas-spec-table.cas-responsive-editorial-table[data-cas-responsive-columns="5"]
    th:first-child,
  .cas-site
    .cas-privacy-policy-page
    .cas-spec-table.cas-responsive-editorial-table[data-cas-responsive-columns="5"]
    td:first-child {
    width: 1%;
    white-space: normal;
  }

  .cas-site
    .cas-privacy-policy-page
    .cas-spec-table.cas-responsive-editorial-table[data-cas-responsive-columns="5"]
    td:first-child code {
    display: inline-block;
    white-space: nowrap;
  }

  .cas-site
    .cas-privacy-policy-page
    .cas-spec-table.cas-responsive-editorial-table[data-cas-responsive-columns="5"]
    th:nth-child(2),
  .cas-site
    .cas-privacy-policy-page
    .cas-spec-table.cas-responsive-editorial-table[data-cas-responsive-columns="5"]
    td:nth-child(2) {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

.cas-spec-table tr:last-child td {
  border-bottom: 0;
}

.cas-spec-panel--notice {
  background:
    radial-gradient(circle at 14% 14%, rgba(255,133,0,.070), transparent 18rem),
    radial-gradient(circle at 88% 12%, rgba(127,69,232,.080), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(250,249,255,.82));
}

.cas-spec-panel--legal {
  padding: clamp(20px, 2.5vw, 30px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.80), rgba(245,249,255,.70));
}

.cas-spec-panel--legal p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.62;
}

.cas-spec-panel--legal p + p {
  margin-top: .9rem;
}

.cas-spec-panel--legal strong {
  color: var(--cas-ink);
}

@media (max-width: 980px) {
  .cas-specs-hero-grid,
  .cas-spec-list-grid--three,
  .cas-spec-disclaimer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .cas-site .cas-product-specs-page {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px) !important;
    margin-top: 28px;
  }

  .cas-specs-hero-grid,
  .cas-spec-list-grid {
    grid-template-columns: 1fr;
  }

  .cas-spec-card,
  .cas-spec-panel {
    padding: 22px;
  }

  .cas-title-md {
    font-size: clamp(1.74rem, 9vw, 2.42rem);
  }

  .cas-spec-table th,
  .cas-spec-table td {
    padding: .9rem;
  }
}


/* ==========================================================
   04. CAS Product Specifications Page v1.1.0
   Soft Doctor note + edition-colored plan cards.
   ========================================================== */

.cas-spec-soft-note {
  margin-top: clamp(20px, 3vw, 32px);
  padding: clamp(18px, 2.4vw, 26px);

  border: 1px solid rgba(127,69,232,.13);
  border-radius: calc(var(--cas-radius-md) - 8px);

  background:
    radial-gradient(circle at 12% 0%, rgba(127,69,232,.085), transparent 18rem),
    radial-gradient(circle at 90% 20%, rgba(255,133,0,.060), transparent 18rem),
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,250,255,.68));

  box-shadow:
    0 16px 44px rgba(10,20,40,.055),
    inset 0 1px 0 rgba(255,255,255,.72);
}

.cas-spec-soft-note p {
  margin: 0;
  max-width: 940px;
  line-height: 1.62;
}

.cas-spec-soft-note p + p {
  margin-top: .7rem;
}

.cas-spec-soft-note strong {
  color: var(--cas-ink);
}

.cas-spec-soft-note a {
  color: var(--cas-blue);
  font-weight: 780;
  text-decoration-color: currentColor;
  text-underline-offset: .18em;
}

.cas-spec-soft-note em {
  color: #7f45e8;
  font-style: normal;
  font-weight: 760;
}

.cas-spec-table-note {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin-top: .42rem;
  padding: .28rem .48rem;

  border-radius: 999px;
  background: rgba(127,69,232,.09);

  color: #7f45e8;
  font-size: .72rem;
  font-weight: 820;
  line-height: 1;
}

.cas-spec-plan-card {
  position: relative;
  overflow: hidden;
  border-top-width: 4px !important;
}

.cas-spec-plan-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 8rem;
  opacity: .16;
  pointer-events: none;
}

.cas-spec-plan-card > * {
  position: relative;
  z-index: 1;
}

.cas-spec-plan-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cas-spec-plan-card h3 a:hover {
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

.cas-spec-plan-card--freemium {
  border-color: rgba(116,203,187,.46) !important;
}

.cas-spec-plan-card--freemium::before {
  background: radial-gradient(circle at 50% 0%, rgba(116,203,187,.95), transparent 70%);
}

.cas-spec-plan-card--freemium h3,
.cas-spec-plan-card--freemium h3 a {
  color: #157364 !important;
}

.cas-spec-plan-card--advanced {
  border-color: rgba(37,111,255,.50) !important;
}

.cas-spec-plan-card--advanced::before {
  background: radial-gradient(circle at 50% 0%, rgba(37,111,255,.95), transparent 70%);
}

.cas-spec-plan-card--advanced h3,
.cas-spec-plan-card--advanced h3 a {
  color: var(--cas-blue) !important;
}

.cas-spec-plan-card--premium {
  border-color: rgba(218,168,55,.62) !important;
}

.cas-spec-plan-card--premium::before {
  background: radial-gradient(circle at 50% 0%, rgba(218,168,55,.88), transparent 70%);
}

.cas-spec-plan-card--premium h3,
.cas-spec-plan-card--premium h3 a {
  color: #8a650d !important;
}

@media (max-width: 820px) {
  .cas-spec-soft-note {
    padding: 18px;
  }
}


/* ==========================================================
   CAS Responsive Editorial Tables v1.0.0
   Owner: cas-specs.css

   No static EN/IT copy is stored in CSS.
   Mobile labels are hydrated by cas-site.js from the real <thead><th>
   text into data-cas-table-label, then rendered with attr().
   ========================================================== */

@media (max-width: 760px) {
  .cas-site .cas-product-specs-page .cas-spec-table-wrap,
  .cas-site .cas-refund-policy-page .cas-spec-table-wrap {
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table thead,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table thead,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table tbody,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table tbody,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table tr,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table tr,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table th,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table th,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table {
    min-width: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table thead,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table thead {
    display: none !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table tbody,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table tbody {
    display: grid !important;
    gap: 14px !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table tr,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table tr {
    overflow: hidden !important;

    border: 1px solid rgba(127,69,232,.14) !important;
    border-radius: 22px !important;

    background:
      radial-gradient(circle at 8% 0%, rgba(127,69,232,.07), transparent 18rem),
      radial-gradient(circle at 100% 12%, rgba(255,133,0,.055), transparent 18rem),
      linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,255,.86)) !important;

    box-shadow:
      0 14px 34px rgba(10,20,40,.055),
      inset 0 1px 0 rgba(255,255,255,.74) !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table th,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table th {
    position: relative !important;

    padding: 14px 16px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(31,38,55,.075) !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;

    color: rgba(61,75,101,.92) !important;

    font-size: .98rem !important;
    line-height: 1.48 !important;
    font-weight: 400 !important;
    text-align: left !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td:last-child,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table th:last-child,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td:last-child,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table th:last-child {
    border-bottom: 0 !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td:first-child,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td:first-child {
    color: var(--cas-ink) !important;

    font-family: var(--cas-font-brand) !important;
    font-size: 1.04rem !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
    letter-spacing: -.026em !important;

    background:
      linear-gradient(180deg, rgba(255,255,255,.88), rgba(244,248,255,.62)) !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td[data-cas-table-label]::before,
  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table th[data-cas-table-label]::before,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td[data-cas-table-label]::before,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table th[data-cas-table-label]::before {
    content: attr(data-cas-table-label);

    display: block !important;
    margin: 0 0 6px !important;

    color: #7f45e8 !important;

    font-family: var(--cas-font-brand) !important;
    font-size: .72rem !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
  }

  .cas-site .cas-product-specs-page table.cas-responsive-editorial-table td:first-child::before,
  .cas-site .cas-refund-policy-page table.cas-responsive-editorial-table td:first-child::before {
    opacity: .86 !important;
  }
}

/* /CAS Responsive Editorial Tables v1.0.0 */
