:host { display: block; .holdings-table { table-layout: auto; tr { &:not(.expanded) + tr.holding-detail td { border-bottom: 0; } &.expanded { > td { font-weight: bold; } } &.holding-detail { height: 0; } .detail-expand { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1); &.expanded { grid-template-rows: 1fr; } .holding-parents-table { min-height: 0; overflow: hidden; } } .holding-parents-table { --table-padding: 0.5em; tr { height: auto; td { padding: var(--table-padding); } } } } } }