/* Shared composition; tenant colours and typography continue to come from their stylesheets. */
.rich-product-detail { padding-top: .5rem; }
.rich-product-detail .product-title { font-size: clamp(1.6rem, 2.5vw, 2.1rem); line-height: 1.2; white-space: normal; overflow-wrap: anywhere; margin-bottom: 1rem; }
.rich-product-image { background: #fff; border: 1px solid #e4e5e7; border-radius: 1rem; min-height: 280px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; padding: 1.25rem; color: #595959; }
.rich-product-image img { width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.rich-product-detail .rich-product-brand { font-size: .9rem; font-weight: 600; letter-spacing: .04em; margin: 0 0 .5rem; }
.rich-product-description { line-height: 1.65; margin-bottom: 1.25rem; }
.rich-product-offer { padding: 1rem 0 1.25rem; border-top: 1px solid #8886; border-bottom: 1px solid #8886; }
.rich-product-detail .rich-product-price { display: inline-block; font-size: 2.35rem; font-weight: 700; line-height: 1.15; margin: 0 .65rem .35rem 0; }
.rich-product-price-prompt { font-size: 1.15rem; font-weight: 600; margin-bottom: .5rem; }
.rich-product-merchant { font-size: .85rem; line-height: 1.5; margin-bottom: .5rem; }
.rich-product-availability { font-size: .95rem; margin-bottom: .35rem; }
.rich-product-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.product-display .rich-product-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; min-height: 48px; padding: .7rem 1.1rem; margin: 0; line-height: 1.3; font-size: 1rem; white-space: normal; }
.rich-product-actions .btn-outline-secondary { color: inherit; border-color: #888; }
.rich-product-actions .btn:focus-visible, .rich-product-detail summary:focus-visible { outline: 3px solid #468dd0; outline-offset: 3px; }
.rich-product-features { padding-top: 1.25rem; }
.rich-product-features h2 { font-size: 1.1rem; margin-bottom: .75rem; }
.product-display .rich-product-features ul { padding-left: 1.25rem; margin: 0 0 1rem; font-size: .95rem; line-height: 1.6; }
.rich-product-features li + li { margin-top: .55rem; }
.rich-product-facts { margin-top: 1rem; }
.rich-product-facts h2 { font-size: 1.1rem; margin-bottom: .75rem; }
.rich-product-detail summary { cursor: pointer; padding: .5rem 0; }
.rich-product-facts dl { margin: .5rem 0; font-size: .9rem; }
.rich-product-facts dl > div { display: grid; grid-template-columns: minmax(6rem, 30%) 1fr; gap: 1rem; padding: .4rem 0; border-bottom: 1px solid #8884; }
.rich-product-facts dd { margin: 0; overflow-wrap: anywhere; }
.rich-product-collections { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .9rem; margin-top: .75rem; }
.amazon-price-information { display: inline; vertical-align: baseline; font-size: .7rem; font-weight: normal; line-height: 1.5; text-align: left; }
.amazon-price-information summary { display: inline; cursor: pointer; list-style: none; padding: .25rem 0; }
.amazon-price-information summary::-webkit-details-marker { display: none; }
.amazon-price-information summary:focus-visible, .product-gallery-thumbnail:focus-visible { outline: 3px solid #468dd0; outline-offset: 3px; }
.amazon-price-information p { margin: .5rem 0; }
.amazon-price-information[open] { display: block; }
.catalogue-card-price { padding-inline: .5rem; }
.catalogue-card-price .price { display: inline; }
.product-gallery-thumbnails { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.product-gallery-thumbnail { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border: 2px solid #8886; border-radius: .5rem; background: #fff; padding: .2rem; }
.product-gallery-thumbnail[aria-pressed="true"] { border-color: #2866a0; box-shadow: 0 0 0 1px #2866a0; }
.product-gallery-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery [data-gallery-stage] { touch-action: pan-y; }
@media (max-width: 575.98px) { .rich-product-actions .btn { flex: 1 1 100%; } .rich-product-image { aspect-ratio: 4 / 3; min-height: 230px; } }
