/* Consulta MTC · Fitoterapia e Dietoterapia (本草 · 食疗) — área do assinante */

/* ---------- natureza (寒热温凉): do frio ao quente ---------- */
.lmtc .nat-fria   { --nat: #2f5f8f; --nat-bg: #e3edf7; }
.lmtc .nat-fresca { --nat: #2c7a86; --nat-bg: #e1f1f2; }
.lmtc .nat-neutra { --nat: #5b6461; --nat-bg: #eceee9; }
.lmtc .nat-morna  { --nat: #9a5a12; --nat-bg: #fbeedd; }
.lmtc .nat-quente { --nat: #a8331f; --nat-bg: #f8e1dc; }

/* ---------- seção ---------- */
.lmtc .lm-fd {
  margin-top: 30px; padding: clamp(20px, 3vw, 30px);
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.lmtc .lm-fd-head h3 { font-size: clamp(23px, 2.6vw, 30px); color: var(--jade); }
.lmtc .lm-fd-abas { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 14px; }
.lmtc .lm-fd-aba {
  border: 1px solid var(--line); background: #fff; color: var(--text); border-radius: 99px;
  padding: 8px 16px; font-size: 14px; font-weight: 500; cursor: pointer; min-height: 40px;
}
.lmtc .lm-fd-aba:hover { border-color: var(--jade-2); }
.lmtc .lm-fd-aba.ativa { background: var(--jade); border-color: var(--jade); color: #fff; }
.lmtc .lm-fd-aba:focus-visible, .lmtc .lm-fd-item:focus-visible, .lmtc .lm-fd-link:focus-visible, .lmtc .lm-fd-chip:focus-visible {
  outline: 2px solid var(--gold); outline-offset: 2px;
}
.lmtc .lm-fd-busca input {
  width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: #fff; font-size: 15px;
}
.lmtc .lm-fd-busca input:focus { outline: 2px solid var(--jade-2); outline-offset: 1px; }
.lmtc .lm-fd-alertas { border: 0; margin: 12px 0 4px; padding: 0; }
.lmtc .lm-fd-alertas legend { font-size: 13px; color: var(--muted); margin-bottom: 6px; padding: 0; }
.lmtc .lm-fd-alertas > div { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.lmtc .lm-fd-chk { font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; min-height: 32px; }
.lmtc .lm-fd-chk input { width: 17px; height: 17px; accent-color: var(--red); }
.lmtc .lm-fd-estado { font-size: 14px; color: var(--muted); margin: 14px 0 0; }
.lmtc .lm-fd-estado:empty { display: none; }

.lmtc .lm-fd-lista { margin-top: 14px; }
.lmtc .lm-fd-grupo { font-family: var(--serif); font-size: 19px; margin: 18px 0 8px; color: var(--ink-2); }
.lmtc .lm-fd-grupo small { font-family: var(--sans); font-size: 12px; color: var(--muted); font-weight: 500; }
.lmtc .lm-fd-conta { font-size: 13px; color: var(--muted); margin: 0 0 8px; }
.lmtc .lm-fd-grade { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.lmtc .lm-fd-item {
  text-align: left; display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; cursor: pointer;
  background: #fff; border: 1px solid var(--line); border-radius: 12px; color: var(--text); min-width: 0;
}
.lmtc .lm-fd-item:hover { border-color: var(--jade-2); background: var(--jade-soft); }
.lmtc .lm-fd-item strong { font-size: 15px; line-height: 1.3; }
.lmtc .lm-fd-item small { font-size: 12.5px; color: var(--muted); line-height: 1.4; overflow-wrap: anywhere; }
.lmtc .lm-fd-item.alerta { border-color: #d9a196; box-shadow: inset 4px 0 0 var(--red); }
.lmtc .lm-fd-item-pe { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
.lmtc .lm-fd-vazio { color: var(--muted); font-size: 14px; }
.lmtc .lm-fd-aviso { margin-top: 18px; }

.lmtc .lm-fd-hz { display: block; font-size: 13px; color: var(--muted); }
.lmtc .lm-fd-hz .lm-hz { font-size: 1.15em; color: var(--ink-2); }
.lmtc .lm-fd-hz em { font-style: normal; }
.lmtc .lm-fd-nat {
  display: inline-block; font-size: 11.5px; font-weight: 700; padding: 2px 9px; border-radius: 99px;
  color: var(--nat, var(--muted)); background: var(--nat-bg, var(--paper)); border: 1px solid currentColor; text-transform: capitalize;
}
.lmtc .lm-fd-selos { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.lmtc .lm-fd-selo {
  font-size: 11.5px; padding: 2px 8px; border-radius: 99px; color: #7a2a1c; background: var(--red-soft); border: 1px solid #e3b5ab;
}
.lmtc .lm-fd-selo.ligado { background: var(--red); color: #fff; border-color: var(--red); font-weight: 700; }

/* ---------- botão no verso da síndrome ---------- */
.lmtc .lm-fd-btn { margin-top: 14px; }
.lmtc .lm-fd-btn .lm-hz { margin-right: 4px; }

/* ---------- janela da ficha ---------- */
html.lm-fd-trava, html.lm-fd-trava body { overflow: hidden; }
.lmtc .lm-fd-modal .lm-modal-fundo { cursor: pointer; }
.lmtc .lm-fd-caixa {
  position: relative; width: min(860px, 100%); max-height: calc(100vh - 36px); display: flex; flex-direction: column;
  background: var(--paper); border-radius: var(--radius); box-shadow: 0 30px 80px rgba(0, 0, 0, .45); overflow: hidden;
}
.lmtc .lm-fd-caixa-topo {
  display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--card); border-bottom: 1px solid var(--line);
}
.lmtc .lm-fd-caixa-tipo { flex: 1; font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.lmtc .lm-fd-modal .lm-modal-x { color: var(--muted); }
.lmtc .lm-fd-modal .lm-modal-x:hover { color: var(--text); }
.lmtc .lm-fd-caixa-corpo { overflow-y: auto; padding: clamp(18px, 3vw, 30px); outline: none; }
.lmtc .lm-fd-caixa-corpo h2 { font-size: clamp(25px, 3.2vw, 34px); color: var(--ink-2); margin: 4px 0 6px; }
.lmtc .lm-fd-caixa-corpo h4 { font-family: var(--serif); font-size: 18px; margin: 18px 0 8px; color: var(--ink-2); }
.lmtc .lm-fd-caixa-corpo p { font-size: 15px; }
.lmtc .lm-fd-caixa-corpo .lm-fd-hz { font-size: 15px; margin-bottom: 8px; }
.lmtc .lm-fd-dl { margin-top: 12px; }
.lmtc .lm-fd-indice { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 6px; }
.lmtc .lm-fd-indice a {
  font-size: 13.5px; text-decoration: none; padding: 6px 12px; border-radius: 99px;
  background: var(--card); border: 1px solid var(--line); color: var(--jade);
}
.lmtc .lm-fd-sec { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); scroll-margin-top: 10px; }
.lmtc .lm-fd-sec > h3 { font-size: 23px; color: var(--jade); }
.lmtc .lm-fd-sec > h3 .lm-hz { font-size: .8em; color: var(--gold); margin-right: 4px; }
.lmtc .lm-fd-formula, .lmtc .lm-fd-planta, .lmtc .lm-fd-cha {
  background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-top: 12px;
}
.lmtc .lm-fd-formula.alerta, .lmtc .lm-fd-planta.alerta { box-shadow: inset 4px 0 0 var(--red); border-color: #d9a196; }
.lmtc .lm-fd-formula h4, .lmtc .lm-fd-planta h4 { margin: 0 0 4px; font-size: 19px; }
.lmtc .lm-fd-plantas, .lmtc .lm-fd-chas { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.lmtc .lm-fd-papel { font-size: 12.5px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--gold); font-weight: 700; margin: 2px 0; }
.lmtc .lm-fd-cha p { margin: 6px 0 0; font-size: 14px !important; }
.lmtc .lm-fd-link {
  background: none; border: 0; padding: 0; font: inherit; color: var(--jade); text-decoration: underline;
  text-decoration-color: rgba(31, 92, 79, .35); text-underline-offset: 3px; cursor: pointer; text-align: left;
}
.lmtc .lm-fd-link:hover { text-decoration-color: currentColor; }
.lmtc .lm-fd-tab { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14px; }
.lmtc .lm-fd-tab th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); padding: 6px 8px; border-bottom: 1px solid var(--line); }
.lmtc .lm-fd-tab td { padding: 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.lmtc .lm-fd-tab td .lm-fd-hz { display: inline; font-size: 12.5px; }
.lmtc .lm-fd-obs { display: block; font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.lmtc .lm-fd-alt { margin-top: 12px; }
.lmtc .lm-fd-principio { font-family: var(--serif); font-size: 19px !important; color: var(--ink-2); }
.lmtc .lm-fd-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.lmtc .lm-fd-chip {
  font-size: 13.5px; padding: 6px 12px; border-radius: 99px; cursor: pointer; min-height: 34px;
  color: var(--nat, var(--text)); background: var(--nat-bg, #fff); border: 1px solid currentColor;
}
.lmtc .lm-fd-evitar { padding-left: 20px; }
.lmtc .lm-fd-evitar li { margin: 4px 0; font-size: 14.5px; }
.lmtc .lm-fd-cient { color: var(--muted); }
/* Os rótulos da ficha são longos (CONTRAINDICAÇÕES, MODIFICAÇÕES): a coluna de 86px
   do app.css não comporta. Na ficha, rótulo numa coluna mais larga; em cartão
   estreito e no celular, rótulo em cima do texto. */
.lmtc .lm-fd-caixa .lm-dl div { grid-template-columns: 150px 1fr; }
.lmtc .lm-fd-caixa .lm-dl dd { font-size: 14.5px; line-height: 1.5; }
.lmtc .lm-fd-planta .lm-dl div { grid-template-columns: 1fr; gap: 2px; }
@media (max-width: 600px) {
  .lmtc .lm-fd-caixa .lm-dl div { grid-template-columns: 1fr; gap: 2px; }
}
.lmtc .lm-fd-eq, .lmtc .lm-fd-escola {
  display: inline-block; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 99px;
  background: #fbf3e2; color: #6b5210; border: 1px solid #d9c28e; cursor: help;
}
.lmtc .lm-fd-eq-nota { display: block; font-size: 12px; color: var(--muted); margin-top: 4px; }
.lmtc .lm-fd-nota { background: #fbf3e2; border-left: 3px solid var(--gold); padding: 10px 12px; border-radius: 8px; font-size: 14px !important; }

@media (max-width: 600px) {
  .lmtc .lm-fd-modal { padding: 0; align-items: stretch; }
  .lmtc .lm-fd-caixa { max-height: 100vh; height: 100%; border-radius: 0; }
  .lmtc .lm-fd-grade { grid-template-columns: 1fr; }
  .lmtc .lm-fd-tab th:last-child, .lmtc .lm-fd-tab td:last-child { white-space: nowrap; }
}
