/* Catalog composition and protected image canvas; typography uses shared components. */
.catalog-summary-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-3); margin-bottom: var(--space-5); }
.catalog-summary-grid > .c-commercial-metric { min-width: 0; padding: var(--space-3) var(--space-4); box-shadow: none; }
.catalog-toolbar { grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: var(--space-6); }
.catalog-card { --catalog-media-canvas: #fff; display: grid; min-width: 0; height: 100%; padding: 0; overflow: hidden; isolation: isolate; grid-template-rows: 240px minmax(0, 1fr); }
.catalog-card__image { display: grid; min-width: 0; min-height: 0; overflow: hidden; contain: paint; padding: var(--space-4); place-items: center; border-bottom: 1px solid var(--line); background: var(--card-subtle); }
.catalog-card__image--cutout { --catalog-media-canvas: transparent; background: var(--card-surface); }
.catalog-card__image img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; max-width: 100%; max-height: 100%; border-radius: var(--radius-sm); background: var(--catalog-media-canvas); object-fit: contain; object-position: center; }
.catalog-card__body { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; padding: var(--space-6); }
.catalog-card__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); }
.catalog-availability { display: grid; gap: var(--space-3); margin: var(--space-4) 0; padding-block: var(--space-3); }
.catalog-availability__row { display: grid; gap: var(--space-2); padding: 0; }
.catalog-availability__row + .catalog-availability__row { padding-top: var(--space-3); }
.catalog-availability__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.catalog-availability__metrics--rental { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.catalog-details { margin: 0; }
.catalog-details pre { max-width: 100%; max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.catalog-supporting-documents { margin-top: var(--space-3); }
.catalog-document-list { display: grid; gap: var(--space-2); padding-top: var(--space-3); }
.catalog-document-list p { margin: 0; }
.c-commercial-catalog .catalog-document-link { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); min-height: 0; max-width: 100%; padding: var(--space-2) 0; border: 0; background: transparent; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.catalog-document-link > span { text-decoration: underline; text-underline-offset: 3px; }
.catalog-document-link small { flex: none; color: var(--muted); font-size: var(--type-caption); }
.catalog-document-link:hover { color: var(--brand-primary); }
.catalog-card__actions { display: grid; gap: var(--space-3); margin-top: 0; padding-top: var(--space-3); }
.catalog-card__actions .c-button { width: 100%; }
.catalog-card__actions .catalog-sale-unavailable:disabled { background: var(--surface-2); color: var(--muted); border-color: var(--line); opacity: 1; box-shadow: none; }
.catalog-unavailable-action { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) max-content var(--space-2) 14px minmax(0, 1fr); gap: 0; min-width: 0; cursor: not-allowed; border-radius: var(--radius-sm); }
.catalog-unavailable-action > .c-button { grid-area: 1 / 1 / 2 / -1; pointer-events: none; }
.catalog-unavailable-action > .c-button::after { content: ""; width: 14px; flex: none; }
.catalog-unavailable-action__measure { grid-area: 1 / 2; visibility: hidden; font-size: var(--type-body); font-weight: var(--weight-button); line-height: 1.35; }
.catalog-unavailable-action > .c-field-help__button { grid-area: 1 / 4; position: relative; }
.catalog-unavailable-action > .c-field-help__tip { top: auto; bottom: calc(100% + var(--space-2)); overflow-wrap: anywhere; }
.catalog-modal { width: min(900px, calc(100vw - 32px)); }
.catalog-intake-modal { width: min(720px, calc(100vw - 32px)); }
.catalog-intake-modal [data-intake-attach] { white-space: normal; }
.catalog-intake-files { margin: 0; padding-inline-start: var(--space-5); overflow-wrap: anywhere; }
.catalog-intake-description { margin: 0 0 var(--space-5); color: var(--muted); }
.catalog-intake-new { min-width: 0; margin: 0; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.catalog-intake-new legend { padding-inline: var(--space-2); font-size: var(--type-body); }
.catalog-intake-new[hidden] { display: none; }
.catalog-required { color: var(--danger); }
.catalog-intake-modal .c-field--error .c-field__control[aria-invalid="true"],
.catalog-intake-modal .c-field--error .c-choice__trigger[aria-invalid="true"] { border-color: var(--danger); box-shadow: none; }
.catalog-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.catalog-form-wide { grid-column: 1 / -1; }
.catalog-dimensions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
@media (max-width: 1100px) { .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .catalog-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .catalog-grid, .catalog-form-grid, .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-form-wide { grid-column: auto; }
  .catalog-card { grid-template-rows: clamp(184px, 52vw, 220px) minmax(0, 1fr); }
  .catalog-card__image { padding: var(--space-2); }
  .catalog-card__body { padding: var(--space-6); }
}
