/*
 * The public template catalog's own styles, on top of the Folio sheet
 * (landing/folio-*.css). The generator copies this file to
 * /templates/assets/catalog-<hash>.css, so a change takes a new name and the
 * immutable cache never serves an old copy. Only the page's own parts live
 * here; what the shared macros emit is drawn by askalot_common's
 * static/css/template-catalog.css, which the page links before this file.
 */

.hf-cat .hf-section__head,
.hf-tpl-page .hf-section__head { display: block; }
.hf-cat .hf-section__head h1,
.hf-tpl-page .hf-section__head h1 { font-family: var(--hf-serif); font-size: 52px; line-height: 1.05; margin: 6px 0 10px; }

/* Search */
.hf-cat-search { margin: 8px 0 22px; max-width: 720px; }
.hf-cat-search label { display: block; font-size: 14px; color: var(--hf-ink-2); margin-bottom: 6px; }
.hf-cat-search input {
    width: 100%; box-sizing: border-box; padding: 12px 14px; font: inherit; font-size: 16px;
    color: var(--hf-ink); background: var(--hf-folio); border: 1px solid var(--hf-rule); border-radius: 2px;
}
.hf-cat-search input:focus { outline: 2px solid var(--hf-lapis); outline-offset: 1px; border-color: var(--hf-lapis); }

/* Template page */
.hf-tpl-page__back { margin: 0 0 6px; font-size: 15px; }
.hf-tpl-page__back a { color: var(--hf-lapis); text-decoration: none; }
.hf-tpl-page__back a:hover { text-decoration: underline; }

.hf-tpl-invite { background: var(--hf-folio); border: 1px solid var(--hf-rule); border-top: 3px solid var(--hf-gold); padding: 20px 22px; }
.hf-tpl-invite h2 { font-family: var(--hf-serif); font-size: 26px; margin: 0 0 8px; }
.hf-tpl-invite p { margin: 0 0 14px; font-size: 15px; color: var(--hf-ink-2); line-height: 1.55; }
.hf-tpl-invite--band { text-align: center; }
.hf-tpl-invite--band .hf-actions { justify-content: center; }

@media (max-width: 760px) {
    .hf-cat .hf-section__head h1, .hf-tpl-page .hf-section__head h1 { font-size: 38px; }
}
