/*! 第26批：共用账号布局和紧凑节奏。仅作用于展示，不介入支付或库存行为。 */
.bt-account-shell {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.bt-account-shell:not(:has(.bt-account-nav)) {
  grid-template-columns: minmax(0, 1fr);
}
.bt-account-content {
  min-width: 0;
}
.bt-account-nav {
  border: 1px solid #d7e2ed;
  border-radius: 10px;
  padding: 20px;
  background: #fff;
}
.bt-account-nav h2 {
  margin: 0 0 12px;
  font-size: 19px;
}
.bt-account-nav nav {
  display: grid;
  gap: 4px;
}
.bt-account-nav a {
  display: block;
  padding: 8px;
  border-radius: 5px;
  color: #225d9b;
}
.bt-account-nav a[aria-current] {
  background: #edf5ff;
  font-weight: 600;
}
.bt-account-content h1 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 30px;
}
.bt-account-content .mb-10,
.bt-account-content .mb-8 {
  margin-bottom: 20px;
}
.bt-account-content .p-8,
.bt-account-content .p-7 {
  padding: 20px;
}
.bt-account-content .mt-8,
.bt-account-content .mt-6 {
  margin-top: 18px;
}
.bt-account-content .space-y-6 > * + * {
  margin-top: 16px;
}
.bt-account-content .gap-8 {
  gap: 20px;
}
.bt-address-edit {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.bt-address-edit input {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 10px;
  border: 1px solid #bbcfe4;
  border-radius: 6px;
}
.bt-required {
  color: #c82431;
  font-weight: 700;
}
/*! 连线只画在相邻圆点之间；四等分步骤保留可读文字、已完成勾选和 aria-current。 */
.bt-checkout-steps {
  gap: 0;
  padding: 8px 0;
  margin: 12px 0 18px;
}
.bt-checkout-steps > span {
  position: relative;
  z-index: 0;
  flex-direction: column;
  gap: 8px;
  padding: 0 4px;
  border: 0;
  font-size: 13px;
  text-align: center;
}
.bt-checkout-steps > span::before {
  content: "";
  position: absolute;
  top: 14px;
  left: calc(-50% + 15px);
  right: calc(50% + 15px);
  height: 3px;
  background: #dce3ea;
  z-index: -1;
}
.bt-checkout-steps > span:first-child::before {
  display: none;
}
.bt-checkout-steps > span b,
.bt-checkout-steps > span[aria-current] b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #e5eaf0;
  color: #50667b;
  font-size: 13px;
}
.bt-checkout-steps > span[aria-current] b,
.bt-checkout-steps > span.is-complete b {
  color: #fff;
  background: #196bde;
}
.bt-checkout-steps > span[aria-current]::before,
.bt-checkout-steps > span.is-complete::before {
  background: #196bde;
}
/*! 正方形原图使用卡片实际宽度，减少旧固定高度产生的左右空白，始终不裁掉标签和接口。 */
.bt-card-image,
.bt-product-card.p-6 .bt-card-image {
  padding: 8px;
}
.bt-card-image img,
.bt-directory .bt-card-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}
/*! 放大图受可视区约束，在大屏可显示至原始 1200px，手机仍保持完整图片。 */
.bt-lightbox {
  width: calc(100vw - 24px);
  max-width: 1280px;
  max-height: 96dvh;
  padding: 12px;
}
.bt-lightbox > img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(96dvh - 84px);
  margin: auto;
  object-fit: contain;
}
@media (max-width: 760px) {
  .bt-account-shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .bt-account-nav {
    padding: 12px;
  }
  .bt-account-nav nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  .bt-account-nav h2 {
    font-size: 17px;
    margin-bottom: 6px;
  }
  .bt-account-content h1 {
    font-size: 26px;
  }
  .bt-address-edit {
    grid-template-columns: minmax(0, 1fr);
  }
  .bt-checkout-steps > span {
    font-size: 11px;
  }
}
/*! 活动提示与优惠表单使用可换行布局，长德文和窄屏不撑宽页面。 */
.bt-promotion {
  background: #fff3b5;
  color: #283e51;
  padding: 9px 16px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.bt-coupon-form {
  border-top: 1px solid #dce5ef;
  margin-top: 18px;
  padding-top: 16px;
}
.bt-coupon-form label {
  display: block;
  margin-bottom: 6px;
}
.bt-coupon-controls {
  display: flex;
  gap: 8px;
}
.bt-coupon-controls input {
  width: 100%;
  min-width: 0;
  border: 1px solid #bed0e3;
  border-radius: 6px;
  padding: 8px;
}
.bt-coupon-controls button {
  padding: 8px 12px;
  border: 1px solid #bed0e3;
  border-radius: 6px;
  color: #165ca4;
}
.bt-discount {
  color: #267042;
  gap: 12px;
  flex-wrap: wrap;
}
/*! 动态 Blade 表单字段的辅助标记：必填语义仍由 HTML required 提供，不依赖 JS。 */
label:not(:has(.bt-required)):has(+ input[required])::after,
label:not(:has(.bt-required)):has(+ select[required])::after,
label:not(:has(.bt-required)):has(+ textarea[required])::after,
label:not(:has(.bt-required)):has(input[required])::after {
  content: " *";
  color: #c82431;
  font-weight: 700;
}
/*! 账号订单表在小屏独立滚动，长订单号、邮箱与跟踪号不撑宽整个页面。 */
.bt-account-content {
  overflow-wrap: anywhere;
}
.bt-account-content .overflow-x-auto {
  max-width: 100%;
  overflow-x: auto;
}
.bt-account-shell .bt-account-content .grid {
  min-width: 0;
}
/*! 控制表单盒模型，避免旧基础 input 样式把 100% 宽度再加上内边距而覆盖相邻字段。 */
.bt-address-edit label {
  min-width: 0;
  display: block;
}
.bt-address-edit input {
  box-sizing: border-box;
  max-width: 100%;
  height: 44px;
  min-height: 44px;
  padding: 10px;
}
.bt-address-edit button {
  align-self: end;
  height: 44px;
  min-height: 44px;
  padding: 8px 18px;
}
.bt-account-page {
  max-width: 1200px !important;
  margin-inline: auto;
  padding: 20px 24px !important;
}
.bt-account-content .border,
.bt-account-content section {
  border-color: #d7e2ed;
}
.bt-account-content .py-5 {
  padding-top: 14px;
  padding-bottom: 14px;
}
.bt-account-content table {
  min-width: 520px;
}
@media (max-width: 640px) {
  .bt-account-page {
    padding: 16px !important;
  }
}
