/* Adjustments for the server-backed catalog markup. */
.sort-control > summary { list-style: none; }
.sort-control > summary::-webkit-details-marker { display: none; }
.sort-control[open] .sort-chevron { transform: rotate(180deg); }
.sort-option { text-decoration: none; }
.sort-option[aria-current="true"] { background: rgba(255,255,255,.62); }
.sort-option[aria-current="true"] > svg { opacity: 1; }
.tile-placeholder { display: grid; place-items: center; min-height: 100%; padding: 24px; color: #666; font-size: 13px; line-height: 1.4; }
.favorite-button:disabled, .camera-button:disabled { cursor: default; }
.camera-button:disabled { opacity: 0; pointer-events: none; }
.favorite-tile:hover .camera-button:disabled { opacity: 1; }
.catalog-more-wrap[hidden], [data-graphics-recent][hidden], .recent-grid > [hidden] { display: none; }
.catalog-load-more[aria-disabled="true"] { opacity: .5; cursor: progress; }
.catalog-load-status { margin: 8px 0 24px; }
.catalog-load-status:empty { display: none; }
.recent-more-wrap { margin-bottom: 24px; }

.header-badge[hidden] { display: none; }

/* Favorites reuse the graphics catalog cards and personal history. */
.favorites-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 340px; padding: 48px 24px; border: 1px solid #e7e7e7; border-radius: 14px; background: #fafafa; text-align: center; }
.favorites-empty-icon { width: 48px; height: 48px; color: #999; margin-bottom: 18px; }
.favorites-empty h2 { margin: 0 0 14px; font-size: 26px; font-weight: 400; line-height: 1.3; }
.favorites-empty p { max-width: 420px; margin: 0 0 24px; color: #666; line-height: 1.6; }
.favorites-catalog-link { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 11px 20px; border: 1px solid #dedede; border-radius: 10px; color: #000; background: #eee; text-decoration: none; }
.favorites-catalog-link:hover { background: #e5e5e5; }
.favorites-catalog-link:focus-visible { outline: 2px solid #666; outline-offset: 4px; }
.favorites-notice { padding: 24px; border-radius: 14px; background: #fafafa; }
[data-favorites-page] [hidden] { display: none !important; }
@media(max-width:599px) { .favorites-empty { min-height: 300px; padding: 36px 20px; } .favorites-empty h2 { font-size: 23px; } }

/* Keep space above related links when a catalog result fits on one page. */
.catalog-all-wrap { display: flex; justify-content: center; margin: 28px 0 32px; }
