/* 计算器仅使用主题现有字体、色彩变量；保留普通页面和商品样式。 */
body.ts-page-pendant-light-calculator .page-hero { padding-bottom: 34px; }
body.ts-page-pendant-light-calculator .page-body > .intro { max-width: 780px; margin: 0 0 30px; }
.tpc-answer { border-block: 1px solid var(--line); padding: 22px 0; margin-bottom: 42px; max-width: 900px; }
.tpc-answer p { margin: 0; line-height: 1.8; }
.tpc-tool { margin: 0 0 72px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); border: 1px solid var(--line); }
.tpc-form { padding: clamp(22px, 3vw, 42px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; align-content: start; }
.tpc-form [data-field], .tpc-form label { min-width: 0; }
.tpc-form label { display: block; margin-bottom: 9px; font-size: 14px; line-height: 1.5; }
.tpc-form [data-field="type"], .tpc-form button { grid-column: 1 / -1; }
.tpc-form input, .tpc-form select { box-sizing: border-box; display: block; width: 100%; min-height: 52px; border: 1px solid var(--line); border-radius: 0; padding: 12px; font: inherit; font-size: 17px; color: inherit; background: transparent; }
.tpc-form select { padding-right: 30px; }
.tpc-form button, .tpc-results button { min-height: 52px; font: inherit; cursor: pointer; }
.tpc-tool :is(input, select, button, a):focus-visible { outline: 2px solid var(--accent, #a84523); outline-offset: 4px; }
.tpc-results { min-width: 0; border-left: 1px solid var(--line); padding: clamp(22px, 3vw, 42px); background: rgba(255,255,255,.22); display: flex; flex-direction: column; align-items: flex-start; }
.tpc-results [data-result] { width: 100%; }
.tpc-results p { line-height: 1.75; margin: 0 0 20px; }
.tpc-results .tpc-height { font-size: clamp(23px, 2vw, 30px); line-height: 1.45; letter-spacing: -.025em; }
.tpc-recommended { display: block; width: fit-content; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.tpc-results h2 { font-size: 18px; margin: 16px 0; }
.tpc-products { display: grid; gap: 14px; margin-bottom: 30px; }
.tpc-products a { text-underline-offset: 4px; }
.tpc-results .tpc-disclaimer { font-size: 13px; margin-top: 24px; color: var(--muted); }
.tpc-copied { box-shadow: inset 0 0 0 2px currentColor; }
.tpc-faq { max-width: 820px; margin-bottom: 70px; }
.tpc-faq > h2 { margin-bottom: 28px; }
.tpc-faq section { padding: 23px 0; border-top: 1px solid var(--line); }
.tpc-faq h3 { font-size: 20px; margin: 0 0 12px; }
.tpc-faq p { line-height: 1.8; margin: 0; }
.tpc-inline-link { font-size: 15px; line-height: 1.7; }
.tpc-inline-link a { text-decoration: underline; text-underline-offset: 4px; }
.tpc-tool [hidden] { display: none !important; }
@media (max-width: 760px) {
  .tpc-tool { grid-template-columns: minmax(0,1fr); }
  .tpc-form { grid-template-columns: minmax(0,1fr); padding: 22px; gap: 21px; }
  .tpc-form [data-field], .tpc-form button { grid-column: 1; }
  .tpc-results { border-left: 0; border-top: 1px solid var(--line); padding: 24px 22px; }
  .tpc-results [data-share] { width: 100%; padding-inline: 12px; }
}
