/* LINE 官方帳號月費試算（kit.css 之上只加版面）。不用 LINE 綠、不仿 LINE 按鈕（LINE 商標規範） */
:root { --accent-soft: #dcecf0; }
.lf-top { padding-bottom: 4px; }
.lf-grid { max-width: 1080px; margin: 0 auto; }
.lf-form { padding-top: 8px; }
.lf-out { padding-top: 0; }
.lf-free { font-size: .88rem; color: var(--ink-soft); margin-top: 6px; }
.lf-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 6px; padding: 0 0 12px; border-bottom: 1px solid var(--line); }
.lf-facts div { min-width: 0; }
.lf-facts dt { font-size: .78rem; color: var(--ink-soft); letter-spacing: .05em; }
.lf-facts dd { margin: 2px 0 0; font: 700 1rem/1.3 var(--font-head); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.lf-reach { width: 100%; border-collapse: collapse; margin: 16px 0 4px; font-size: .9rem; font-variant-numeric: tabular-nums; }
.lf-reach caption { text-align: left; font-weight: 700; padding-bottom: 6px; }
.lf-reach th, .lf-reach td { padding: 8px 6px; border-bottom: 1px solid var(--line); text-align: left; }
.lf-reach th { font-size: .8rem; color: var(--ink-soft); font-weight: 600; }
.lf-reach tr.on td { background: var(--accent-soft); font-weight: 700; }
.lf-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.lf-disclaim { font-size: .84rem; color: var(--ink-soft); margin-top: 18px; }
.lf-stamp { font-size: .78rem; color: #555; margin-top: 14px; }
@media (min-width: 960px) {
  .lf-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 24px; align-items: start; padding: 0 16px; }
  .lf-grid > .kit-wrap { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
  .lf-out { position: sticky; top: 76px; padding-top: 8px; }
}
@media print {
  .lf-grid { display: block; }
  .lf-out { position: static; }
  @page { size: A4; margin: 16mm; }
}
.lf-next { font-size: .9rem; color: var(--ink-soft); margin: 14px 0 0; }
.lf-next a { color: var(--accent); }
