/* 个人中心 P2 — the product page's size finder (tucktrail-pdp-fit.php / .js).
   Sits under the size control, inside the add-to-cart form. Mobile first. */
.tt-fit { margin: 6px 0 14px; min-width: 0; }
.tt-fit[hidden] { display: none; }
.tt-fit__bar { display: grid; gap: 6px; }
.tt-fit__open {
  justify-self: start; min-height: 40px; padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: 14px; font-weight: 600; color: var(--tt-pine, #2F4536);
  text-decoration: underline; text-underline-offset: 3px;
}
.tt-fit__result { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--tt-ink, #292723); overflow-wrap: anywhere; }
.tt-fit__result:empty { display: none; }
.tt-fit__result[data-status="fit"],
.tt-fit__result[data-status="between"] { color: var(--tt-pine, #2F4536); font-weight: 600; }
.tt-fit__result[data-status="too_big"],
.tt-fit__result[data-status="too_small"] { color: #7c2a2a; }
.tt-fit__panel {
  margin: 8px 0 0; padding: 14px; border-radius: 14px; background: #fff; border: 1px solid var(--tt-line, #E3DCCF);
  display: grid; gap: 12px; min-width: 0;
}
.tt-fit__panel[hidden] { display: none; }
.tt-fit__pets { display: flex; flex-wrap: wrap; gap: 8px; }
.tt-fit__pets[hidden] { display: none; }
.tt-fit__pet {
  min-height: 36px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--tt-line-strong, #847A68);
  background: #fff; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--tt-ink, #292723); cursor: pointer;
}
.tt-fit__pet[aria-pressed="true"] { background: var(--tt-pine, #2F4536); border-color: var(--tt-pine, #2F4536); color: var(--tt-cream, #F8F4ED); }
.tt-fit__units { display: inline-flex; justify-self: start; border: 1px solid var(--tt-line-strong, #847A68); border-radius: 999px; overflow: hidden; }
.tt-fit__units button {
  min-height: 36px; padding: 6px 14px; border: 0; background: #fff; font: inherit; font-size: 13px; font-weight: 600;
  color: var(--tt-ink, #292723); cursor: pointer;
}
.tt-fit__units button[aria-pressed="true"] { background: var(--tt-pine, #2F4536); color: var(--tt-cream, #F8F4ED); }
.tt-fit__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
/* Hints run to different lengths; each box sits at the foot of its cell so a row's inputs line up. */
.tt-fit__field { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 13px; font-weight: 600; color: var(--tt-ink, #292723); }
.tt-fit__field input { margin-top: auto; }
.tt-fit__field em { font-style: normal; font-weight: 400; color: var(--tt-muted, #6B6A63); }
.tt-fit__field small { font-size: 12px; font-weight: 400; line-height: 1.35; color: var(--tt-muted, #6B6A63); }
.tt-fit__field input {
  width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; font: inherit; font-weight: 400; font-size: 16px;
  border: 1px solid var(--tt-line-strong, #847A68); border-radius: 8px; background: #fff; color: var(--tt-ink, #292723);
}
.tt-fit__field input:focus { outline: 2px solid var(--tt-pine, #2F4536); outline-offset: 1px; border-color: var(--tt-pine, #2F4536); }
.tt-fit__error { margin: 0; padding: 8px 10px; border-radius: 8px; background: rgba(198,40,40,.08); color: #8f2626; font-size: 13.5px; line-height: 1.45; }
.tt-fit__error[hidden] { display: none; }
.tt-fit__actions { display: grid; gap: 6px; }
.tt-fit__go {
  min-height: 44px; padding: 10px 20px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--tt-pine, #2F4536); color: var(--tt-cream, #F8F4ED); font: inherit; font-weight: 600; font-size: 15px;
}
.tt-fit__actions small { font-size: 12px; color: var(--tt-muted, #6B6A63); }
@media (min-width: 560px) { .tt-fit__go { justify-self: start; } }
