/** HYDA-brand presentation for output owned by the HYDA Portal plugin. */

.hyda-learner-session .hyda-portal-hero { padding-block: clamp(2.5rem, 5vw, 4rem); }
.hyda-portal-auth-layout { gap: clamp(1.5rem, 4vw, 3rem); }

.hyda-portal-auth-card,
.hyda-portal-support-card,
.hyda-portal-account-bar,
.hyda-portal-empty-state,
.hyda-portal-status {
	background: var(--hyda-white);
	border: 1px solid var(--hyda-border);
	border-radius: var(--hyda-radius);
	box-shadow: var(--hyda-shadow);
}

.hyda-portal-auth-card h2,
.hyda-portal-support-card h2 { margin-top: 0; }

.hyda-portal-support-card {
	background: linear-gradient(145deg, var(--hyda-deep-navy), var(--hyda-blue));
	color: var(--hyda-white);
}

.hyda-portal-support-card :where(h2, p, a) { color: var(--hyda-white); }
.hyda-portal-support-card a { font-weight: 800; text-decoration-color: rgba(255,255,255,.5); }
.hyda-portal-kicker { color: var(--hyda-gold-text); margin-bottom: .45rem; }
.hyda-portal-support-card .hyda-portal-kicker,
.hyda-portal-welcome .hyda-portal-kicker,
.hyda-portal-support-strip .hyda-portal-kicker,
.hyda-learner-progress .hyda-portal-kicker { color: var(--hyda-gold); }

.hyda-portal-field input {
	border: 2px solid var(--hyda-border);
	min-height: 54px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.hyda-portal-field input:focus {
	border-color: var(--hyda-blue);
	box-shadow: 0 0 0 4px rgba(10,47,114,.12);
}

.hyda-portal-field input:focus-visible {
	outline: 3px solid var(--hyda-gold);
	outline-offset: 3px;
}

.hyda-portal-button {
	box-shadow: 0 10px 28px rgba(245,168,0,.22);
	transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.hyda-portal-button:hover {
	background: var(--hyda-gold-hover);
	box-shadow: 0 14px 34px rgba(245,168,0,.3);
	color: var(--hyda-deep-navy);
	transform: translateY(-1px);
}

.hyda-portal-message { border-radius: .65rem; }
.hyda-portal-account-bar { background: var(--hyda-navy); color: var(--hyda-white); }
.hyda-portal-account-bar :where(h2, p, a) { color: var(--hyda-white); }
.hyda-portal-empty-state { padding-block: clamp(3rem, 8vw, 6rem); }
.hyda-portal-empty-state > span { color: var(--hyda-gold); }
.hyda-portal-empty-state p { margin-inline: auto; max-width: 48rem; }

.hyda-portal-subnav {
	box-shadow: 0 10px 32px rgba(6,27,73,.07);
	position: sticky;
	top: 112px;
	z-index: 20;
}
.hyda-portal-subnav a:hover,.hyda-portal-subnav a:focus-visible { background: var(--hyda-gold); color: var(--hyda-deep-navy); }
.hyda-portal-welcome { background: linear-gradient(135deg,var(--hyda-navy),var(--hyda-blue)); border-radius: var(--hyda-radius); box-shadow: var(--hyda-shadow); color: var(--hyda-white); padding: clamp(1.75rem,5vw,3.5rem); }
.hyda-portal-welcome :where(h2,p,a) { color: var(--hyda-white); }
.hyda-portal-stats > div { box-shadow: 0 12px 34px rgba(6,27,73,.06); }
.hyda-portal-stats strong { color: var(--hyda-navy); line-height: 1; }
.hyda-portal-stats span { color: var(--hyda-muted); margin-top: .5rem; }
.hyda-portal-section-heading h2 { margin: 0; }
.hyda-module-card { box-shadow: 0 16px 44px rgba(6,27,73,.07); transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.hyda-module-card:hover { border-color: rgba(245,168,0,.7); box-shadow: 0 22px 54px rgba(6,27,73,.12); transform: translateY(-2px); }
.hyda-module-number { background: linear-gradient(180deg,var(--hyda-navy),var(--hyda-blue)); color: var(--hyda-gold); }
.hyda-notice-card { border-left: 5px solid var(--hyda-gold); box-shadow: 0 12px 34px rgba(6,27,73,.05); }
.hyda-notice-card time { color: var(--hyda-muted); }
.hyda-notice-card h3 { margin: .4rem 0 .75rem; }
.hyda-notice-card > div > :last-child { margin-bottom: 0; }
.hyda-portal-support-strip { background: linear-gradient(135deg,var(--hyda-deep-navy),var(--hyda-blue)); box-shadow: var(--hyda-shadow); padding: clamp(1.75rem,5vw,3rem); }
.hyda-portal-support-strip a { font-weight: 800; }
.hyda-module-breadcrumb { color: var(--hyda-muted); }
.hyda-module-breadcrumb a { font-weight: 800; }
.hyda-module-header h2 { font-size: clamp(2rem,5vw,3.75rem); max-width: 18ch; }
.hyda-module-intro { color: var(--hyda-muted); max-width: 48rem; }
.hyda-module-content { box-shadow: var(--hyda-shadow); }
.hyda-module-content > :first-child { margin-top: 0; }
.hyda-module-content > :last-child { margin-bottom: 0; }
.hyda-module-pagination > div a { font-weight: 800; }
.hyda-module-pagination span { color: var(--hyda-muted); letter-spacing: .08em; }
.hyda-portal-muted { color: var(--hyda-muted); }

@media (prefers-reduced-motion: reduce) {
	.hyda-portal-button,
	.hyda-portal-field input,
	.hyda-module-card { transition: none; }
	.hyda-portal-button:hover,
	.hyda-module-card:hover { transform: none; }
}

@media (max-width: 900px) {
	.hyda-portal-subnav { position: static; }
}

@media (max-width: 600px) {
	.hyda-portal-subnav { border-radius: 1rem; }
	.hyda-portal-subnav a { flex: 1 1 calc(50% - .25rem); justify-content: center; text-align: center; }
	.hyda-module-card { grid-template-columns: 3.5rem 1fr; }
	.hyda-module-number { padding-inline: .75rem; }
}
