/* The location illustration and tactile buttons belong to the service, not the diagrams. */
.tsi-inspection-card { --cta-ink: #fff; --cta-muted: #f2efff; --cta-violet: #5955ef; display: grid; grid-template-columns: minmax(190px, .92fr) minmax(0, 1.35fr); align-items: center; gap: 30px; padding: 22px; margin: 38px 0; border: 1px solid var(--cta-violet); border-radius: 27px; background: var(--cta-violet); box-shadow: 0 16px 42px #362d7510, 0 2px 5px #362d7504; font-family: 'Onest', sans-serif; overflow: hidden; }
.tsi-inspection-card *, .tsi-inspection-card *::before, .tsi-inspection-card *::after { box-sizing: border-box; }
#inspection-avant-achat { scroll-margin-top: 110px; }
.tsi-inspection-card__map { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 19px; border: 1px solid #e2dce9; background: #f5f1e8; box-shadow: 0 7px 20px #3e365d10; }
.tsi-inspection-card__map img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: contain; }
.tsi-inspection-card__copy { min-width: 0; padding: 7px 9px 7px 0; }
.blog-body .tsi-inspection-card h3, .tsi-inspection-card h2 { margin: 0 0 11px; font-family: 'Onest', sans-serif; font-size: clamp(24px, 2.3vw, 30px); font-weight: 650; line-height: 1.15; letter-spacing: -.045em; color: var(--cta-ink); text-wrap: balance; }
.tsi-inspection-card .tsi-inspection-card__copy > p { margin: 0; color: var(--cta-muted); font-size: 14px; line-height: 1.6; }
.tsi-inspection-card .tsi-inspection-card__copy > .tsi-inspection-card__location { padding-left: 13px; margin-top: 19px; border-left: 2px solid #ffffff66; color: var(--cta-ink); font-size: 12px; font-weight: 600; line-height: 1.65; }
.tsi-inspection-card__location span { display: block; color: var(--cta-muted); font-weight: 400; }
.tsi-inspection-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin-top: 20px; }
.tsi-inspection-card .tsi-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 53px; max-width: 100%; padding: 6px 6px 6px 18px; border: 1px solid #fff; border-radius: 13px; background: #fff; box-shadow: inset 0 0 0 2px #eeeaff, 0 4px 10px #29227726; color: var(--cta-violet); font-size: 14px; font-weight: 600; text-decoration: none; transition: background 160ms, box-shadow 160ms; }
.tsi-action__icon { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 8px; background: var(--cta-violet); box-shadow: 0 1px 3px #24187320; color: #fff; }
.tsi-inspection-card .tsi-action__icon svg { width: 17px; height: 17px; max-width: none; max-height: none; }
.tsi-inspection-card .tsi-action:hover { background: #eeeaff; color: #4843da; box-shadow: inset 0 0 0 2px #fff, 0 6px 18px #29227735; }
.tsi-inspection-card .tsi-action-secondary { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; font-weight: 550; color: #fff; border: 0; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #ffffff80; }
.tsi-inspection-card .tsi-action-secondary:hover { color: #fff; text-decoration-color: #fff; }
.tsi-inspection-card a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.tsi-final-cta { max-width: 1160px; padding: 12px 30px 48px; margin: 0 auto; }
.tsi-inspection-card--final { grid-template-columns: minmax(0, 1.4fr) minmax(240px, .8fr); gap: 50px; padding: 36px 40px; margin: 0; }
.tsi-inspection-card--final .tsi-inspection-card__map { grid-column: 2; grid-row: 1; }
.tsi-inspection-card--final .tsi-inspection-card__copy { grid-column: 1; grid-row: 1; padding: 0; }
.tsi-inspection-card--final h2 { max-width: 480px; font-size: clamp(29px, 3.2vw, 42px); }
.tsi-inspection-card--final .tsi-inspection-card__copy > p { max-width: 47ch; font-size: 15px; }
.tsi-inspection-card--final .tsi-inspection-card__actions { margin-top: 24px; }
/* The existing sticky aside owns scrolling; avoid a second nested scroll area. */
@media (min-width: 1025px) {
  .blog-toc { overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d7cff3 transparent; padding-right: 5px; }
  .blog-toc-list a { border-radius: 10px; padding-top: 9px; padding-bottom: 9px; transition: background 160ms, color 160ms; }
  .blog-toc-list a.active { background: #eeebff; color: #5048bc; font-weight: 650; border-left-color: #5955ef; }
}
.blog-toc-card .blog-toc-card-link { min-height: 43px; border-radius: 11px; padding: 10px 15px; background: #fff; border: 1px solid #ffffffc9; color: #5144c9; font-weight: 600; box-shadow: 0 3px 9px #24206314; }
.blog-toc-card .blog-toc-card-link:hover { background: #f1eeff; color: #4032b9; }
@media (max-width: 600px) {
  .tsi-inspection-card { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 20px; border-radius: 23px; }
  .tsi-inspection-card__map { width: min(100%, 230px); justify-self: center; border-radius: 16px; }
  .tsi-inspection-card__copy { padding: 0; }
  .blog-body .tsi-inspection-card h3 { max-width: 280px; font-size: 28px; }
  .tsi-inspection-card__actions { gap: 9px 18px; }
  .tsi-inspection-card .tsi-action { width: 100%; }
  .tsi-final-cta { padding: 0 20px 35px; }
  .tsi-inspection-card--final { gap: 24px; }
  .tsi-inspection-card--final .tsi-inspection-card__copy { grid-column: 1; grid-row: 1; }
  .tsi-inspection-card--final .tsi-inspection-card__map { grid-column: 1; grid-row: 2; }
  .tsi-inspection-card--final h2 { font-size: 31px; }
}
@media (prefers-reduced-motion: reduce) {
  .tsi-inspection-card .tsi-action, .blog-toc-list a { transition: none; }
}
