.tms-fit-box { width: 100%; flex-basis: 100%; margin: 22px 0 10px; padding: 24px; border: 1px solid #dfe3e8; border-radius: 16px; background: #f8f9fa; }
.tms-fit-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; margin-bottom: 18px; }
.tms-fit-heading h3 { margin: 4px 0 0; font-size: 1.2rem; }
.tms-fit-heading a { color: #0c2340; font-size: .82rem; font-weight: 800; border-bottom: 1px solid #9ba7b5; white-space: nowrap; }
.tms-eyebrow { color: #b5172b; font-size: .68rem; line-height: 1; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.tms-fit-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tms-fit-option { cursor: pointer; display: flex; gap: 12px; align-items: start; padding: 16px; border: 1px solid #d8dde3; border-radius: 12px; background: #fff; transition: .18s ease; }
.tms-fit-option.is-selected { border-color: #0c2340; box-shadow: inset 0 0 0 1px #0c2340; }
.tms-fit-option input { margin-top: 5px; accent-color: #0c2340; }
.tms-fit-option span { display: flex; flex-direction: column; }
.tms-fit-option strong { color: #0c2340; }
.tms-fit-option small { color: #657080; margin-top: 3px; }
.tms-standard-size { margin-top: 15px; display: flex; flex-direction: column; gap: 6px; color: #233044; font-size: .82rem; font-weight: 750; }
.tms-standard-size select { width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid #cdd3da; border-radius: 9px; background: #fff; }
.tms-measurements { margin-top: 20px; padding-top: 20px; border-top: 1px solid #dfe3e8; }
.tms-measurement-intro { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 15px; color: #657080; font-size: .85rem; }
.tms-measurement-intro strong { color: #0c2340; }
.tms-measurement-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.tms-measurement-grid label, .tms-notes-field { display: flex; flex-direction: column; gap: 6px; color: #233044; font-size: .82rem; font-weight: 750; }
.tms-input-wrap { position: relative; display: block; }
.tms-input-wrap input { width: 100%; min-height: 44px; padding: 8px 54px 8px 12px; border: 1px solid #cdd3da; border-radius: 9px; background: #fff; }
.tms-input-wrap small { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #7a8490; font-weight: 600; }
.tms-notes-field { margin-top: 14px; }
.tms-notes-field textarea { width: 100%; padding: 10px 12px; border: 1px solid #cdd3da; border-radius: 9px; background: #fff; }
.tms-lead-note { margin: 12px 0 0; padding: 11px 13px; border-left: 3px solid #b5172b; background: #fff; color: #657080; font-size: .8rem; }
.tms-cart-badge { display: inline-flex; margin-left: 8px; padding: 3px 7px; border-radius: 999px; background: #0c2340; color: #fff; font-size: .65rem; font-weight: 800; vertical-align: middle; }
.tms-contact-wrap { margin: 28px 0; }
.tms-contact-form { padding: 24px; border: 1px solid #dfe3e8; border-radius: 16px; background: #f8f9fa; }
.tms-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.tms-contact-form label { display: flex; flex-direction: column; gap: 6px; margin-bottom: 15px; color: #233044; font-weight: 750; font-size: .86rem; }
.tms-contact-form input, .tms-contact-form select, .tms-contact-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cdd3da; border-radius: 9px; background: #fff; }
.tms-contact-form textarea { min-height: 150px; }
.tms-contact-form button { min-height: 48px; padding: 0 24px; border: 0; border-radius: 999px; background: #0c2340; color: #fff; font-weight: 850; }
.tms-form-notice { padding: 13px 15px; margin-bottom: 15px; border-radius: 10px; }
.tms-form-notice.success { background: #eaf6ed; color: #185b2a; }
.tms-form-notice.error { background: #fbeaec; color: #8c1524; }
.tms-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 640px) {
  .tms-fit-options, .tms-measurement-grid, .tms-form-grid { grid-template-columns: 1fr; }
  .tms-fit-heading, .tms-measurement-intro { display: block; }
  .tms-fit-heading a { display: inline-block; margin-top: 8px; }
}
