/* Product details only. Existing galleries and source imagery are unchanged. */
.catalogue-size .size-label { flex-wrap: wrap; }
.catalogue-size .size-label .text-link { min-height: 44px; display: inline-flex; align-items: center; white-space: normal; }
.product-size-options { display: flex; flex-wrap: wrap; gap: 9px; }
.product-size-options button { min-width: 48px; min-height: 48px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 4px; background: var(--paper); }
.product-size-options button[aria-pressed="true"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.product-size-options button:disabled { color: var(--muted); text-decoration: line-through; background: #f2eee8; }
.supplier-detail-info .product-missing-size { padding: 13px 16px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 16px; }
.supplier-detail-info .catalogue-purchase { position: static; padding-bottom: 0; }
.supplier-detail-info .product-stock-status { min-height: 1.6em; }
.supplier-detail-info .commerce-error:empty { display: none; }
.supplier-detail-info .product-delivery { border-top: 1px solid var(--line); padding: 10px 0 22px; margin-top: 16px; }
.supplier-detail-info .product-delivery .text-link { display: inline-flex; align-items: center; min-height: 44px; white-space: normal; }
.product-facts { margin: 12px 0 !important; }
.product-facts > div { display: grid; grid-template-columns: minmax(95px,.7fr) minmax(0,1.6fr); gap: 16px; padding: 10px 0 !important; border: 0 !important; }
.product-facts dt { color: var(--muted); font-size: 14px; }
.product-facts dd { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.product-verbatim { white-space: pre-line; }
.supplier-detail-info .product-information { margin: 26px 0; }
.supplier-detail-info .product-information details { margin: 0; border-bottom: 0; padding: 0; }
.supplier-detail-info .product-information details:last-child { border-bottom: 1px solid var(--line); }
.product-information summary { min-height: 58px; padding: 18px 0; }
.supplier-detail-info .product-information p { font-size: 14px; line-height: 1.6; padding-bottom: 18px; color: var(--muted); }
.product-sticky { display: none; }
@media (max-width: 700px) {
 .product-sticky:not([hidden]) { position: fixed; z-index: 20; inset: auto 0 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 -4px 18px #3029230a; }
 .product-sticky > div { min-width: 0; font-size: 14px; }
 .product-sticky strong { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 38vw; font-weight: 500; }
 .product-sticky span { color: var(--muted); }
 .product-sticky .button { min-height: 48px; padding: 10px 14px; flex-shrink: 0; font-size: 14px; }
 body.product-sticky-active { padding-bottom: var(--product-sticky-height, 84px); }
 body.product-sticky-active #toast { bottom: calc(var(--product-sticky-height, 84px) + 12px); }
}
@media (max-width: 360px) {
 .product-sticky:not([hidden]) { flex-wrap: wrap; gap: 7px; }
 .product-sticky > div { display: flex; justify-content: space-between; gap: 10px; width: 100%; }
 .product-sticky strong { max-width: 52vw; }
 .product-sticky .button { width: 100%; }
}
