/* Only the server-rendered catalog uses these additions. */
.catalog-account { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; font-size: 14px; }
.catalog-account a { display: inline-flex; align-items: center; text-decoration: none; }
.catalog-account .text-button { font-weight: 500; }
.format-link { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; text-decoration: none; font-size: 14px; font-weight: 500; }
.catalog-selectors { align-items: flex-start; width: 100%; }
.catalog-selectors .order-control { flex: 1 1 180px; }
.catalog-selectors select { width: 100%; }
.catalog-selectors .secondary-button { font-size: 13px; padding: 8px 14px; }
.catalog-book { display: flex; align-items: flex-start; gap: 16px; padding: 14px; }
.cover-link { display: block; text-decoration: none; }
.cover-link .cover { height: 100%; box-shadow: none; }
.catalog-book h2 a { color: inherit; text-decoration: none; }
.catalog-book h2 a:hover { color: var(--primary); text-decoration: underline; }
.catalog-actions { display: flex; flex-wrap: wrap; gap: 0 16px; margin-top: 4px; }
.catalog-actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 500; }
.catalog-description { color: var(--muted); font-size: 13px; }
.catalog-description summary { min-height: 44px; align-content: center; cursor: pointer; color: var(--primary); }
.catalog-description p { margin: 0 0 10px; overflow-wrap: anywhere; }
.account-menu { position: relative; }
.account-menu summary { min-height: 44px; align-content: center; cursor: pointer; color: var(--primary); }
.account-menu > div { position: absolute; z-index: 3; top: 100%; right: 0; width: 190px; padding: 8px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.account-menu a { min-height: 44px; width: 100%; }
summary:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 4px; }
.app-footer nav { display: flex; flex-wrap: wrap; gap: 24px; }
@media (min-width: 720px) { .catalog-book { padding: 18px; } }
@media (min-width: 1000px) { .catalog-selectors { flex: 1; width: auto; max-width: 620px; } }
@media (max-width: 480px) {
    .catalog-account { gap: 0 12px; }
    .catalog-account > a:first-child { max-width: 88px; font-size: 12px; line-height: 1.3; }
}
