/* ===== Course archive — [hb_shop] ===== */
.hbsh{--ink:var(--hb-ink);--gold:var(--hb-gold);--muted:#5a6b64;--line:#e3e8e5;--soft:#f6f3ea;--field:#f7f8f6;
  max-width:1280px;margin:0 auto;padding:clamp(24px,4vw,48px) 0 clamp(48px,6vw,88px);color:var(--ink);font-family:var(--e-global-typography-primary-font-family,inherit)}
.hbsh *{box-sizing:border-box;font-family:inherit}
.hbsh a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* head */
.hbsh-head{max-width:760px;margin:0 auto clamp(28px,4vw,44px);text-align:center}
.hbsh-crumbs{margin-bottom:14px;font-size:13px;color:var(--muted)}
.hbsh-crumbs a{color:var(--muted) !important;text-decoration:none !important}
.hbsh-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;font-weight:700;color:var(--hb-gold-dark)}
.hbsh-eyebrow::before,.hbsh-eyebrow::after{content:"";width:18px;height:2px;border-radius:2px;background:var(--gold)}
.hbsh-title{margin:0;font-size:clamp(26px,3.4vw,42px);font-weight:900;line-height:1.55;color:var(--ink);text-wrap:balance}
.hbsh-intro{margin:12px auto 0;max-width:620px;font-size:clamp(15px,1.3vw,16.5px);line-height:2.1;color:var(--muted)}

/* featured: two main courses */
.hbsh-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.hbsh-main{display:flex;flex-direction:column;border-radius:calc(26px * var(--hb-rs));overflow:hidden;background:var(--ink);color:#fff;box-shadow:0 24px 60px rgba(var(--hb-ink-rgb),.18)}
.hbsh-main--light{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px rgba(var(--hb-ink-rgb),.04),0 18px 50px rgba(var(--hb-ink-rgb),.08)}
.hbsh-main__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#0f2620}
.hbsh-main__media img{display:block;width:100% !important;height:100% !important;object-fit:cover;transition:transform .5s ease}
.hbsh-main:hover .hbsh-main__media img{transform:scale(1.03)}
.hbsh-tag{position:absolute;top:14px;right:14px;padding:4px 14px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:900;line-height:1.9;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.hbsh-main--light .hbsh-tag{background:#fff}
.hbsh-main__body{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.6vw,30px)}
.hbsh-main__title{margin:0 0 8px;font-size:clamp(19px,1.9vw,24px);font-weight:900;line-height:1.6}
.hbsh-main__title a{color:inherit !important;text-decoration:none !important}
.hbsh-main__text{margin:0 0 16px;font-size:14.5px;line-height:2;color:rgba(255,255,255,.75)}
.hbsh-main--light .hbsh-main__text{color:var(--muted)}
.hbsh-facts{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hbsh-facts li{margin:0;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:13px;font-weight:700}
.hbsh-main--light .hbsh-facts li{background:var(--soft);border-color:transparent;color:var(--ink)}
.hbsh-main__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 20px;margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.hbsh-main--light .hbsh-main__foot{border-top-color:var(--line)}
.hbsh-main__price{margin:0;font-size:14px;line-height:1.7;color:rgba(255,255,255,.8)}
.hbsh-main__price b{font-size:clamp(20px,2vw,24px);font-weight:900;color:var(--gold)}
.hbsh-main__price small{display:block;font-size:12.5px;color:rgba(255,255,255,.6)}
.hbsh-main--light .hbsh-main__price{color:var(--ink);font-size:clamp(18px,1.8vw,22px);font-weight:900}
.hbsh-main--light .hbsh-main__price del{font-size:14px;font-weight:500;color:#9aa79f}
.hbsh-main--light .hbsh-main__price ins{text-decoration:none}
.hbsh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:calc(12px * var(--hb-rs));background:var(--ink);color:#fff !important;text-decoration:none !important;font-size:14.5px;font-weight:900;transition:background .2s ease}
.hbsh-btn:hover{background:var(--hb-ink-hover)}
.hbsh-btn--gold{background:var(--gold);color:var(--ink) !important}
.hbsh-btn--gold:hover{background:var(--hb-gold-hover)}
.hbsh-btn b{font-weight:700;unicode-bidi:isolate;opacity:.85}

.hbsh-mode{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-bottom:10px;padding:5px 12px 5px 14px;border-radius:999px;background:rgba(var(--hb-gold-rgb),.16);color:var(--gold);font-size:13.5px;font-weight:900}
.hbsh-mode svg{width:18px;height:18px}
.hbsh-main--light .hbsh-mode{background:var(--ink);color:var(--gold)}
.hbsh-fit{margin:0 0 16px;padding:10px 14px;border-radius:calc(12px * var(--hb-rs));background:rgba(255,255,255,.07);border-right:3px solid var(--gold);font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.88)}
.hbsh-fit b{color:var(--gold);font-weight:900}
.hbsh-main--light .hbsh-fit{background:var(--soft);color:var(--ink)}
.hbsh-main--light .hbsh-fit b{color:var(--hb-gold-dark)}

/* other courses */
.hbsh-more{margin-top:clamp(44px,6vw,72px)}
.hbsh-more__head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.hbsh-more__head h2{margin:0;font-size:clamp(20px,2vw,26px);font-weight:900;color:var(--ink)}
.hbsh-more__head p{margin:0;font-size:14px;color:var(--muted)}
.hbsh-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
/* course card itself → assets/css/cards.css (shared by shop, home, [hb_courses]) */

/* CTA */
.hbsh-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 28px;margin-top:clamp(40px,5vw,64px);padding:clamp(22px,3vw,32px);border-radius:calc(22px * var(--hb-rs));background:var(--soft);border:1px solid rgba(var(--hb-gold-rgb),.35)}
.hbsh-cta strong{display:block;font-size:clamp(16px,1.6vw,19px);font-weight:900;line-height:1.7;color:var(--ink)}
.hbsh-cta p{margin:2px 0 0;font-size:14px;color:var(--muted)}

@media (max-width:1024px){.hbsh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.hbsh-feature{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .hbsh-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .hbsh-main__foot{flex-direction:column;align-items:stretch}
  .hbsh-btn{width:100%}
  .hbsh-cta{text-align:center;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.hbsh-main__media img{transition:none}}
