.floor-weight { max-width: 1040px; scroll-margin-top: 7rem; }
.floor-weight__intro { max-width: 900px; margin: 0 auto 1.5rem; text-align: center; }
.floor-weight__eyebrow { margin-bottom: .5rem; font-size: 1rem; font-weight: 600; }
.floor-weight__scope { padding: .85rem 1rem; background: #fff8d9; border-radius: .5rem; }
.floor-weight__comparison { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: 1rem; align-items: start; }
.floor-weight__grid { display: grid; gap: .35rem; }
.floor-weight__comparison > .floor-weight__grid { grid-column: 1; grid-row: 1; }
.floor-weight__card { min-width: 0; border: 1px solid #dfe4e1; border-radius: .6rem; background: #fff; }
.floor-weight__summary { display: flex; align-items: center; gap: 1rem; min-height: 44px; padding: .45rem 1rem; list-style: none; border-radius: .6rem; }
.floor-weight__summary::-webkit-details-marker { display: none; }
.floor-weight__summary::after { content: ""; width: .5rem; height: .5rem; flex: 0 0 .5rem; border-right: 2px solid #52615a; border-bottom: 2px solid #52615a; transform: rotate(45deg); margin: -.25rem .15rem 0 .5rem; }
.floor-weight__card[open] > .floor-weight__summary { background: #f4f6f4; border-radius: .6rem .6rem 0 0; }
.floor-weight__card[open] > .floor-weight__summary::after { transform: rotate(225deg); margin-top: .25rem; }
.floor-weight__name { flex: 1; min-width: 0; font-size: 1.25rem; }
.floor-weight__content { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 1.5rem; padding: 1.5rem; border-top: 1px solid #dfe4e1; }
.floor-weight__body { min-width: 0; }
.floor-weight__product { display: block; width: 100%; height: 150px; object-fit: contain; }
.floor-weight__placement { margin-bottom: .5rem; font-size: .95rem; color: #52615a; }
.floor-weight__total { flex-shrink: 0; margin: 0; color: #20563e; font-size: 1.5rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.floor-weight__total span { font-size: 1rem; font-weight: 400; }
.floor-weight__total-label { margin: 0 0 1.25rem; font-size: .95rem; }
.floor-weight__reference { grid-column: 2; grid-row: 1; background: #f4f6f4; border-color: #bcc7c0; }
.floor-weight__reference > .floor-weight__summary { position: relative; flex-direction: column; align-items: flex-start; gap: .65rem; padding: 1.25rem; }
.floor-weight__reference > .floor-weight__summary::after { position: absolute; top: 1.5rem; right: 1.25rem; }
.floor-weight__reference .floor-weight__name { padding-right: 1rem; }
.floor-weight__reference-label { display: block; margin-bottom: .35rem; font-size: .9rem; color: #52615a; }
.floor-weight__reference .floor-weight__total { font-size: 2.6rem; color: #37433c; }
.floor-weight__reference-scope { font-size: .95rem; }
.floor-weight__reference-body { padding: 1.25rem; border-top: 1px solid #bcc7c0; font-size: .95rem; }
.floor-weight__layers { margin: 0 0 1rem; }
.floor-weight__layers > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: .45rem 0; }
.floor-weight__layers dt { font-weight: 400; }
.floor-weight__layers dd { margin: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.floor-weight__layers .floor-weight__sum { border-top: 1px solid #dfe4e1; padding-top: .6rem; margin-top: .6rem; }
.floor-weight__sum dt, .floor-weight__sum dd { font-weight: 600; }
.floor-weight__height { font-size: .95rem; }
.floor-weight__card a { color: #20563e; text-underline-offset: .2em; }
.floor-weight summary { cursor: pointer; text-underline-offset: .2em; }
.floor-weight summary:hover { text-decoration: underline; }
.floor-weight summary:focus-visible { outline: 2px solid #20563e; outline-offset: 4px; }
.floor-weight__detail-intro, .floor-weight__note, .floor-weight__sources { font-size: .9rem; }
.floor-weight__finished { padding: .75rem; color: #20563e; background: #edf5ee; font-weight: 600; }
.floor-weight__explanation { margin-top: .75rem; padding: .8rem 1.25rem; background: #f4f6f4; border-radius: .6rem; }
.floor-weight__explanation p:last-child { margin-bottom: 0; }
.floor-weight__explanation[open] > summary { margin-bottom: 1rem; }
@media (max-width: 991.98px) {
    .floor-weight__comparison { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .floor-weight__reference { grid-column: 1; grid-row: 1; }
    .floor-weight__comparison > .floor-weight__grid { grid-row: 2; }
    .floor-weight__reference > .floor-weight__summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 1rem; gap: .25rem 1rem; padding: .8rem 1.25rem; }
    .floor-weight__reference > .floor-weight__summary::after { position: static; grid-column: 3; grid-row: 1; align-self: center; }
    .floor-weight__reference .floor-weight__name { padding: 0; }
    .floor-weight__reference .floor-weight__total { align-self: center; font-size: 1.5rem; }
    .floor-weight__reference-scope { grid-column: 1 / -1; }
}
@media (max-width: 575.98px) {
    .floor-weight__summary { gap: .6rem; padding: .55rem .75rem; }
    .floor-weight__name { font-size: 1.1rem; }
    .floor-weight__total { font-size: 1.3rem; }
    .floor-weight__total span { font-size: .9rem; }
    .floor-weight__summary::after { margin-left: .15rem; }
    .floor-weight__content { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: 1rem; }
    .floor-weight__product { width: 140px; height: 120px; margin: 0 auto; }
    .floor-weight__explanation { padding: .75rem; }
    .floor-weight__reference > .floor-weight__summary { padding: .75rem; gap: .25rem .6rem; }
    .floor-weight__reference .floor-weight__total { font-size: 1.3rem; }
}
