/* PHSD v1.6 - Prairie Heights base styling (Proxima Nova assumed loaded by theme) */
.phsd-wrapper{
  font-family:'Proxima Nova',sans-serif;

  --phsd-bg: #F5E9D7;
  --phsd-surface: #F5E9D7;
  --phsd-border: rgba(19,63,46,.15);
  --phsd-text: #133F2E;
  --phsd-muted: rgba(19,63,46,.85);

  --phsd-primary: #133F2E;
  --phsd-teal: #5CA3B3;

  --phsd-secondary1: #347A6C;
  --phsd-secondary2: #F36E67;
  --phsd-secondary3: #E35205;

  --phsd-black: #111111;
  --phsd-white: #FFFFFF;
  --phsd-cream: #F5E9D7;

  --phsd-social: var(--phsd-teal);
}

.phsd-wrapper.phsd--dark{
  --phsd-bg: #0F1F18;
  --phsd-surface: #132720;
  --phsd-border: rgba(245,233,215,.14);
  --phsd-text: #F5E9D7;
  --phsd-muted: rgba(245,233,215,.78);
}

.phsd-grid{display:grid;gap:24px;}
.cols-3 .phsd-grid{grid-template-columns:repeat(3,1fr);}
.cols-4 .phsd-grid{grid-template-columns:repeat(4,1fr);}
.cols-5 .phsd-grid{grid-template-columns:repeat(5,1fr);}
.cols-6 .phsd-grid{grid-template-columns:repeat(6,1fr);}

@media(max-width:980px){.phsd-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:600px){.phsd-grid{grid-template-columns:1fr!important;}}

.phsd-card{
  border-radius:18px;
  padding:18px;
  text-align:center;
  border:1px solid var(--phsd-border);
  background:var(--phsd-surface);
  color:var(--phsd-text);
}
.phsd-card__img{width:100%;height:auto;border-radius:14px;display:block;}
.phsd-card__name{margin:.9rem 0 .25rem;font-weight:900;color:var(--phsd-text);}
.phsd-card__position{color:var(--phsd-muted);font-weight:700;margin:0 0 .75rem;}

.phsd-card__actions{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;}
.phsd-btn{
  background:var(--phsd-primary);
  color:#fff;border-radius:999px;padding:.6rem 1rem;
  font-weight:900;text-decoration:none;border:0;cursor:pointer;
}
.phsd-iconbtn{
  width:42px;height:42px;border-radius:999px;
  background:var(--phsd-primary);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;border:0;cursor:pointer;
}
.phsd-iconbtn--wide{width:auto;padding:0 14px;gap:10px;justify-content:flex-start;}
.phsd-iconbtn svg,.phsd-social svg{width:18px;height:18px;fill:currentColor;}
.phsd-iconbtn__text{font-weight:800;}

.phsd-socials{display:flex;gap:10px;justify-content:center;margin-top:12px;}
.phsd-social{
  width:40px;height:40px;border-radius:999px;
  background:var(--phsd-social);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;
}

.phsd-dept-nav ul{display:flex;gap:10px;list-style:none;padding:0;margin:0 0 18px;overflow:auto;}
.phsd-dept-nav a{
  white-space:nowrap;
  background:rgba(255,255,255,.9);
  color:var(--phsd-text);
  border-radius:999px;
  padding:.5rem 1rem;
  font-weight:900;
  text-decoration:none;
  border:1px solid var(--phsd-border);
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.phsd-wrapper.phsd--dark .phsd-dept-nav a{background:rgba(255,255,255,.06);}
.phsd-dept-nav a.is-active{background:var(--phsd-primary);color:#fff;}
.phsd-dept__heading{color:var(--phsd-text);font-weight:900;margin:28px 0 12px;}

.phsd-card--reveal{opacity:0;transform:translateY(12px);transition:opacity .45s ease, transform .45s ease;}
.phsd-card--reveal.is-visible{opacity:1;transform:translateY(0);}

/* Modal */
.phsd-modal{display:none;position:fixed;inset:0;z-index:99999;}
.phsd-modal.is-open{display:block;}
.phsd-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.62);}
.phsd-modal__panel{position:relative;max-width:860px;margin:8vh auto 0;background:#fff;border-radius:18px;overflow:auto;max-height:84vh;padding:20px;}
.phsd-wrapper.phsd--dark .phsd-modal__panel{background:#0f1412;color:var(--phsd-text);}
.phsd-modal__close{position:absolute;top:10px;right:14px;font-size:28px;line-height:1;border:0;background:transparent;cursor:pointer;color:inherit;}
.phsd-modal__content{padding-top:28px;}

/* Profile */
.phsd-profile{max-width:1100px;margin:0 auto;}
.phsd-profile__top{display:grid;grid-template-columns:340px 1fr;gap:2rem;align-items:start;}
.phsd-profile__img{width:100%;height:auto;border-radius:18px;display:block;}
.phsd-profile__name{color:var(--phsd-text);font-weight:900;margin:0 0 .35rem;}
.phsd-profile__position{color:var(--phsd-muted);font-weight:800;margin:0 0 1rem;}
@media(max-width:980px){
  .phsd-profile__top{grid-template-columns:1fr;}
  .phsd-iconbtn--wide{width:100%;justify-content:center;}
  .phsd-iconbtn__text{display:none;}
}
