/* FREED asset adaptations; the component design remains the VOXY CSS. */
.voxy-db-page p { padding-bottom: 0 !important; }
.voxy-db-page .freed-compact-toc { padding: 14px; border-radius: 8px; }
.voxy-db-page .freed-compact-toc h2 { margin-bottom: 10px; font-size: 18px; }
.voxy-db-page .freed-compact-toc__primary,
.voxy-db-page .freed-compact-toc__secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.voxy-db-page .freed-compact-toc__primary .toc-item { min-height: 58px; border-color: #bfdbfe; background: #f8fbff; }
.voxy-db-page .freed-compact-toc__more { margin-top: 10px; }
.voxy-db-page .freed-compact-toc__more summary,
.voxy-db-page .freed-compact-evidence summary { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 10px 2px 10px 10px; border: 0; border-left: 4px solid #2563eb; border-bottom: 1px solid #dbe4ee; border-radius: 0; background: transparent; color: #0f3f91; font-size: 13px; font-weight: 900; line-height: 1.35; cursor: pointer; }
.voxy-db-page .freed-compact-toc__more summary::after,
.voxy-db-page .freed-compact-evidence summary::after { content: "開く ＋"; flex: 0 0 auto; margin-left: 10px; padding: 3px 8px; border-radius: 999px; background: #eff6ff; color: #2563eb; font-size: 11px; line-height: 1.4; }
.voxy-db-page .freed-compact-toc__more[open] summary::after,
.voxy-db-page .freed-compact-evidence details[open] summary::after { content: "閉じる －"; }
.voxy-db-page .freed-compact-toc__secondary { margin-top: 8px; }
.voxy-db-page .freed-compact-toc .toc-item { min-height: 48px; padding: 8px 10px; }
.voxy-db-page .freed-compact-toc .toc-item .badge { display: none; }
.voxy-db-page .freed-compact-evidence { padding: 14px; border-radius: 8px; }
.voxy-db-page .freed-compact-evidence .evidence-lead { margin: 0 0 10px !important; font-size: 13px; line-height: 1.7; }
.voxy-db-page .freed-compact-evidence__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.voxy-db-page .freed-compact-evidence__list li { min-width: 0; padding: 10px; border: 1px solid #e5edf8; border-radius: 6px; background: #f8fafc; }
.voxy-db-page .freed-compact-evidence__list b,
.voxy-db-page .freed-compact-evidence__list span { display: block; line-height: 1.5; }
.voxy-db-page .freed-compact-evidence__list b { color: #132b55; font-size: 13px; font-weight: 900; }
.voxy-db-page .freed-compact-evidence__list span { margin-top: 2px; color: #64748b; font-size: 12px; font-weight: 700; }
.freed-akapen-overview { margin: 18px 0; padding: 16px; border: 1px solid #d8e3f1; border-radius: 8px; background: #fff; box-shadow: 0 4px 14px rgba(19,43,85,.05); }
.freed-akapen-overview__title { margin: 0 0 12px; color: #132b55; font-size: 18px; font-weight: 900; line-height: 1.45; }
.freed-akapen-overview__gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.freed-akapen-overview__gallery a { display: grid; grid-template-rows: 170px auto; overflow: hidden; border: 1px solid #d8e3f1; border-radius: 8px; background: #f8fafc; color: #132b55; text-align: center; text-decoration: none; }
.freed-akapen-overview__gallery img { width: 100%; height: 170px; object-fit: contain; background: #f8fafc; }
.freed-akapen-overview__gallery span { display: grid; min-height: 50px; place-items: center; padding: 8px; background: #132b55; color: #fff; font-size: 12px; font-weight: 900; line-height: 1.45; }
.freed-akapen-overview__table-wrap { overflow-x: auto; margin-top: 14px; }
.freed-akapen-overview__table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 13px; line-height: 1.55; }
.freed-akapen-overview__table th, .freed-akapen-overview__table td { padding: 9px 10px; border: 1px solid #dbe4ee; text-align: center; vertical-align: middle; }
.freed-akapen-overview__table thead th { background: #132b55; color: #fff; font-weight: 900; }
.freed-akapen-overview__table tbody th { color: #132b55; text-align: left; font-weight: 900; }
.freed-akapen-overview__table strong { color: #b91c1c; font-weight: 900; }
.freed-akapen-overview__judge { display: inline-flex; align-items: center; justify-content: center; min-width: 82px; padding: 4px 8px; border-radius: 4px; color: #fff; font-size: 12px; font-weight: 900; white-space: nowrap; }
.freed-akapen-overview__judge--a { background: #16a34a; }
.freed-akapen-overview__judge--c { background: #dc2626; }
.freed-akapen-overview__note { margin: 12px 0 0 !important; padding: 10px 12px !important; border-radius: 8px; background: #fff7ed; color: #9a3412; font-size: 13px; font-weight: 800; line-height: 1.7; }
@media (min-width:768px) { .voxy-estimate-case-page .case-diagnosis-image-card img.akapen-proof-image { width:auto; max-width:100%; max-height:calc(100vh - 120px); margin-right:auto; margin-left:auto; object-fit:contain; } }

.voxy-db-page .calc-hidden-results {
  display: none !important;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-result {
  border: 3px solid #063d79;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(5, 35, 70, .14);
  padding: 18px;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-result h5 {
  color: #08275f;
  font-size: 18px;
  margin-bottom: 14px;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-table {
  border: 1px solid #c7d7eb;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(199, 215, 235, .55);
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-table th,
.voxy-db-page .trust-v2-calc-wrap--featured .calc-table td {
  border-color: #d8e1ed;
  padding: 13px 16px;
  font-size: 14px;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-table th {
  color: #08275f;
  background: #f4f9ff;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-table td {
  color: #08275f;
  background: #fff;
  font-size: 16px;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-table tr.is-total th,
.voxy-db-page .trust-v2-calc-wrap--featured .calc-table tr.is-total td {
  background: #fff0f1;
  color: #d20f18;
}

.voxy-db-page .trust-v2-calc-wrap--featured #nebiki_kei {
  color: #d20f18;
  font-size: 22px;
}

.voxy-db-page .trust-v2-calc-wrap--featured .calc-comment {
  margin: 14px 0 0;
  color: #33486b;
  font-size: 13px;
  font-weight: 800;
}

.voxy-db-page .calc-tradein-cta {
  border: 0;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(5, 35, 70, .18);
  padding: 20px;
}

.voxy-db-page .calc-tradein-cta__title {
  color: #08275f;
  font-size: 20px;
  line-height: 1.45;
}

.voxy-db-page .calc-tradein-cta__title span {
  color: #d20f18;
  font-size: 1.2em;
}

.voxy-db-page .calc-tradein-cta p {
  color: #33486b;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 700;
}

.voxy-db-page .calc-tradein-cta__summary {
  border: 1px solid #abd2ff;
  border-radius: 12px;
  background: linear-gradient(90deg, #f2f9ff, #fff);
  margin: 16px 0 14px;
  padding: 4px 16px;
}

.voxy-db-page .calc-tradein-cta__summary div {
  display: grid;
  grid-template-columns: 26px 1fr auto;
  gap: 10px;
  align-items: center;
  min-height: 48px;
}

.voxy-db-page .calc-tradein-cta__summary div + div {
  border-top: 1px solid #d9e8f8;
}

.voxy-db-page .calc-tradein-cta__summary b {
  color: #08275f;
  font-size: 14px;
}

.voxy-db-page .calc-tradein-cta__summary strong {
  color: #08275f;
  font-size: 18px;
  font-weight: 900;
}

.voxy-db-page .calc-tradein-cta__summary strong.is-red {
  color: #d20f18;
}

.voxy-db-page .calc-tradein-cta__icon {
  width: 24px;
  height: 24px;
  color: #0a4f9e;
  display: inline-grid;
  place-items: center;
}

.voxy-db-page .calc-tradein-cta__icon svg {
  width: 24px;
  height: 24px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.voxy-db-page .calc-tradein-cta__button {
  font-size: 16px;
  min-height: 52px;
}

.voxy-db-page .calc-read-box {
  background: #123d77;
  color: #fff;
  border-color: rgba(255, 255, 255, .22);
}

.voxy-db-page .calc-read-box b,
.voxy-db-page .calc-read-box p {
  color: #fff;
}

.voxy-db-page .trade-reappraisal-cta--main {
  margin: 22px 0 28px;
}

.voxy-db-page .trade-talk-balloon {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0 8px;
}

.voxy-db-page .trade-talk-avatar {
  flex: 0 0 68px;
  width: 68px;
  height: 68px;
  padding: 5px;
  border: 2px solid #d7dee8;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 10px rgba(10, 31, 68, .08);
  object-fit: contain;
}

.voxy-db-page .trade-talk-balloon p {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  margin: 0;
  min-height: 66px;
  padding: 12px 22px;
  padding-bottom: 12px !important;
  border: 2px solid #c9cdd3;
  border-radius: 7px;
  background: #fff;
  color: #35465c;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.7;
}

.voxy-db-page .trade-talk-balloon p::before,
.voxy-db-page .trade-talk-balloon p::after {
  content: "";
  position: absolute;
  top: 24px;
  width: 0;
  height: 0;
  border-style: solid;
}

.voxy-db-page .trade-talk-balloon p::before {
  left: -15px;
  border-width: 10px 15px 10px 0;
  border-color: transparent #c9cdd3 transparent transparent;
}

.voxy-db-page .trade-talk-balloon p::after {
  left: -11px;
  border-width: 8px 12px 8px 0;
  border-color: transparent #fff transparent transparent;
}

.voxy-db-page .trade-reappraisal-cta small {
  display: block;
  margin-top: 10px;
  color: #42526b;
  font-weight: 800;
}

@media (max-width: 700px) {
  .voxy-db-page .trust-v2-calc-wrap--featured .calc-result,
  .voxy-db-page .calc-tradein-cta {
    border-radius: 12px;
    padding: 16px;
  }

  .voxy-db-page .trust-v2-calc-wrap--featured .calc-result h5 {
    font-size: 18px;
  }

  .voxy-db-page .trust-v2-calc-wrap--featured .calc-table th,
  .voxy-db-page .trust-v2-calc-wrap--featured .calc-table td {
    padding: 12px 10px;
    font-size: 13px;
  }

  .voxy-db-page .trust-v2-calc-wrap--featured .calc-table td {
    font-size: 15px;
  }

  .voxy-db-page .trust-v2-calc-wrap--featured #nebiki_kei {
    font-size: 20px;
  }

  .voxy-db-page .calc-tradein-cta__title {
    font-size: 19px;
  }

  .voxy-db-page .calc-tradein-cta p {
    font-size: 13px;
  }

  .voxy-db-page .calc-tradein-cta__summary {
    padding: 6px 10px;
  }

  .voxy-db-page .calc-tradein-cta__summary div {
    grid-template-columns: 24px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .voxy-db-page .calc-tradein-cta__summary b {
    font-size: 13px;
    line-height: 1.35;
  }

  .voxy-db-page .calc-tradein-cta__summary strong {
    grid-column: auto;
    font-size: 17px;
    white-space: nowrap;
  }

  .voxy-db-page .calc-tradein-cta__button {
    font-size: 15px;
    min-height: 54px;
  }

  .voxy-db-page .trade-talk-balloon {
    align-items: flex-start;
    gap: 10px;
  }

  .voxy-db-page .trade-talk-avatar {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
    padding: 4px;
  }

  .voxy-db-page .trade-talk-balloon p {
    min-height: 54px;
    padding: 10px 14px;
    padding-bottom: 10px !important;
    font-size: 14px;
  }

  .voxy-db-page .trade-talk-balloon p::before {
    top: 16px;
  }

  .voxy-db-page .trade-talk-balloon p::after {
    top: 18px;
  }
}
@media (max-width:767px) { .voxy-db-page .freed-compact-evidence__list { grid-template-columns: 1fr; } .voxy-db-page .freed-compact-toc .toc-item { padding: 8px; } .voxy-db-page .freed-compact-toc .toc-title { font-size: 12px; line-height: 1.35; } .freed-akapen-overview { padding: 12px; } .freed-akapen-overview__gallery { grid-template-columns: 1fr; } .freed-akapen-overview__gallery a { grid-template-rows: 150px auto; } .freed-akapen-overview__gallery img { height: 150px; } }
