/* =========================================================
   Voxy DB page: JIN theme cancel / local base restore
   - JINテーマの本文装飾を #app 内だけ打ち消す
   - ローカルの body / :root 前提を #app に移す
   - 強い打ち消しは p と疑似要素など必要箇所に限定
   ========================================================= */


/* =========================================================
   1. ローカルの :root / body 相当を #app に移植
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app) {
  font-family: "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;
  background: #e8eef5;
  color: #1f2937;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: normal;
  margin: 0;
  padding: 0;
  min-width: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}


/* =========================================================
   2. box-sizing
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app),
:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app *),
:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app *::before),
:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app *::after) {
  box-sizing: border-box;
}


/* =========================================================
   3. 低詳細度リセット
   - 自作CSSを邪魔しないため :where() のまま
   - ここでは font-size / line-height / font-weight などは触りすぎない
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(
  #app h1,
  #app h2,
  #app h3,
  #app h4,
  #app h5,
  #app h6,
  #app p,
  #app ul,
  #app ol,
  #app li,
  #app dl,
  #app dt,
  #app dd,
  #app figure,
  #app figcaption,
  #app blockquote
) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  font-family: inherit;
  letter-spacing: normal;
}


/* =========================================================
   4. JINの .cps-post-main p 対策
   - ここはJINに勝たせるため、あえて強め
   - ただし font-size / line-height は原則触らない
   ========================================================= */

body.voxy-db-wp .cps-post-main #app p {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  letter-spacing: normal;
}


/* =========================================================
   5. JINの見出し装飾対策
   - 見出し本体の font-size / color / line-height は触らない
   - ローカルCSSの .trust-v2-hero-head h2 などを潰さない
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(
  #app h1,
  #app h2,
  #app h3,
  #app h4,
  #app h5,
  #app h6
) {
  border: 0;
  background: none;
  box-shadow: none;
}


/* JINの見出しの三角・アイコン・飾りを消す */
body.voxy-db-wp .cps-post-main #app h1::before,
body.voxy-db-wp .cps-post-main #app h1::after,
body.voxy-db-wp .cps-post-main #app h2::before,
body.voxy-db-wp .cps-post-main #app h2::after,
body.voxy-db-wp .cps-post-main #app h3::before,
body.voxy-db-wp .cps-post-main #app h3::after,
body.voxy-db-wp .cps-post-main #app h4::before,
body.voxy-db-wp .cps-post-main #app h4::after,
body.voxy-db-wp .cps-post-main #app h5::before,
body.voxy-db-wp .cps-post-main #app h5::after,
body.voxy-db-wp .cps-post-main #app h6::before,
body.voxy-db-wp .cps-post-main #app h6::after {
  content: none;
  display: none;
}


/* JINのh2-style系が親にある場合だけ、#app内のh2 paddingを消す */
body.voxy-db-wp .cps-post-main.h2-style01 #app h2,
body.voxy-db-wp .cps-post-main.h2-style02 #app h2,
body.voxy-db-wp .cps-post-main.h2-style03 #app h2,
body.voxy-db-wp .cps-post-main.h2-style04 #app h2,
body.voxy-db-wp .cps-post-main.h2-style05 #app h2,
body.voxy-db-wp .h2-style01 .cps-post-main #app h2,
body.voxy-db-wp .h2-style02 .cps-post-main #app h2,
body.voxy-db-wp .h2-style03 .cps-post-main #app h2,
body.voxy-db-wp .h2-style04 .cps-post-main #app h2,
body.voxy-db-wp .h2-style05 .cps-post-main #app h2 {
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}


/* =========================================================
   6. リスト
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app ul, #app ol) {
  list-style: none;
  list-style-type: none;
}

body.voxy-db-wp .cps-post-main #app li::before,
body.voxy-db-wp .cps-post-main #app li::after {
  content: none;
  display: none;
}


/* =========================================================
   7. リンク
   - グローバルな a 打消しは行わない（クラス単位で指定）
   ========================================================= */

/* color は強く消しすぎるとCTA等に影響するため低詳細度に留める */
:where(body.voxy-db-wp) :where(.cps-post-main) :where(
  #app a,
  #app a:link,
  #app a:visited,
  #app a:hover,
  #app a:active
) {
  color: inherit;
}


/* =========================================================
   8. strong / b / em / i
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app strong, #app b) {
  font-weight: 700;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app i, #app em) {
  font-style: normal;
}


/* =========================================================
   9. 画像・SVG
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app img) {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
  box-shadow: none;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app svg) {
  display: block;
  max-width: 100%;
}


/* =========================================================
   10. table
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app table) {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app th, #app td) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  vertical-align: middle;
  font-weight: inherit;
}


/* =========================================================
   11. form
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(
  #app button,
  #app input,
  #app select,
  #app textarea
) {
  font: inherit;
  color: inherit;
  letter-spacing: normal;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app button) {
  border: 0;
  background: none;
  cursor: pointer;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app input, #app select, #app textarea) {
  max-width: 100%;
}


/* =========================================================
   12. small
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app small) {
  font-size: inherit;
  line-height: inherit;
}


/* =========================================================
   13. WordPress / JINの余白・配置系の保険
   ========================================================= */

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app .page, #app .voxy-db-page) {
  margin: 0;
  padding: 0;
  background: transparent;
}

:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app .aligncenter),
:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app .alignleft),
:where(body.voxy-db-wp) :where(.cps-post-main) :where(#app .alignright) {
  float: none;
  margin: 0;
}
