.peak-gate__card { max-width: 560px; margin: 0 auto; background: #fff; border: 1px solid #e8e5dd; border-radius: 12px; padding: 32px; box-shadow: 0 10px 30px rgba(13,27,61,.06); }
.peak-gate__card h2 { font-size: 1.5rem; font-weight: 700; color: #0d1b3d; margin: 6px 0 12px; line-height: 1.25; }
.peak-gate__card p { color: #5a6478; margin: 0 0 16px; }
.peak-gate__card form p { margin-bottom: 14px; }
.peak-gate__card label { display: block; font-weight: 600; font-size: 14px; color: #0d1b3d; margin-bottom: 6px; }
.peak-gate__card input[type="text"], .peak-gate__card input[type="password"] { width: 100%; padding: 11px 13px; border: 1px solid #d9d6cd; border-radius: 6px; font: inherit; box-sizing: border-box; }
.peak-gate__card .login-remember label { display: inline-flex; gap: 8px; align-items: center; font-weight: 500; color: #5a6478; }
.peak-gate__card input[type="submit"] { width: 100%; padding: 13px; border: 0; border-radius: 6px; background: #f29040; color: #0d1b3d; font: inherit; font-weight: 600; cursor: pointer; }
.peak-gate__card input[type="submit"]:hover { background: #d97a2c; }
.peak-gate__small { font-size: 14px; }
.peak-gate__small a { color: #5a8a9a; text-decoration: underline; }

/* ---------- My Programs ---------- */
.peak-hub__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.peak-hub__head h2 { font-size: 1.75rem; color: #0d1b3d; margin: 0 0 4px; }
.peak-hub__meta { color: #5a6478; margin: 0; }
.peak-hub__notice { background: #fff4ea; border: 1px solid #f29040; border-radius: 10px; padding: 16px 20px; margin-bottom: 24px; color: #0d1b3d; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; justify-content: space-between; }
.peak-hub__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.peak-hub__card { background: #fff; border: 1px solid #e8e5dd; border-radius: 12px; padding: 24px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 10px 30px rgba(13,27,61,.05); scroll-margin-top: 110px; }
.peak-hub__card.is-owned { border-top: 4px solid #f29040; }
.peak-hub__card.is-locked { background: #f7f8fa; box-shadow: none; }
.peak-hub__card.is-locked h3, .peak-hub__card.is-locked p { color: #6b7385; }
.peak-hub__card:target { outline: 3px solid #5a8a9a; outline-offset: 2px; }
.peak-hub__card-top { display: flex; gap: 14px; align-items: center; margin-bottom: 8px; }
.peak-hub__badge { width: 52px; height: 52px; flex: none; }
.peak-hub__card.is-locked .peak-hub__badge { filter: grayscale(1); opacity: .55; }
.peak-hub__status { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5a8a9a; }
.peak-hub__card.is-owned .peak-hub__status { color: #c96f20; }
.peak-hub__card h3 { font-size: 1.2rem; color: #0d1b3d; margin: 2px 0 0; line-height: 1.25; }
.peak-hub__card p { color: #5a6478; margin: 0 0 12px; }
.peak-hub__pages { list-style: none; margin: 4px 0 0; padding: 0; border-top: 1px solid #eee; }
.peak-hub__pages li { border-bottom: 1px solid #eee; }
.peak-hub__pages a { display: flex; justify-content: space-between; gap: 12px; padding: 11px 2px; color: #0d1b3d; font-weight: 600; text-decoration: none; }
.peak-hub__pages a:hover { color: #c96f20; }
.peak-hub__pages a span { color: #f29040; }
.peak-hub__empty { font-size: 14px; font-style: italic; }
.peak-hub__actions { margin-top: auto !important; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.peak-hub__more, .peak-strip__link, .peak-hub__foot a { color: #3f6f7f; font-weight: 600; }
.peak-hub__foot { margin-top: 32px; color: #5a6478; font-size: 15px; }

/* ---------- Member strip on product pages ---------- */
.peak-strip { background: #eef3f5; border-bottom: 1px solid #d6e2e7; }
.peak-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; color: #0d1b3d; font-weight: 600; }
.peak-strip__btns { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.peak-strip .pk-btn { padding: 10px 18px; font-size: 15px; }
@media (max-width: 640px) { .peak-hub__grid { grid-template-columns: 1fr; } .peak-strip__inner { flex-direction: column; align-items: flex-start; } }

/* ---------- SafetyNET Courses ---------- */
.peak-sn { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px 32px; }
.peak-sn__group { background: #fff; border: 1px solid #e8e5dd; border-top: 4px solid #f29040; border-radius: 12px; padding: 22px 24px; }
.peak-sn__group h2 { font-size: 1.2rem; color: #0d1b3d; margin: 0 0 10px; }
