.tpa-wrap { margin: 0 0 1.5em; width: 100%; }
.tpa-addon { margin: 0 0 1.2em; }
.tpa-addon-label { display: block; font-weight: 600; margin-bottom: .35em; }
.tpa-addon-label abbr.required { color: #b32d2e; text-decoration: none; border: 0; }
.tpa-description { margin: 0 0 .5em; font-size: .9em; opacity: .75; }
.tpa-price { font-weight: 400; opacity: .8; margin-inline-start: .35em; font-size: .9em; }
.tpa-wrap select,
.tpa-wrap input[type="text"],
.tpa-wrap input[type="number"],
.tpa-wrap textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.tpa-choices { display: flex; flex-direction: column; gap: .4em; }
.tpa-choice { display: flex; align-items: center; gap: .5em; cursor: pointer; font-weight: 400; }
.tpa-choice input { margin: 0; }
.tpa-totals { border-top: 1px solid rgba(0,0,0,.1); padding-top: .75em; margin-top: .5em; }
.tpa-totals-row { display: flex; justify-content: space-between; margin-bottom: .25em; }
.tpa-totals-row.tpa-grand { font-size: 1.1em; }
.tpa-linked { margin: 0 0 1.2em; }
.tpa-linked-item { display: flex; flex-wrap: wrap; align-items: center; gap: .25em .75em; padding: .5em 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.tpa-linked-main { display: flex; align-items: center; gap: .5em; flex: 1; margin: 0; font-weight: 400; cursor: pointer; }
.tpa-linked-main input { margin: 0; }
.tpa-linked-qty { opacity: .7; }
.tpa-linked-status { flex-basis: 100%; opacity: .7; }
.tpa-linked-status:empty { display: none; }
.tpa-linked-item.is-unavailable .tpa-linked-status { color: #b32d2e; opacity: 1; }
/* Cart: linked items sit under their main product. */
.woocommerce-cart-form .tpa-child-item td.product-name { padding-inline-start: 2em; }
.woocommerce-cart-form .tpa-child-item td.product-thumbnail img { max-width: 48px; }
.tpa-addon.tpa-hidden { display: none; }
.tpa-choice.is-unavailable { opacity: .5; cursor: not-allowed; }
