@font-face { font-family: "ArmaghanArtDisplay"; src: url("../fonts/mikhak/Mikhak-Black.ttf") format("truetype"); font-style: normal; font-weight: 900; font-display: swap; }
.armaghan-public-site .am-catalog { width: min(1200px, calc(100% - 64px)); margin-inline: auto; padding-block: 24px 65px; color: var(--brand-ink); background: #fff; }
.am-catalog-breadcrumb { display: flex; align-items: center; gap: 10px; min-height: 44px; margin-block-end: 16px; color: var(--brand-muted); font-size: .75rem; }
.am-catalog-breadcrumb a { padding-block: 8px; color: var(--brand-text); text-decoration: none; }
.am-catalog-breadcrumb > span[aria-hidden] { color: #aac5b8; }
.am-catalog-heading { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; gap: 65px; margin-block-end: 25px; }
.am-catalog-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; color: var(--brand-text); font-size: .8rem; font-weight: 600; }
.am-catalog-eyebrow > span { width: 22px; height: 3px; border-radius: 3px; background: var(--brand-gradient); }
.am-catalog h1 { --armaghan-font: "ArmaghanArtDisplay", "ArmaghanIranSansX", sans-serif; position: relative; width: fit-content; max-width: 100%; margin: 0 0 19px; padding-block-end: 8px; color: var(--brand-ink); font-size: clamp(2.2rem, 3.3vw, 2.8rem); font-weight: 900; line-height: 1.55; }
.am-catalog h1 svg { position: absolute; bottom: -4px; inset-inline: 0; width: 100%; height: 16px; fill: none; stroke: #1abc9c60; stroke-width: 3; stroke-linecap: round; }
.am-catalog-intro > p:last-child { margin: 0; color: var(--brand-muted); font-size: .92rem; line-height: 2; }
.am-catalog-overview { position: relative; padding: 12px 22px; border: 1px dashed #cfe3d7; border-radius: 35px 10px 35px 10px; background: #fff; }
.am-catalog-overview::before { content: ''; position: absolute; top: -9px; left: 38%; width: 62px; height: 17px; background: #eee6d6ad; transform: rotate(-7deg); }
.am-catalog-overview > p { margin: 0 0 8px; color: var(--brand-muted); font-size: .7rem; line-height: 1.5; }
.am-catalog-totals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 23px; margin: 0; }
.am-catalog-totals > div { display: flex; flex-direction: column-reverse; min-width: 0; }
.am-catalog-totals dd { --armaghan-font: "ArmaghanArtDisplay", "ArmaghanIranSansX", sans-serif; margin: 0 0 2px; font-size: 1.5rem; font-weight: 900; line-height: 1.2; color: var(--brand-ink); overflow-wrap: anywhere; }
.am-catalog-totals dt { font-size: .68rem; font-weight: 500; color: var(--brand-muted); line-height: 1.7; }
.am-catalog-scopes { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-block-end: 16px; }
.am-catalog-scopes a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 18px; border: 1px solid #dfeae4; border-radius: 24px 7px 24px 7px; color: var(--brand-muted); background: #fff; font-size: .82rem; font-weight: 600; text-decoration: none; }
.am-catalog-scopes a[aria-current] { color: var(--brand-text); background: #edf8f1; border-color: #cee6d6; }
.am-catalog-scopes a[aria-current]::before { content: ''; width: 7px; height: 10px; border-radius: 70% 30% 65% 35%; background: var(--brand-gradient); transform: rotate(-28deg); }
.am-catalog-filters { padding: 18px 24px 12px; border: 1px solid #dfeae4; border-radius: 28px 9px 28px 9px; background: #fff; }
.am-catalog-search { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 17px; }
.am-catalog-search > div { min-width: 0; }
.am-catalog-search label { display: block; margin-block-end: 7px; font-size: .73rem; font-weight: 600; color: var(--brand-muted); }
.am-catalog-search .am-catalog-query > div { position: relative; }
.am-catalog-query i { position: absolute; top: 50%; inset-inline-start: 14px; transform: translateY(-50%); color: #87a499; font-size: .9rem; }
.am-catalog-search :is(input[type=search], select) { display: block; width: 100%; min-width: 0; height: 46px; min-height: 46px; margin: 0; padding: 9px 12px; border: 1px solid #dbe7df; border-radius: 13px 5px 13px 5px; background: #fafcfb; color: var(--brand-ink); font-size: .82rem; line-height: 1.8; }
.am-catalog-search input[type=search] { padding-inline-start: 38px; }
.am-catalog-search select { padding-inline-end: 26px; }
.am-catalog-search-submit, .am-catalog-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 19px; border: 1px solid transparent; border-radius: 24px 8px 24px 8px; background: var(--brand-gradient); color: #fff; font-size: .8rem; font-weight: 700; line-height: 1.8; text-decoration: none; cursor: pointer; }
.am-catalog-search-submit { min-height: 46px; }
.am-catalog-search-submit:hover, .am-catalog-button:hover { background: var(--brand-gradient-hover); color: #fff; }
.am-catalog-button i, .am-catalog-search-submit i { font-size: .7rem; }
.am-catalog-quick-filters { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 7px 16px; padding-block-start: 11px; }
.am-catalog-quick-filters > div { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.am-catalog-quick-filters a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 7px 12px; border: 1px solid transparent; border-radius: 20px 6px 20px 6px; background: #fff; color: var(--brand-muted); font-size: .73rem; text-decoration: none; }
.am-catalog-quick-filters a[aria-current] { background: #f0f7f3; color: var(--brand-text); border-color: #e1eee5; font-weight: 650; }
.am-catalog-quick-filters a:hover, .am-catalog-quick-filters .am-catalog-reset { color: var(--brand-text); }
.am-catalog-results { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 18px 20px; }
.am-catalog-results > p { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; margin: 0; color: var(--brand-muted); font-size: .83rem; }
.am-catalog-results > p > strong { --armaghan-font: "ArmaghanArtDisplay", "ArmaghanIranSansX", sans-serif; color: var(--brand-ink); font-size: 1.4rem; font-weight: 900; }
.am-catalog-results > p > span { font-size: .76rem; }
.am-catalog-per-page { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.am-catalog-per-page label { font-size: .72rem; color: var(--brand-muted); }
.am-catalog-per-page select { min-height: 44px; min-width: 65px; padding: 7px 9px; border: 1px solid #dbe7df; border-radius: 13px 5px 13px 5px; background: #fff; color: var(--brand-ink); }
.am-catalog-per-page button { min-height: 44px; padding: 6px 10px; border: 0; background: transparent; color: var(--brand-text); font-size: .73rem; }
.am-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 32px 26px; }
.am-catalog-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #dfeae4; border-radius: 29px 10px 29px 10px; background: #fff; box-shadow: 0 9px 24px #163d4805; }
.am-catalog-card:nth-child(even) { border-radius: 10px 29px 10px 29px; }
.am-catalog-print { position: relative; margin: 8px 8px 0; }
.am-catalog-print::before { content: ''; position: absolute; z-index: 2; top: -14px; left: 39%; width: 65px; height: 20px; background: #eee6d6ad; transform: rotate(-7deg); pointer-events: none; }
.am-catalog-image { display: block; position: relative; overflow: hidden; aspect-ratio: 1.55; border-radius: 22px 5px 25px 5px; background: #eff7f3; }
.am-catalog-card:nth-child(even) .am-catalog-image { border-radius: 5px 22px 5px 25px; }
.am-catalog-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.am-catalog-state { position: absolute; inset-inline-start: 11px; bottom: 11px; max-width: calc(100% - 22px); padding: 5px 11px; border: 1px solid #e2eee7; border-radius: 18px 6px 18px 6px; background: #fffffff0; color: var(--brand-text); font-size: .67rem; font-weight: 600; line-height: 1.8; }
.am-catalog-urgent { position: absolute; inset-inline-start: 11px; top: 11px; display: inline-flex; gap: 6px; align-items: center; padding: 5px 10px; border: 1px solid #eed1c9; border-radius: 20px; background: #fff4ef; color: #a63e28; font-size: .67rem; }
.am-catalog-card-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 20px 22px 22px; }
.am-catalog-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; margin-block-end: 9px; font-size: .71rem; line-height: 1.8; }
.am-catalog-card-meta > a { color: var(--brand-text); font-weight: 650; text-decoration: none; }
.am-catalog-card-meta > span { display: inline-flex; align-items: center; gap: 5px; color: #8a713d; font-size: .66rem; }
.am-catalog-card h2 { margin: 0 0 12px; color: var(--brand-ink); font-size: 1.12rem; font-weight: 750; line-height: 1.85; overflow-wrap: anywhere; }
.am-catalog-card h2 a { color: inherit; text-decoration: none; }
.am-catalog-card h2 a:hover { color: var(--brand-text); }
.am-catalog-description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0 0 22px; color: var(--brand-muted); font-size: .8rem; line-height: 1.95; }
.am-catalog-funding { margin-block-start: auto; }
.am-catalog-progress-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-block-end: 9px; color: var(--brand-muted); font-size: .69rem; line-height: 1.8; }
.am-catalog-progress-caption > span:first-child { color: var(--brand-text); font-weight: 650; }
.am-catalog-progress { height: 7px; overflow: hidden; border-radius: 7px; background: #eaf1ed; }
.am-catalog-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--brand-gradient); }
.am-catalog-amounts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 17px 0 13px; }
.am-catalog-amounts > div { min-width: 0; }
.am-catalog-amounts > div + div { padding-inline-start: 14px; border-inline-start: 1px solid #e2ece5; }
.am-catalog-amounts dt { color: var(--brand-muted); font-size: .69rem; font-weight: 500; line-height: 1.9; }
.am-catalog-amounts dd { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; margin: 4px 0 0; color: var(--brand-ink); font-size: .97rem; font-weight: 750; line-height: 1.8; }
.am-catalog-amounts small, .am-catalog-remaining small { color: var(--brand-muted); font-size: .62rem; font-weight: 500; }
.am-catalog-remaining { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 7px; margin: 0 0 16px; padding-block: 10px; border-block: 1px dashed #e0ebe3; color: var(--brand-muted); font-size: .69rem; line-height: 1.8; }
.am-catalog-remaining strong { color: var(--brand-ink); font-size: .8rem; font-weight: 650; }
.am-catalog-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 11px; }
.am-catalog-card-footer > span { display: inline-flex; align-items: center; gap: 6px; color: var(--brand-muted); font-size: .68rem; line-height: 1.9; }
.am-catalog-card-footer .am-catalog-button { padding-inline: 14px; font-size: .74rem; }
.am-catalog-empty { grid-column: 1 / -1; padding: 40px 25px; border: 1px dashed #cde2d5; border-radius: 30px 9px 30px 9px; background: #fff; text-align: center; }
.am-catalog-empty > span { display: grid; place-items: center; width: 65px; height: 65px; margin-inline: auto; border: 1px solid #dcebe1; border-radius: 45% 55% 48% 52%; background: #f0f8f3; color: var(--brand-text); font-size: 1.6rem; transform: rotate(-6deg); }
.am-catalog-empty h2 { --armaghan-font: "ArmaghanArtDisplay", "ArmaghanIranSansX", sans-serif; margin: 20px 0 12px; color: var(--brand-ink); font-size: 1.6rem; font-weight: 900; }
.am-catalog-empty p { margin: 0 auto 22px; max-width: 560px; color: var(--brand-muted); font-size: .88rem; line-height: 2; }
.am-catalog-pagination { padding-block-start: 32px; text-align: center; }
.am-catalog-pagination nav { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px; margin-block-end: 15px; }
.am-catalog-pagination nav a, .am-catalog-pagination nav span { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 7px; border: 1px solid #dce9e1; border-radius: 14px 5px 14px 5px; background: #fff; color: var(--brand-text); font-size: .85rem; text-decoration: none; }
.am-catalog-pagination nav a[aria-current] { border-color: transparent; background: var(--brand-gradient); color: #fff; }
.am-catalog-pagination > p { margin: 0; color: var(--brand-muted); font-size: .76rem; line-height: 1.9; }
.am-catalog-message { margin-block: 18px; padding: 16px 20px; border: 1px solid #ecdcb9; border-radius: 16px; background: #fff9ed; color: #806237; font-size: .85rem; }
.am-catalog :is(a,button,input,select):focus-visible { outline: 3px solid var(--brand-text); outline-offset: 4px; }
[dir="ltr"] .am-catalog :is(.am-catalog-button, .am-catalog-search-submit, .am-catalog-pagination) i { transform: rotate(180deg); }
@media (max-width: 1050px) {
    .am-catalog-heading { gap: 35px; }
    .am-catalog-search { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
    .am-catalog-search-submit { grid-column: 1 / -1; }
    .am-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
    .am-catalog-heading { grid-template-columns: minmax(0, 1fr); gap: 25px; }
    .am-catalog-overview { padding: 17px 20px; }
    .am-catalog-totals { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
    .am-catalog-overview > p { margin-block-end: 13px; }
    .am-catalog-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .am-catalog-query { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
    .armaghan-public-site .am-catalog { width: calc(100% - 40px); padding-block: 17px 48px; }
    .am-catalog-breadcrumb { margin-block-end: 18px; font-size: .7rem; }
    .am-catalog-heading { margin-block-end: 25px; gap: 24px; }
    .am-catalog h1 { font-size: 2rem; margin-block-end: 20px; }
    .am-catalog-eyebrow { font-size: .73rem; }
    .am-catalog-intro > p:last-child { font-size: .85rem; }
    .am-catalog-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
    .am-catalog-totals dd { font-size: 1.6rem; }
    .am-catalog-scopes { gap: 7px; padding-block-end: 17px; }
    .am-catalog-scopes a { flex: 1 1 auto; padding-inline: 11px; font-size: .72rem; }
    .am-catalog-filters { padding: 18px 16px 12px; border-radius: 23px 7px 23px 7px; }
    .am-catalog-search { grid-template-columns: minmax(0, 1fr); gap: 14px 10px; }
    .am-catalog-search label { font-size: .69rem; }
    .am-catalog-search :is(input[type=search], select) { padding-inline: 9px; }
    .am-catalog-search input[type=search] { padding-inline-start: 32px; }
    .am-catalog-query i { inset-inline-start: 11px; font-size: .8rem; }
    .am-catalog-quick-filters { padding-block-start: 11px; gap: 3px; }
    .am-catalog-quick-filters > div { gap: 3px; }
    .am-catalog-quick-filters a { padding-inline: 8px; font-size: .69rem; gap: 5px; }
    .am-catalog-results { flex-wrap: wrap; gap: 7px 15px; padding-block: 21px 23px; }
    .am-catalog-results > p { font-size: .76rem; }
    .am-catalog-per-page { gap: 7px; }
    .am-catalog-per-page label { font-size: .67rem; }
    .am-catalog-per-page button { padding-inline: 3px; font-size: .69rem; }
    .am-catalog-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .am-catalog-card-copy { padding: 19px 20px 20px; }
    .am-catalog-card h2 { font-size: 1.05rem; }
    .am-catalog-empty { padding: 30px 20px; }
    .am-catalog-empty p { font-size: .83rem; }
}
@media (max-width: 359px) {
    .am-catalog-search { grid-template-columns: minmax(0, 1fr); }
    .am-catalog-card-footer .am-catalog-button { width: 100%; }
}
