/* پویش‌ها */
.hm-pagehead__row { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.hm-grid--pv { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }

.hm-banners { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; margin-bottom: 18px; -webkit-overflow-scrolling: touch; }
.hm-banner { position: relative; flex: 0 0 min(88%, 560px); scroll-snap-align: start; border-radius: var(--hm-radius); overflow: hidden; aspect-ratio: 16 / 7; background: var(--hm-tint); display: block; }
.hm-banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-banner__cap { position: absolute; inset-inline: 0; bottom: 0; padding: 28px 16px 12px; color: #fff; font-weight: 700; background: linear-gradient(transparent, rgba(0, 0, 0, .7)); }

.hm-pills { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 14px; }
.hm-pill { flex: 0 0 auto; padding: 6px 16px; border: 1px solid var(--hm-line); border-radius: 999px; background: var(--hm-card); color: var(--hm-muted); text-decoration: none; font-size: .9rem; }
.hm-pill.is-on, .hm-pill:hover { background: var(--hm-primary); color: #fff; border-color: var(--hm-primary); }

.hm-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--hm-line); margin-bottom: 20px; }
.hm-tab { padding: 10px 18px; text-decoration: none; color: var(--hm-muted); border-bottom: 3px solid transparent; font-weight: 700; }
.hm-tab.is-on { color: var(--hm-primary); border-color: var(--hm-primary); }

.hm-card--pv .hm-card__link { display: block; }
.hm-pv__img { display: block; position: relative; aspect-ratio: 16 / 10; background: var(--hm-tint); overflow: hidden; }
.hm-pv__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-pv__body { display: block; padding: 14px 16px 16px; }
.hm-pv__chip { display: inline-block; padding: 3px 12px; border-radius: 999px; font-size: .8125rem; font-weight: 700; background: #fff3d6; color: #6b4a00; }
.hm-pv__img .hm-pv__chip { position: absolute; inset-block-start: 10px; inset-inline-start: 10px; }
.hm-pv__chip--active { background: #fff3d6; color: #6b4a00; }
.hm-pv__chip--done, .hm-pv__chip--funded { background: #dff3e6; color: #14532d; }
.hm-pv__chip--ended { background: #e8e8e8; color: #444; }
.hm-bar-track { display: block; height: 8px; border-radius: 999px; background: var(--hm-tint); overflow: hidden; margin: 12px 0 6px; }
.hm-bar-fill { display: block; height: 100%; background: var(--hm-accent); border-radius: 999px; }
.hm-pv__nums { display: flex; justify-content: space-between; gap: 8px; font-size: .875rem; color: var(--hm-muted); margin-bottom: 6px; }
.hm-pv__nums strong { color: var(--hm-primary); }

/* صفحه‌ی پویش */
.hm-pvpage { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
.hm-pvpage__side { position: sticky; top: 90px; display: grid; gap: 16px; }
.hm-pvbox { background: var(--hm-card); border: 1px solid var(--hm-line); border-radius: var(--hm-radius); padding: 18px; }
.hm-pvbox h3 { margin: 0 0 10px; font-size: 1rem; }
.hm-pvbox__raised { font-size: 1.5rem; font-weight: 800; color: var(--hm-primary); margin-top: 10px; }
.hm-pvbox__stats { display: flex; gap: 18px; color: var(--hm-muted); font-size: .9rem; margin-bottom: 12px; }
.hm-pvbox__stats strong { color: inherit; color: #1c2b27; }
.hm-pvblock { margin-top: 32px; }
.hm-reports { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.hm-reports li { display: flex; gap: 14px; padding: 14px; border: 1px solid var(--hm-line); border-radius: var(--hm-radius); background: var(--hm-card); }
.hm-reports__img img { width: 88px; height: 88px; object-fit: cover; border-radius: 8px; display: block; }
.hm-prose--sm { font-size: .9375rem; }
.hm-donors { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.hm-donors li { display: flex; justify-content: space-between; gap: 10px; font-size: .9rem; }

/* فرم‌ها */
.hm-form label { display: block; font-weight: 700; font-size: .9rem; }
.hm-form input[type=text], .hm-form input[type=tel], .hm-form select, .hm-form textarea { width: 100%; margin-top: 4px; padding: 9px 12px; border: 1px solid var(--hm-line); border-radius: 8px; font: inherit; background: #fff; }
.hm-form p { margin: 0 0 12px; }
.hm-form__row { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.hm-form .hm-check, .hm-methods label { font-weight: 400; display: flex; gap: 8px; align-items: center; }
.hm-hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.hm-amounts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 12px; }
.hm-amount { padding: 9px; border: 1px solid var(--hm-primary); background: #fff; color: var(--hm-primary); border-radius: 8px; font: inherit; font-weight: 700; cursor: pointer; }
.hm-amount.is-on, .hm-amount:hover { background: var(--hm-primary); color: #fff; }
.hm-methods { display: flex; gap: 18px; margin-bottom: 12px; }
.hm-cardinfo { background: var(--hm-tint); border-radius: 8px; padding: 12px; margin-bottom: 12px; }
.hm-cardinfo__no { font-size: 1.25rem; font-weight: 800; letter-spacing: .06em; text-align: center; user-select: all; }
.hm-notice { padding: 10px 14px; border-radius: 8px; margin: 12px 0; font-size: .9375rem; }
.hm-notice--ok { background: #dff3e6; color: #14532d; }
.hm-notice--warn { background: #fff3d6; color: #6b4a00; }
.hm-notice--err { background: #fde2e2; color: #7f1d1d; }
.hm-muted { color: var(--hm-muted); }

@media (max-width: 880px) {
	.hm-pvpage { grid-template-columns: 1fr; }
	.hm-pvpage__side { position: static; order: -1; }
	.hm-form__row { grid-template-columns: 1fr; }
}
