/* FFC article parts (site-wide). Source: work/_tools/article_parts/parts.py, catalogue: docs/ARTICLE_PARTS.md.
   Loaded on singular pages whose content uses an FFC tool shortcode (common/article-parts.php).
   2026-09-18: the Exness margin article (7893) no longer carries its own copies; older articles may, and those copies win until removed. */

/* ---- cards: grid/single, key-value rows, check-list, spec (label above value), calculation ---- */
.ffc-cards {
  display: grid;
  gap: 12px;
  margin: 1.75em 0;
}
.ffc-cards, .ffc-cards * {
  box-sizing: border-box;
}
.ffc-cards > .ffc-card {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #dce3eb;
  border-radius: 8px;
  background: #fff;
  color: #253247;
  line-height: 1.6;
}
.ffc-card > .ffc-card__name {
  margin: 0 0 8px;
  color: #253247;
  font-size: 1.05rem;
  font-weight: 700;
}
.ffc-card > .ffc-card__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 3px 0;
  color: #4b586b;
  font-size: 0.95rem;
}
.ffc-card > .ffc-card__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 8px 0 0;
  padding: 8px 0 0;
  border-top: 1px solid #dce3eb;
  color: #253247;
  font-size: 1rem;
  font-weight: 700;
}
.ffc-card__row > .ffc-card__value,
.ffc-card__total > .ffc-card__value {
  flex: 0 0 auto;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.ffc-cards--single > .ffc-card {
  background: #f4f7fb;
}
@media (min-width: 600px) {
  .ffc-cards--grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* --- phones: same text size as the body --- */
@media screen and (max-width: 600px) {
  .ffc-card > .ffc-card__name,
  .ffc-card > .ffc-card__row,
  .ffc-card > .ffc-card__total {
    font-size: clamp(17px, 4.4vw, 18px);
  }
}

/* margin article: check-list, spec (label above value) and calculation cards */
.ffc-cards > .ffc-card { padding: 20px 16px; }
.ffc-card > .ffc-card__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ffc-card > .ffc-card__list > li { position: relative; list-style: none; margin: 0 !important; padding: 3px 0 3px 32px !important; color: #4b586b; font-size: 0.95rem; line-height: 1.6; }
.ffc-card > .ffc-card__list > li::before { content: ""; position: absolute; left: 0; font-size: inherit; line-height: 1.6; top: calc(3px + (1.6em - 20px) / 2); width: 20px; height: 20px; border-radius: 50%; background: #6e91e5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.4l3 3 6-6.6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat; box-shadow: 0 1px 2px rgba(110, 145, 229, 0.3); }
.ffc-card--diff > .ffc-card__list > li::before { background: #acbde5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8h8M6 12h8M12.2 5.3l-4.4 9.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat; box-shadow: 0 1px 2px rgba(172, 189, 229, 0.35); }
.ffc-card > .ffc-card__spec { margin: 0; padding: 6px 0; border-top: 1px solid #edf1f5; font-size: 0.95rem; line-height: 1.6; }
.ffc-card > .ffc-card__spec:first-of-type { border-top: 0; }
.ffc-card > .ffc-card__spec > dt { font-size: 14.5px; font-weight: 400; color: #7b8798; margin: 0 0 1px; padding: 0; }
.ffc-card > .ffc-card__spec > dd { margin: 0; padding: 0; color: #253247; }
.ffc-mode { display: inline-block; font-size: 14px; font-weight: 600; line-height: 1.5; padding: 1px 8px; border-radius: 4px; }
.ffc-mode--account { background: #e6f4ef; color: #087f5b; }
.ffc-mode--fixed { background: #fdf1e2; color: #874a0e; }
.ffc-card > .ffc-calc__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 4px 0; color: #4b586b; font-size: 0.95rem; line-height: 1.6; }
.ffc-card > .ffc-calc__row > b { flex: 0 0 auto; text-align: right; font-variant-numeric: tabular-nums; color: #253247; font-weight: 600; }
.ffc-card > .ffc-calc__row.is-total { margin-top: 8px; padding-top: 10px; border-top: 1px solid #dce3eb; color: #253247; font-weight: 700; }
.ffc-card > .ffc-calc__row.is-total > b { font-size: 1.25em; color: #123d65; }
.ffc-card > .ffc-calc__sub { margin: 10px 0 2px; padding: 0; font-size: 13px; color: #7b8798; }
@media screen and (max-width: 600px) {
  .ffc-card > .ffc-card__list > li, .ffc-card > .ffc-card__spec, .ffc-card > .ffc-calc__row { font-size: clamp(17px, 4.4vw, 18px); }
  .ffc-card > .ffc-card__spec > dt { font-size: 14.5px; }
  .ffc-card > .ffc-calc__sub { font-size: 13px; }
}
.post_content .ffc-cards { margin: 1.75em 0; }

/* ---- article lists (:where(.wp-block-list)): <strong>Label</strong> as the first line; compact on phones ---- */
.post_content :is(ul, ol):where(.wp-block-list) > li > strong:first-child { display: block; font-size: 1em; color: #0f2b46; margin-bottom: 0.15em; }
.post_content :is(ul, ol):where(.wp-block-list) > li > strong:first-child + br { display: none; }
@media screen and (max-width: 599px) {
  .post_content :is(ul, ol):where(.wp-block-list) { margin: 2em 0; }
  .post_content ul:where(.wp-block-list) { padding-left: 1.2em !important; }
  .post_content ol:where(.wp-block-list) { padding-left: 1.5em !important; }
  .post_content :is(ul, ol):where(.wp-block-list) > li { margin-bottom: 1em; line-height: 1.6; }
  .post_content ul:where(.wp-block-list) > li { list-style-type: none; position: relative; }
  .post_content ul:where(.wp-block-list) > li::before { content: ""; position: absolute; left: -1em; top: 0.6em; width: 5px; height: 5px; border-radius: 50%; background-color: #0f2b46; }
  .post_content :is(ul, ol):where(.wp-block-list) > li > strong:first-child { margin-bottom: 0.3em; border-bottom: 1px dashed #ccc; padding-bottom: 0.2em; }
}

/* ---- tables: light style, 16px (header and body), outer frame, horizontal rules inside; --num right-aligns the value columns ---- */
.post_content .wp-block-table.ffc-tbl table { border-collapse: collapse; font-size: 16px; }
.post_content .wp-block-table.ffc-tbl th, .post_content .wp-block-table.ffc-tbl td { border: 0; border-bottom: 1px solid #e3e8ee; padding: 9px 8px; text-align: left; vertical-align: top; background: transparent; line-height: 1.45; word-break: normal; overflow-wrap: normal; hyphens: manual; }
.post_content .wp-block-table.ffc-tbl thead th { font-size: inherit; font-weight: 600; color: #7b8798; background: #f4f7fb; border-bottom: 1px solid #dce3eb; }
.post_content .wp-block-table.ffc-tbl tbody th { font-weight: 700; color: #253247; }
.post_content .wp-block-table.ffc-tbl--num td, .post_content .wp-block-table.ffc-tbl--num thead th:not(:first-child) { text-align: right; }
.post_content .wp-block-table.ffc-tbl--num td { white-space: nowrap; font-variant-numeric: tabular-nums; color: #123d65; font-weight: 600; }
.post_content .ffc-tbl-sub { display: block; font-size: 13px; font-weight: 400; color: #7b8798; line-height: 1.35; }
.post_content .ffc-tbl-sub--account { color: #087f5b; }
.post_content .ffc-tbl-sub--fixed { color: #874a0e; }
.post_content .wp-block-table.ffc-tbl { border: 1px solid #dce3eb; }
.post_content .wp-block-table.ffc-tbl table { width: 100%; margin: 0; }
.post_content .wp-block-table.ffc-tbl tbody tr:last-child th, .post_content .wp-block-table.ffc-tbl tbody tr:last-child td { border-bottom: 0; }
@media screen and (max-width: 600px) {
  .post_content .wp-block-table.ffc-tbl th, .post_content .wp-block-table.ffc-tbl td { padding: 0.8em 6px !important; }
}

/* Step list (ffc-steps) */
.post_content ol.ffc-steps { list-style: none !important; counter-reset: ffc-step; margin: 2em 0 !important; padding: 0 !important; }
.post_content ol.ffc-steps > li { position: relative; counter-increment: ffc-step; list-style: none; margin: 0 !important; padding: 4px 0 22px 50px !important; line-height: 1.6; }
.post_content ol.ffc-steps > li:last-child { padding-bottom: 0 !important; }
.post_content ol.ffc-steps > li::before { content: counter(ffc-step); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: #6e91e5; color: #fff; font: 700 16px/34px sans-serif; text-align: center; box-shadow: 0 2px 4px rgba(110, 145, 229, 0.35); }
.post_content ol.ffc-steps > li:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 38px; bottom: 4px; width: 2px; border-radius: 1px; background: #d7e1f7; }
.post_content ol.ffc-steps em { font-style: normal; font-weight: 600; color: #2d4f9e; background: #eef3fc; padding: 1px 6px; border-radius: 4px; white-space: nowrap; }

/* ---- hub links: compact tiles, two across from 600px. A blog card per link is about three times the height ---- */
.post_content .ffc-links { display: grid; gap: 10px; margin: 1.75em 0; }
.post_content .ffc-links, .post_content .ffc-links * { box-sizing: border-box; }
.post_content .ffc-links a.ffc-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid #dce3eb; border-radius: 8px; background: #fff; color: #253247 !important; text-decoration: none !important; line-height: 1.4; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.post_content .ffc-links a.ffc-link:hover { border-color: #6e91e5; box-shadow: 0 2px 8px rgba(110, 145, 229, 0.18); }
.post_content .ffc-link__body { min-width: 0; }
.post_content .ffc-link__ttl { display: block; font-weight: 700; font-size: 16px; }
.post_content .ffc-link__sub { display: block; font-size: 13px; color: #7b8798; margin-top: 2px; }
.post_content .ffc-link__arrow { margin-left: auto; flex-shrink: 0; color: #6e91e5; font-size: 22px; line-height: 1; }
@media screen and (min-width: 600px) {
  .post_content .ffc-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
