/* Generated from immutable structural matrix definitions. */
:root {
    --pbn-recipe-catalog-columns: 3;
    --pbn-recipe-card-min: 240px;
    --pbn-recipe-card-max: 300px;
    --pbn-recipe-card-max-height: 440px;
    --pbn-recipe-card-media-max-height: 340px;
    --pbn-recipe-card-media-min: 220px;
    --pbn-recipe-footer-min: 440px;
    --pbn-recipe-footer-max: 620px;
    --pbn-recipe-footer-columns: 4;
    --pbn-recipe-header-min: 150px;
    --pbn-recipe-header-max: 240px;
    --pbn-recipe-header-nav-gap: 20px;
    --pbn-recipe-header-nav-min: 44px;
    --pbn-recipe-header-nav-max: 64px;
    --pbn-recipe-hero-min: 0px;
    --pbn-recipe-hero-max: 720px;
    --pbn-recipe-hero-media-max: 68vh;
}
.profile-grid { grid-template-columns: repeat(var(--pbn-recipe-catalog-columns), minmax(var(--pbn-recipe-card-min), 1fr)); }
.profile-card { width: 100%; max-width: var(--pbn-recipe-card-max); max-height: var(--pbn-recipe-card-max-height); }
.site-footer { min-height: var(--pbn-recipe-footer-min); max-height: var(--pbn-recipe-footer-max); grid-template-columns: repeat(var(--pbn-recipe-footer-columns), minmax(0, 1fr)); overflow: auto; }
.site-header { min-height: var(--pbn-recipe-header-min); max-height: var(--pbn-recipe-header-max); }
.header-directory-nav { gap: var(--pbn-recipe-header-nav-gap); min-height: var(--pbn-recipe-header-nav-min); max-height: var(--pbn-recipe-header-nav-max); padding-block: 0; overflow: hidden; }
.header-directory-nav a { min-width: 44px; min-height: 44px; padding-inline: 10px; display: inline-flex; align-items: center; justify-content: center; transition: color .15s ease, background-color .15s ease, text-decoration-color .15s ease; }
.header-directory-nav a:hover { color: var(--pbn-colors-accent); text-decoration-color: currentColor; }
.catalog-prologue { min-height: var(--pbn-recipe-hero-min); max-height: var(--pbn-recipe-hero-max); }
.campaign-hero img { max-height: var(--pbn-recipe-hero-media-max); }
.catalog-sidebar { display: none; }
.catalog-shell { grid-template-columns: minmax(0, 1fr); }
.catalog-sidebar { display: contents; }
.filter-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
.catalog-filters { display: none; position: fixed; inset: 6vh max(16px, 6vw); z-index: 120; max-height: 88vh; overflow: auto; background: var(--pbn-colors-surface); box-shadow: 0 20px 70px color-mix(in srgb, var(--pbn-colors-overlay) 35%, transparent); }
.catalog-filters.is-open { display: block; }
.catalog-filters__header button { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; }
body.pbn-v-city-selector-pattern-approved-city-selector-48,
body.pbn-v-footer-pattern-approved-footer-48,
body.pbn-v-pagination-wide-bookends-02 { --pbn-approved-source-pattern: 1; }
@media (max-width: 960px) { .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .profile-grid { grid-template-columns: minmax(0, 1fr); } .profile-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .profile-card::before { display: none; } .profile-card__media { grid-column: 1 / 3; grid-row: auto; width: fit-content; max-width: 100%; justify-self: center; } .profile-card__media img { width: auto; max-width: 100%; height: auto; max-height: var(--pbn-recipe-card-media-max-height); } .profile-card__identity, .profile-card__facts, .profile-card__action { grid-column: 1 / 3; } .site-footer { grid-template-columns: minmax(0, 1fr); max-height: none; } .site-header__utility--start { padding-left: 4px; } .site-header__utility--end { padding-right: 4px; } }
