/* Shared styles for the program pages (Health, Housing, Advocacy, Supportive Services). Prefix: prg- */

@font-face { font-family: "Prata"; font-style: normal; font-weight: 400; font-display: swap; src: url("../../fonts/prata.woff2") format("woff2"); }
@font-face { font-family: "Hind"; font-style: normal; font-weight: 400; font-display: swap; src: url("../../fonts/hind.woff2") format("woff2"); }

/* banner ------------------------------------------------------------- */
.prg-banner { background-position: var(--prg-pos, 0 43%); }
.prg-banner .banner__title { font-size: 32px; line-height: 1.3em; }
.prg-banner--lg .banner__title { font-size: 55px; }
.prg-banner .btn { padding: 20px 40px; }
.prg-banner .btn .ci-fa { width: 14px; height: 14px; flex: none; fill: currentColor; }
.prg-banner .btn__in { gap: 5px; }
@media (max-width: 1024px) {
	.prg-banner { padding: 100px 10px; border-width: 100px 20px 40px; background-position: 0 0; }
	.prg-banner .banner__title { font-size: 32px; }
	.prg-banner--lg .banner__title { font-size: 55px; }
}
@media (max-width: 767px) {
	.prg-banner { padding: 60px 0; border-width: 90px 20px 30px; background-position: 50% 50%; }
	.prg-banner .banner__title, .prg-banner--lg .banner__title { font-size: 24px; line-height: 1.3em; }
	.prg-banner .col > .ww { padding-top: 10px; }
	.prg-banner .crumbs { margin-top: -5px; }
	.prg-banner .btn { padding: 18px 32px; }
}

/* section + headings + text ------------------------------------------ */
.prg-sec { padding: 100px 0; }
.prg-h2 { margin: 0; padding: 0; font: 600 42px/1.2em var(--f-head); color: var(--c-primary); }
.prg-h2--accent { font-size: 31px; color: var(--c-accent); }
.prg-anchor { height: 0; margin: 0 0 30px !important; }
.prg-anchor.prg-anchor--0 { margin: 0 !important; }
.housing-house { width: 34px; height: 30px; fill: var(--c-accent); }
.icon-box__badge .housing-house { display: block; }
.prg-text { padding: 0 138px; font-weight: 400; font-size: 16px; line-height: 1.5em; text-align: center; }
.prg-text--plain { padding: 0; }
.prg-text p { font-weight: 400; }
.prg-text strong { font-weight: 400; }
.prg-text--light p { font-weight: 300; }
.prg-text a { font-weight: 800; }
@media (max-width: 1024px) {
	.prg-sec { padding: 80px 10px; }
	.prg-text { padding: 0; }
	.prg-h2 { font-size: 36px; }
}
@media (max-width: 767px) {
	.prg-sec { padding: 40px 10px; }
	.prg-text { font-size: 14px; }
	.prg-sec .btn { padding: 18px 32px; }
	.prg-h2 { font-size: 26px; line-height: 31.2px; }
	.prg-h2--accent { font-size: 26px; line-height: 31.2px; }
}

/* 3-up columns with independent stacks (Elementor inner section, no gap) --- */
.prg-cols { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 40px 0 0; }
.col > .ww > .prg-cols { margin-bottom: 0; }
.prg-col { width: 33.3333%; display: flex; }
.prg-col__in { width: 100%; min-width: 0; }
.prg-col:nth-child(3n+1) > .prg-col__in { margin-right: 20px; }
.prg-col:nth-child(3n+2) > .prg-col__in { margin-left: 10px; margin-right: 10px; }
.prg-col:nth-child(3n) > .prg-col__in { margin-left: 20px; }
@media (max-width: 1024px) and (min-width: 768px) {
	.prg-col { width: 50%; }
	.prg-col:nth-child(3n) { width: 100%; }
	.prg-col:nth-child(3n+1) > .prg-col__in { margin: 0 15px 0 0; }
	.prg-col:nth-child(3n+2) > .prg-col__in { margin: 0 0 0 15px; }
	.prg-col:nth-child(3n) > .prg-col__in { margin: 30px 0 0; }
}
@media (max-width: 767px) {
	.prg-cols { margin-top: 20px; }
	.prg-col, .prg-col:nth-child(3n) { width: 100%; }
	.prg-col > .prg-col__in, .prg-col:nth-child(n) > .prg-col__in { margin: 0; }
	.prg-col:not(:first-child) > .prg-col__in { margin-top: 20px; }
	.prg-col__in:empty { display: none; }
}

/* tiles + cards (use .icon-box from main.css) ------------------------- */
.prg-tile--dark .icon-box__title { color: var(--c-dark); }
.icon-box.prg-card { display: flow-root; padding: 0; text-align: center; }
.prg-card__body h3 { margin: 0 0 10px; }
.prg-card__body p { margin: 0 0 14.4px; color: #7a7a7a; font-weight: 300; }
@media (max-width: 1024px) {
	.icon-box.prg-card { padding: 30px; }
}

/* contact & hours box ------------------------------------------------- */
.prg-box { max-width: 1140px; margin: 0 auto; width: 100%; }
.col > .ww > .prg-box { margin-bottom: 0; }
.prg-box__ww { display: flex; flex-direction: column; align-items: center; padding: 30px; }
.prg-box__ww > * { width: 100%; }
.prg-box__ww > :not(:last-child) { margin-bottom: 20px; }
.prg-box__ww .prg-h2 { text-align: center; }
.prg-box__h { margin: 0; padding: 0; font: 400 30px/40px "Prata", sans-serif; color: var(--c-primary); text-align: center; }
.prg-box__text { color: #727982; font: 400 15px/26px "Hind", sans-serif; text-align: center; }
.prg-box__text p { margin: 0 0 14.4px; }
.prg-box__text a { color: #000; font-weight: 800; }
.prg-box__text strong { font-weight: 700; }
.prg-box__btn { display: block; width: 100%; }
.prg-box__btn .ci-fa, .prg-btn .ci-fa { width: 14px; height: 14px; fill: currentColor; flex: none; }
.prg-btn { display: block; width: 100%; }
@media (max-width: 1024px) {
	.prg-box__ww { padding: 2em; }
	.prg-box__h { font-size: 24px; line-height: 30px; }
}
