/* Canonical service rail/card. All service surfaces use this single definition. */
.category-row,.service-rail,.testimonial-row{
  touch-action:auto!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.service-category-row{overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity}
.service-category-row .category-tile{flex:0 0 auto;scroll-snap-align:start}
.service-rail{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:116px!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 3px 14px!important;
  scroll-snap-type:x proximity!important;
  align-items:start!important;
}
.service-card.compact-service{
  width:116px!important;
  height:142px!important;
  min-height:142px!important;
  min-width:0!important;
  padding:7px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:8px!important;
  overflow:hidden!important;
  border:1px solid var(--color-border-default)!important;
  border-radius:18px!important;
  background:var(--color-surface-card)!important;
  box-shadow:0 8px 22px var(--color-shadow-default)!important;
  text-align:center!important;
  scroll-snap-align:start!important;
}
.service-card.compact-service:after{display:none!important}
.service-card.compact-service .service-icon{
  width:100%!important;
  height:88px!important;
  flex:0 0 88px!important;
  margin:0!important;
  border:1px solid var(--color-border-default)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:var(--color-surface-muted)!important;
}
.service-card.compact-service .service-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.service-card.compact-service .service-card-copy{
  display:flex!important;
  min-width:0!important;
  min-height:0!important;
  flex:1!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.service-card.compact-service strong{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  text-overflow:ellipsis!important;
  font-size:calc(11px * var(--ui-font-scale))!important;
  line-height:1.55!important;
  text-align:center!important;
}
.service-disabled .service-icon{filter:grayscale(.7);opacity:.68}
.home-service-rail{margin-top:4px}
@media(max-width:760px){
  .service-rail{grid-auto-columns:108px!important}
  .service-card.compact-service{width:108px!important;height:136px!important;min-height:136px!important;padding:6px!important}
  .service-card.compact-service .service-icon{height:82px!important;flex-basis:82px!important;border-radius:13px!important}
}

/* Canonical ServiceCard safety: image + title only. */
.service-card.compact-service{box-sizing:border-box}.service-card.compact-service .service-card-copy{min-width:0}.service-card.compact-service .service-card-copy strong{overflow-wrap:anywhere;word-break:break-word}
