.tc-bd{padding:var(--tc-bd-pt,20px) 32px var(--tc-bd-pb,22px);background:transparent;width:100%}
.tc-bd__h{text-align:center;margin-bottom:16px}
.tc-bd__cap{font-size:9.5px;letter-spacing:.26em;color:#1D5FA8;font-weight:700}
.tc-bd__h h2{font-size:19px;color:#17325C;margin:8px 0 0;letter-spacing:-.02em;line-height:1.25}
.tc-bd__h p{font-size:11.5px;color:#8195A8;margin:6px 0 0}
.tc-bd__grid{display:grid;grid-template-columns:.88fr 1.18fr 1.02fr;gap:10px;align-items:center;max-width:840px;margin:0 auto}
.tc-bd__card{background:#fff;border:1.2px solid #DEE9F2;border-radius:13px;text-align:center;position:relative}
.tc-bd__card--sm{padding:13px 11px 12px}
.tc-bd__card--md{padding:15px 12px 14px}
.tc-bd__card--lg{padding:19px 15px 17px;border:1.8px solid #17325C;box-shadow:0 12px 32px rgba(23,50,92,.17),0 2px 6px rgba(23,50,92,.07);background:linear-gradient(172deg,#fff 0%,#F5FAFF 100%)}
.tc-bd__flag{position:absolute;top:-10px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8.5px;font-weight:700;letter-spacing:.1em;padding:4px 11px;border-radius:20px;background:#9FB3C6;color:#fff}
.tc-bd__flag--hero{font-size:9px;padding:4px 13px;background:linear-gradient(90deg,#17325C,#1D5FA8);box-shadow:0 3px 9px rgba(23,50,92,.3)}
.tc-bd__bots{display:flex;justify-content:center;align-items:flex-end;margin-bottom:9px}
.tc-bd__card--sm .tc-bd__bots{height:40px}
.tc-bd__card--md .tc-bd__bots{height:48px}
.tc-bd__card--lg .tc-bd__bots{height:58px}
.tc-bd__bots img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(23,50,92,.15))}
.tc-bd__qty{font-weight:700;color:#17325C}
.tc-bd__card--sm .tc-bd__qty{font-size:12.5px}
.tc-bd__card--md .tc-bd__qty{font-size:13.5px}
.tc-bd__card--lg .tc-bd__qty{font-size:15px}
.tc-bd__sub{color:#A3B4C4;margin:3px 0 9px}
.tc-bd__card--sm .tc-bd__sub{font-size:9px}
.tc-bd__card--md .tc-bd__sub{font-size:9.5px}
.tc-bd__card--lg .tc-bd__sub{font-size:10.5px}
.tc-bd__price{display:flex;align-items:baseline;justify-content:center;gap:6px}
.tc-bd__price b{color:#111;letter-spacing:-.025em}
.tc-bd__card--sm .tc-bd__price b{font-size:16px}
.tc-bd__card--md .tc-bd__price b{font-size:17px}
.tc-bd__card--lg .tc-bd__price b{font-size:32px;color:#17325C}
.tc-bd__price s{color:#AFBCC8;font-size:11px}
.tc-bd__save{display:inline-block;font-weight:700;color:#1D5FA8;background:#E6F1FB;border-radius:20px;margin:7px 0 8px}
.tc-bd__card--sm .tc-bd__save{font-size:9px;padding:2px 8px}
.tc-bd__card--md .tc-bd__save{font-size:9.5px;padding:2px 9px}
.tc-bd__card--lg .tc-bd__save{font-size:8.5px;padding:2px 9px;background:#17325C;color:#fff}
.tc-bd__unit{color:#93A9BE;margin-bottom:11px;font-size:9.5px}
.tc-bd__card--lg .tc-bd__unit{font-size:10.5px;color:#4A5A68;font-weight:600}

.tc-bd__btn{display:block;width:100%;border-radius:24px;font-weight:700;letter-spacing:.07em;cursor:pointer;text-decoration:none;transition:.18s;font-family:inherit;text-align:center}
.tc-bd__btn--line{background:#fff;color:#17325C;border:1.3px solid #C6D8E7;padding:9px}
.tc-bd__btn--line:hover{background:#17325C;color:#fff;border-color:#17325C}
.tc-bd__btn--solid{background:#17325C;color:#fff;border:1.3px solid #17325C;padding:11px;font-size:11.5px;box-shadow:0 4px 13px rgba(23,50,92,.25)}
.tc-bd__btn--solid:hover{background:#0A5EA3;border-color:#0A5EA3}
.tc-bd__card--sm .tc-bd__btn{font-size:9.5px}
.tc-bd__card--md .tc-bd__btn{font-size:10.5px}
.tc-bd__foot{text-align:center;margin-top:12px;font-size:10px;color:#93A9BE}

.tc-bd__btn.is-loading{opacity:.6;cursor:wait}
.tc-bd__form{margin:0}

@media screen and (max-width:959px){
  .tc-bd{padding:14px 7px 16px !important}
  .tc-bd__h{margin-bottom:11px}
  .tc-bd__h h2{font-size:16px}
  .tc-bd__h p{font-size:10.5px;margin-top:4px}
  /* 横向三列，和桌面端一致：左1件 · 中3件(最大) · 右2件 */
  /* fr 的最小值默认是 min-content，内容一撑就把列撑破、整页横向溢出。
     必须写成 minmax(0,·) 才允许列收缩到比内容更窄。 */
  .tc-bd__grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.2fr) minmax(0,.98fr);gap:6px;max-width:100%;align-items:center}
  .tc-bd__card{min-width:0;overflow:hidden}
  .tc-bd__price{flex-wrap:wrap;justify-content:center}
  .tc-bd__qty,.tc-bd__sub,.tc-bd__unit,.tc-bd__save{word-break:break-word}
  .tc-bd__card{border-radius:9px}
  .tc-bd__card--sm{padding:9px 5px 9px}
  .tc-bd__card--md{padding:10px 6px 10px}
  .tc-bd__card--lg{padding:14px 7px 13px;border-width:1.4px;box-shadow:0 6px 18px rgba(23,50,92,.15)}
  .tc-bd__bots{height:26px;margin-bottom:5px}
  .tc-bd__card--lg .tc-bd__bots{height:32px;margin-bottom:6px}
  .tc-bd__qty{font-size:10px;line-height:1.2}
  .tc-bd__card--lg .tc-bd__qty{font-size:11.5px}
  .tc-bd__sub{font-size:7.5px;margin:2px 0 5px;line-height:1.25}
  .tc-bd__price{gap:3px;flex-wrap:wrap}
  .tc-bd__card--sm .tc-bd__price b{font-size:13px}
  .tc-bd__card--md .tc-bd__price b{font-size:14px}
  .tc-bd__card--lg .tc-bd__price b{font-size:21px}
  .tc-bd__price del,.tc-bd__price s{font-size:8.5px}
  .tc-bd__save{margin:4px 0 4px;font-size:7.5px;padding:2px 5px;letter-spacing:0}
  .tc-bd__unit{font-size:7.5px;margin-bottom:6px;line-height:1.25}
  .tc-bd__btn,.tc-bd__btn--solid,.tc-bd__btn--line{padding:7px 3px !important;font-size:8.5px !important;letter-spacing:.02em !important;border-radius:6px}
  .tc-bd__flag,.tc-bd__flag--hero{font-size:7px;padding:2px 6px;letter-spacing:.02em}
  .tc-bd__foot{margin-top:10px;font-size:8.5px}
}
