.tbv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tbv-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tbv-card { min-width: 0; overflow: hidden; border: 1px solid #e8e4dd; border-radius: 18px; background: #f8f7f4; }
.tbv-image-link { display: block; position: relative; overflow: hidden; background: #eeece6; }
.tbv-card img, .tbp-scope-card > img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tbv-plan img { object-fit: contain; background: #faf9f6; }
.tbv-body { padding: 28px; }
.tbv-body .tbp-eyebrow { color: #84602c; margin-bottom: 12px; font-size: 11px; }
.tbv-body p { font-size: 16px; margin-bottom: 0; }
.tbv-body .tbp-text-link { margin-top: 22px; }
.tbv-enlarge { position: absolute; right: 14px; bottom: 14px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: #1c1c1d; font-size: 22px; }
.tbv-image-link:hover .tbv-enlarge { background: #caa05c; }
.tbv-gallery { padding-top: 44px; }
.tbv-gallery .tbv-intro-note { max-width: 860px; margin: 0 0 30px; }
.tbv-gallery-action { margin-top: 32px; }
.tbp-scope-card.tbv-activity { padding: 0; overflow: hidden; border: 1px solid #e8e4dd; }
.tbv-activity .tbv-body { padding: 25px; }
.tbv-activity .tbp-number { margin-bottom: 14px; }
.tbv-activity .tbv-product-reference { padding: 18px; background: #efeee9; object-fit: contain; }
.tbv-preview .tbv-body h3 { font-size: 23px; }
@media (max-width: 1024px) {
  .tbv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 767px) {
  .tbv-grid { grid-template-columns: 1fr; gap: 24px; }
  .tbv-body, .tbv-activity .tbv-body { padding: 24px; }
  .tbv-gallery { padding-top: 28px; }
  .tbv-preview .tbp-section-heading > a { margin-top: 16px; }
}
