/* Full-width header, footer, and intro chrome for 政大微學程查詢系統 */

:root {
	--nccu-ink: #2f2b26;
	--nccu-muted: #6d675d;
	--nccu-cream: #f6f1e7;
	--nccu-paper: #fffdf8;
	--nccu-line: rgba(47, 43, 38, 0.1);
	--nccu-terracotta: #b5532a;
	--nccu-olive: #6f7f3f;
	--nccu-footer: #2c261f;
}

#sp-header {
	position: relative;
	z-index: 200;
	width: 100%;
	min-height: 92px;
	background: var(--nccu-paper) !important;
	border-bottom: 1px solid var(--nccu-line);
	box-shadow: 0 10px 28px rgba(47, 43, 38, 0.05);
}

#sp-header::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #6f7f3f 0%, #c4a35a 48%, #b5532a 100%);
}

#sp-header > .container {
	max-width: none !important;
	width: 100% !important;
	padding: 0.85rem clamp(1.25rem, 4.5vw, 4rem) !important;
}

#sp-header .logo,
#sp-header .logo a {
	display: flex;
	align-items: center;
}

#sp-header .row {
	width: 100%;
	justify-content: space-between;
	align-items: center !important;
}

#sp-header #sp-logo,
#sp-header #sp-menu {
	flex: 0 1 auto;
	width: auto;
	max-width: none;
}

#sp-header #sp-menu {
	flex: 1 1 auto;
}

#sp-header #sp-menu .sp-column,
#sp-header .sp-megamenu-wrapper {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
}

#sp-header .logo-image {
	height: 66px !important;
	width: auto;
	max-width: min(420px, 68vw);
	object-fit: contain;
}

#sp-header .sp-megamenu-parent > li > a,
#sp-header .sp-megamenu-parent > li > span,
#sp-header .sp-megamenu-parent > li:last-child > a {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: none;
	color: var(--nccu-ink);
	padding: 0.85rem 1.05rem;
	line-height: 1.2;
}

#sp-header .sp-megamenu-parent > li.active > a,
#sp-header .sp-megamenu-parent > li.current-item > a,
#sp-header .sp-megamenu-parent > li:hover > a {
	color: var(--nccu-terracotta);
}

@media (min-width: 768px) {
	#sp-header ul.sp-megamenu-parent {
		display: flex !important;
		align-items: center;
		float: none;
		gap: 0.15rem;
	}

	#sp-header #offcanvas-toggler {
		display: none !important;
	}
}

.com-courseproposals #sp-main-body > .container {
	max-width: 1280px !important;
	width: 100%;
	padding-left: clamp(1.25rem, 4.5vw, 4rem);
	padding-right: clamp(1.25rem, 4.5vw, 4rem);
}

.view-intro #sp-main-body {
	padding-top: 0;
	padding-bottom: 0;
}

.view-intro #sp-main-body > .container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.view-intro #sp-main-body > .container > .container-inner {
	padding: 0;
}

#sp-footer {
	display: none !important;
}

.nccu-site-footer {
	width: 100%;
	background:
		radial-gradient(circle at 12% 0%, rgba(196, 163, 90, 0.16), transparent 28%),
		radial-gradient(circle at 88% 100%, rgba(111, 127, 63, 0.18), transparent 32%),
		var(--nccu-footer);
	color: #f4eee4;
}

.nccu-site-footer a {
	color: #f4eee4;
	text-decoration: none;
}

.nccu-site-footer a:hover,
.nccu-site-footer a:focus {
	color: #e7c889;
}

.nccu-site-footer__inner {
	display: grid;
	grid-template-columns: 1.4fr 0.8fr 0.8fr;
	gap: 2.5rem 3rem;
	max-width: 1280px;
	margin: 0 auto;
	padding: 3.5rem clamp(1.25rem, 4.5vw, 4rem) 2.5rem;
}

.nccu-site-footer__kicker {
	margin: 0 0 0.35rem;
	letter-spacing: 0.18em;
	font-size: 0.78rem;
	color: #e7c889;
	text-transform: uppercase;
}

.nccu-site-footer__name {
	margin: 0 0 0.85rem;
	font-size: clamp(1.6rem, 2.4vw, 2.1rem);
	font-weight: 700;
	line-height: 1.25;
	color: #fffdf8;
}

.nccu-site-footer__desc {
	margin: 0;
	max-width: 28rem;
	color: rgba(244, 238, 228, 0.78);
	line-height: 1.75;
}

.nccu-site-footer h2 {
	margin: 0 0 0.85rem;
	font-size: 0.92rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #e7c889;
}

.nccu-site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nccu-site-footer li + li {
	margin-top: 0.55rem;
}

.nccu-site-footer__bar {
	border-top: 1px solid rgba(244, 238, 228, 0.12);
	padding: 1rem clamp(1.25rem, 4.5vw, 4rem);
	text-align: center;
	font-size: 0.88rem;
	color: rgba(244, 238, 228, 0.65);
}

@media (max-width: 767.98px) {
	#sp-header {
		min-height: 76px;
	}

	#sp-header .logo-image {
		height: 42px !important;
	}

	.nccu-site-footer__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-top: 2.5rem;
	}
}
