/* ============================================================
   Dr. Seth Healing — the all-programmes listing (/programs/).
   The room header comes from 03-programme.css; only the grid and
   language-switcher adaptations are new.
   ============================================================ */

.prog-archive{padding:89px 0 99px}
.prog-archive__lead{
  max-width:760px;margin:27px auto 0;
  font-size:var(--fs-lead);line-height:27px;color:var(--ink);
}
.prog-archive__empty{text-align:center;margin:40px 0 0;color:var(--ink)}

.prog-grid{
  margin-top:44px;display:grid;gap:20px;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,408px),1fr));
}

.prog-card{
  display:grid;grid-template-rows:280px auto;
  background:var(--card);border-radius:var(--r-md);overflow:hidden;
  box-shadow:var(--sh-media);
  transition:box-shadow .3s ease,transform .3s ease;
}
.prog-card:hover{box-shadow:var(--sh-hover);transform:translateY(-1px)}

.prog-card__media{position:relative;overflow:hidden}
.prog-card__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-settle)}
.prog-card:hover .prog-card__media img{transform:scale(1.05)}
.prog-card__media::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,13,6,0) 34%,rgba(20,13,6,.55) 68%,rgba(20,13,6,.88) 100%);
}
.prog-card__media h3{
  position:absolute;left:27px;right:20px;bottom:26px;z-index:2;margin:0;
  font-family:var(--serif);font-weight:400;color:var(--lamp-warm);
  font-size:26.4px;line-height:31px;text-transform:uppercase;letter-spacing:.012em;
  overflow-wrap:anywhere;text-wrap:balance;
}

.prog-card__body{display:flex;flex-direction:column;min-width:0;padding:22px 24px 18px}
.prog-card__body p{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink)}
.prog-card__more{
  display:inline-flex;align-items:center;gap:9px;
  margin-top:auto;padding-top:18px;color:var(--brass-ink);font-size:var(--fs-label);
}
.prog-card__more::after{
  content:"";width:16px;height:7px;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:skewX(-42deg);
}

/* --- language switcher (nav) -------------------------------- */
.nav__lang{position:relative}
.nav__lang-toggle{gap:8px}
.nav__lang-current{display:inline-flex;align-items:center;gap:8px}
.nav__lang-toggle .globe{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;flex:0 0 auto}
.nav__lang-toggle .chev{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.4;flex:0 0 auto;transition:transform var(--t-state)}
.nav__lang.is-open .nav__lang-toggle .chev{transform:rotate(180deg)}
.nav__lang-menu{
  position:absolute;top:calc(100% + 16px);left:50%;width:200px;padding:12px;
  transform:translate(-50%,8px);background:var(--card);color:var(--ink);
  border-radius:var(--r-lg);box-shadow:var(--sh-float);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity var(--t-state),transform var(--t-state);
}
.nav__lang.is-open .nav__lang-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav__lang-menu li + li{border-top:1px solid var(--hairline)}
.nav__lang-menu a{
  display:flex;align-items:center;justify-content:space-between;
  min-height:45px;padding:8px 12px;border-radius:var(--r-sm);
  transition:background var(--t-state),color var(--t-state);
}
.nav__lang-menu a:hover,.nav__lang-menu a:focus-visible{background:rgba(199,146,72,.14);color:var(--green)}
.nav__lang-menu .tick{font-size:13px;color:var(--brass-ink);opacity:0}
.nav__lang-menu a[aria-current="true"] .tick{opacity:1}

/* --- responsive --------------------------------------------- */
@media (max-width:1120px){
  .prog-archive{padding:72px 0 84px}
  .prog-card{grid-template-rows:248px auto}
  .prog-card__media h3{font-size:23px;line-height:27px;left:20px;right:16px}
  .nav .wrap{position:relative}
  .nav__links{
    display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;
    max-height:calc(100vh - 104px);overflow:auto;padding:14px;gap:0;
    flex-direction:column;align-items:stretch;
    background:var(--card);color:var(--ink);
    border-radius:var(--r-lg);box-shadow:var(--sh-float);
  }
  .nav.is-menu-open .nav__links{display:flex}
  .nav__mobile-toggle{
    display:grid;place-content:center;gap:5px;width:44px;height:44px;margin-left:10px;
    border:1px solid rgba(233,206,159,.8);border-radius:var(--r-pill);
    background:rgba(29,57,34,.34);color:var(--lamp-nav);cursor:pointer;
  }
  .nav__links > a,.nav__item--dropdown,.nav__menu,.nav__menu > li,.nav__lang{display:block;width:100%}
  .nav__links > a,.nav__toggle,.nav__menu > li > a,.nav__lang-toggle{padding:12px;border-radius:var(--r-sm)}
  .nav__toggle,.nav__lang-toggle{width:100%;justify-content:space-between}
  .nav__lang-menu{
    position:static;width:auto;padding:0 0 0 12px;transform:none;
    background:transparent;border-radius:0;box-shadow:none;
    display:none;opacity:1;visibility:visible;pointer-events:auto;
  }
  .nav__lang.is-open .nav__lang-menu{display:block;transform:none}
  .nav__cta--header{margin-left:auto}
  .nav__cta-label--desktop{display:none}
  .nav__cta-label--mobile{display:inline}
}
@media (max-width:860px){
  .prog-grid{grid-template-columns:1fr;margin-top:32px}
  .prog-card{grid-template-rows:240px auto}
}
