/* Nighthawk Learn — My Courses list + course player (main site). */
:root {
	--nhl-gold: #C6A15B;
	--nhl-gold-dark: #8a6a2f;
	--nhl-ink: #14161A;
	--nhl-text: #2D3748;
	--nhl-muted: #718096;
	--nhl-line: #EDF2F7;
	--nhl-soft: #F7FAFC;
}

.nhl-preview-banner {
	background: #fdf6e7; border: 1px solid #ecd9ab; color: #5c4515;
	padding: .6rem .9rem; border-radius: 8px; margin-bottom: 1.25rem; font-size: .9rem;
}

/* ---------- List ---------- */
.nhl-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.nhl-card {
	background: #fff; border: 1px solid var(--nhl-line); border-radius: 12px; padding: 1.1rem 1.2rem 1.2rem;
	display: flex; flex-direction: column; gap: .55rem; box-shadow: 0 1px 2px rgba(20, 22, 26, .04);
}
.nhl-card-title { font-size: 1.05rem; line-height: 1.35; margin: 0; color: var(--nhl-ink); }
.nhl-badge { display: inline-block; font-size: .75rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; }
.nhl-badge.ok { background: #e6f4ea; color: #1a7f37; }
.nhl-badge.warn { background: #fdf3e1; color: #8a5a00; }
.nhl-badge.bad { background: #fde8e8; color: #b42318; }
.nhl-badge.muted { background: var(--nhl-soft); color: #4A5568; }
.nhl-bar { height: 8px; background: var(--nhl-line); border-radius: 999px; overflow: hidden; }
.nhl-bar span { display: block; height: 100%; background: var(--nhl-gold); border-radius: 999px; }
.nhl-bar-label { font-size: .8rem; color: var(--nhl-muted); margin-top: -.25rem; }
.nhl-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem .9rem; margin: .25rem 0 .5rem; }
.nhl-facts dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--nhl-muted); margin: 0; }
.nhl-facts dd { margin: 0; font-weight: 600; color: var(--nhl-text); font-size: .92rem; }
.nhl-note { font-size: .88rem; color: var(--nhl-muted); margin: 0; }
.nhl-btn {
	display: inline-flex; align-items: center; justify-content: center; align-self: flex-start;
	background: var(--nhl-gold-dark); color: #fff !important; text-decoration: none !important;
	border: 1px solid var(--nhl-gold-dark); border-radius: 8px; padding: .55rem 1.1rem; font-weight: 600; font-size: .92rem;
	cursor: pointer; line-height: 1.2;
}
.nhl-btn:hover, .nhl-btn:focus-visible { background: #6f5525; border-color: #6f5525; }
.nhl-btn-ghost { background: #fff; color: var(--nhl-ink) !important; border-color: #d5dbe3; }
.nhl-btn-ghost:hover, .nhl-btn-ghost:focus-visible { background: var(--nhl-soft); border-color: #c3cad4; }

/* ---------- Player: take the full content width (hide the account sidebar) ---------- */
body.nhl-player .woocommerce-MyAccount-navigation,
body.nhl-player .account-navigation-wrap { display: none !important; }
body.nhl-player .woocommerce-MyAccount-content { width: 100% !important; float: none !important; margin: 0 !important; max-width: none !important; }
body.nhl-player .entry-header, body.nhl-player .woocommerce-account .entry-title { display: none; }
body.nhl-player .content-container.site-container { max-width: 1400px; }

.nhl-player-wrap { display: flex; flex-direction: column; gap: .6rem; background: #fff; }
.nhl-player-bar {
	display: flex; align-items: center; gap: .75rem 1rem; flex-wrap: wrap;
	border: 1px solid var(--nhl-line); border-radius: 10px; padding: .6rem .8rem; background: #fff;
}
.nhl-back { font-weight: 600; text-decoration: none; color: var(--nhl-gold-dark); white-space: nowrap; }
.nhl-player-title { flex: 1 1 16rem; min-width: 0; display: flex; flex-direction: column; }
.nhl-player-title strong { color: var(--nhl-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nhl-player-title span { font-size: .8rem; color: var(--nhl-muted); }
.nhl-player-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.nhl-frame {
	width: 100%; border: 1px solid var(--nhl-line); border-radius: 10px; background: #fff;
	height: calc(100vh - 220px); height: calc(100dvh - 220px); min-height: 560px;
}
.nhl-player-wrap:fullscreen { padding: .5rem; }
.nhl-player-wrap:fullscreen .nhl-frame { height: calc(100vh - 80px); min-height: 0; }
.nhl-player-wrap.is-pseudo-full {
	position: fixed; inset: 0; z-index: 99999; padding: .5rem; overflow: auto;
}
.nhl-player-wrap.is-pseudo-full .nhl-frame { height: calc(100dvh - 80px); min-height: 0; }

@media (max-width: 600px) {
	.nhl-facts { grid-template-columns: 1fr; }
	.nhl-frame { height: calc(100dvh - 170px); min-height: 480px; border-radius: 0; border-left: 0; border-right: 0; }
	.nhl-player-actions { width: 100%; }
	.nhl-player-actions .nhl-btn { flex: 1 1 auto; }
}
.nhl-btn-cert { background: #1f7a4d; border-color: #1f7a4d; margin: 0 .5rem .5rem 0; }
.nhl-btn-cert:hover, .nhl-btn-cert:focus-visible { background: #17603c; border-color: #17603c; }
