/* /courses — reuses home.css (.closing/.shead/.library/.btn--*) and events.css
   (.ev-drawer/.ev-chip/.ev-filtersbtn + the @media max-width:900px bottom-sheet rule).
   Those two stylesheets are NOT loaded site-wide; they are loaded for this page only
   because pages/practice.php lists them in $page['styles'] (alongside shared.css and
   this file). This file holds only course-library-specific layout. */
:root{ --nav-h:76px; }

/* ---- HERO (full-height, mirrors ab-hero; all-white title + kicker) ---- */
.pr-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black)}
.pr-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* stronger scrim so white title reads over bright video frames */
.pr-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,11,.52) 0%,rgba(8,7,11,.32) 38%,rgba(8,7,11,.52) 68%,rgba(8,7,11,.86) 100%)}
.pr-hero__in{position:relative;z-index:2;text-align:center;color:#fff;max-width:62rem;padding-top:12vh;padding-bottom:12vh}
.pr-hero__kick{color:#fff;letter-spacing:.34em;margin-bottom:1.1rem;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.pr-hero__h{font-family:"Cinzel Decorative",serif;font-weight:700;color:#fff;font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.08;margin-top:.7rem;text-shadow:0 2px 26px rgba(0,0,0,.55),0 1px 5px rgba(0,0,0,.4)}
/* hero title must NOT be faded by reveal — start fully visible */
.pr-hero__in.reveal{opacity:1;transform:none}
.pr-hero__tag{margin-top:1.1rem;font-weight:300;font-size:clamp(.98rem,1.6vw,1.18rem);color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.pr-hero__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2rem}
/* scroll-down cue (mirrors .ab-hero__cue) */
.pr-hero__cue{position:absolute;left:50%;bottom:2.4%;transform:translateX(-50%);z-index:2;color:#fff;opacity:.85}
.pr-hero__cue svg{width:32px;height:auto;animation:pr-bob 2.3s linear infinite}
@keyframes pr-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ---- ACTIVE LIVE STRIP (compact; light cream) ---- */
.pr-active{background:var(--bone);color:var(--ink);padding:clamp(2.8rem,7vh,5rem) 0}
.pr-active__subh{font-family:"Cinzel",serif;font-weight:400;color:var(--ink);letter-spacing:.04em;font-size:clamp(1rem,1.8vw,1.35rem);margin:0 0 1.2rem}
.pr-active__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(1rem,2.4vw,1.6rem)}
/* active session cards — light cream cards, amber accent */
.pr-livecard{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(58,42,30,.1);border-radius:14px;overflow:hidden;box-shadow:0 8px 28px -14px rgba(40,20,8,.22)}
.pr-livecard__media{display:block;aspect-ratio:3/2;background:var(--sand)}
.pr-livecard__media img{width:100%;height:100%;object-fit:cover}
.pr-livecard__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem}
.pr-livecard__when{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;color:var(--amber)}
.pr-livecard__title{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1.18rem;line-height:1.2;color:var(--ink);margin:0}
.pr-livecard__sub{font-weight:300;font-size:.9rem;color:rgba(58,42,30,.7);margin:0}
.pr-livecard__cta{align-self:flex-start;margin-top:.4rem;font-size:.7rem;padding:.7em 1.3em}
.pr-active__empty{color:rgba(58,42,30,.72);font-weight:300;font-size:1.02rem}
.pr-active__empty a{color:var(--amber)}

/* ---- LIBRARIES (light/cream; #library anchors here) ---- */
.pr-libsection{background:var(--bone);color:var(--ink);padding:clamp(3rem,8vh,6rem) 0}
.pr-libhead{grid-column:1/-1;text-align:left;margin:clamp(2rem,5vh,3.2rem) 0 .6rem}
.pr-libhead:first-child{margin-top:0}
.pr-libhead .shead__h{font-family:"Cinzel",serif;font-weight:400;color:var(--ink);font-size:clamp(1.4rem,2.6vw,2rem);margin:0}
.pr-libhead .shead__sub{font-weight:300;font-size:clamp(.9rem,1.35vw,1rem);color:rgba(58,42,30,.72);margin-top:.5rem}
.pr-libhead.hidden{display:none}
.pr-libhead--deferred{display:none}

/* ---- 6-COLUMN COURSE GRID ---- */
.pr-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(.9rem,1.8vw,1.4rem);align-items:start}
.pr-insert-anchor{display:none}

/* ---- UNIFORM COURSE CARDS ---- */
.pr-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px -16px rgba(40,20,8,.28);height:100%}
.pr-card.hidden{display:none}
.pr-card[data-pr-deferred="true"]{display:none}
.pr-card__link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1}
/* fixed aspect-ratio image — 16:11, same height on every card */
.pr-card__thumb{position:relative;aspect-ratio:16/11;background:linear-gradient(135deg,#caa074,#9a6a3e);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);flex-shrink:0}
.pr-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pr-card__mark svg{opacity:.7}
/* library badge */
.pr-card__lib{position:absolute;top:.5rem;left:.5rem;font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.55rem;padding:.3em .65em;border-radius:999px;color:#fff}
.pr-card__lib--yogaalchemy{background:rgba(8,7,11,.74)}
.pr-card__lib--live{background:rgba(201,81,34,.92)}
.pr-card__lib--samudra{background:var(--amber)}
/* card body: fixed-height title row so all cards align */
.pr-card__info{padding:.7rem .85rem .0rem;display:flex;flex-direction:column;flex:1}
.pr-card__title{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:1rem;line-height:1.2;color:var(--ink);margin:0;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  min-height:calc(1rem * 1.2 * 2)}
/* full-width, rounded orange-gradient brand CTA (mirrors .btn--solar) */
.pr-card__cta{display:block;text-align:center;margin:.7rem .8rem .85rem;padding:.78em .8em;
  background:linear-gradient(118deg,#ffd9a0,var(--amber) 55%,#e8742c);color:#1d1006;
  font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;
  text-decoration:none;border:0;border-radius:999px;cursor:pointer;flex-shrink:0;
  box-shadow:0 8px 22px -10px rgba(201,81,34,.7);transition:transform .2s ease,box-shadow .2s ease}
.pr-card__cta:hover{transform:translateY(-2px);box-shadow:0 14px 32px -10px rgba(201,81,34,.85)}

/* ---- PROGRESSIVE COURSE REVEAL ---- */
.pr-loadmore{display:flex;justify-content:center;margin:clamp(1.6rem,4vh,2.8rem) 0 0}
.pr-loadmore__btn{display:inline-flex;align-items:center;justify-content:center;gap:.85rem;min-height:46px;padding:.78rem 1.25rem;border:1px solid rgba(58,42,30,.18);border-radius:999px;background:#fff;color:var(--ink);font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;cursor:pointer;box-shadow:0 12px 28px -18px rgba(40,20,8,.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pr-loadmore__btn small{font-family:"Cormorant Garamond",serif;text-transform:none;letter-spacing:0;font-size:.92rem;color:rgba(58,42,30,.62)}
.pr-loadmore__btn:hover{transform:translateY(-1px);border-color:rgba(201,81,34,.38);box-shadow:0 16px 34px -18px rgba(201,81,34,.48)}
.pr-loadmore__btn[hidden],.pr-loadmore[hidden]{display:none}

/* ---- RESPONSIVE GRID BREAKPOINTS ---- */
@media (max-width:1200px){.pr-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:860px){.pr-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.pr-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}
@media (max-width:900px){
  .pr-active__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
}
@media (max-width:480px){
  .pr-grid{grid-template-columns:1fr 1fr;gap:.65rem}
  .pr-card__title{font-size:.9rem;min-height:calc(.9rem * 1.2 * 2)}
  .pr-card__cta{font-size:.54rem;padding:.65em .4em}
}
