:root {
	--light-bg-base: #f8fafc;
	--light-bg-surface: #f0f4f8;
	--light-bg-card: #ffffff;
	--light-text-main: #1e293b;
	--light-text-muted: #64748b;
	--blue-primary: #006080;
	--blue-hover: #004860;
	--blue-soft: #e0f2fe;
	--blue-light-bg: #f0f9ff;
	--border-blue: rgba(0, 96, 128, 0.22);
	--border-subtle: rgba(0, 0, 0, 0.08);
	--shadow-subtle: 0 10px 30px rgba(15, 23, 42, 0.05);
	--shadow-hover: 0 18px 40px rgba(0, 96, 128, 0.15);
}

body {
	font-family: 'Plus Jakarta Sans', sans-serif;
	color: var(--light-text-main);
	background-color: var(--light-bg-base);
	overflow-x: hidden;
	line-height: 1.6;
}

h1, h2, h3, h4, .font-serif {
	font-family: 'Playfair Display', Georgia, serif;
	color: var(--light-text-main);
}

.text-blue-gradient {
	background: linear-gradient(135deg, #004860 0%, #0088b3 50%, #00374a 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.text-blue { color: var(--blue-primary) !important; }
.hover-blue:hover { color: var(--blue-primary) !important; }
.bg-light-base { background-color: var(--light-bg-base) !important; }
.bg-light-surface { background-color: var(--light-bg-surface) !important; }
.bg-light-card { background-color: var(--light-bg-card) !important; }
.border-blue-subtle { border-color: var(--border-blue) !important; }

.card-craft {
	background-color: var(--light-bg-card);
	border: 1px solid var(--border-blue);
	border-radius: 12px;
	box-shadow: var(--shadow-subtle);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
}
.card-craft:hover {
	transform: translateY(-5px);
	border-color: var(--blue-primary);
	box-shadow: var(--shadow-hover);
}

.btn-blue {
	background: linear-gradient(135deg, #007ca6 0%, #004860 100%);
	color: #ffffff;
	font-weight: 700;
	border: none;
	box-shadow: 0 4px 18px rgba(0, 96, 128, 0.25);
	transition: all 0.25s ease;
}
.btn-blue:hover {
	background: linear-gradient(135deg, #008ebe 0%, #005673 100%);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 6px 22px rgba(0, 96, 128, 0.35);
}

.btn-outline-blue {
	background: transparent;
	color: var(--blue-primary);
	border: 1px solid var(--blue-primary);
	font-weight: 600;
	transition: all 0.25s ease;
}
.btn-outline-blue:hover {
	background: var(--blue-soft);
	color: var(--blue-hover);
	border-color: var(--blue-hover);
	transform: translateY(-2px);
}

.badge-blue {
	background-color: var(--blue-soft);
	color: var(--blue-primary);
	border: 1px solid var(--border-blue);
	font-weight: 600;
	letter-spacing: 0.5px;
}

.accordion-craft .accordion-item {
	background-color: var(--light-bg-card);
	border: 1px solid var(--border-blue);
	border-radius: 10px !important;
	margin-bottom: 0.75rem;
	overflow: hidden;
	box-shadow: var(--shadow-subtle);
}
.accordion-craft .accordion-button {
	background-color: var(--light-bg-card);
	color: var(--light-text-main);
	font-weight: 600;
	box-shadow: none;
}
.accordion-craft .accordion-button:not(.collapsed) {
	background-color: var(--light-bg-surface);
	color: var(--blue-primary);
	border-bottom: 1px solid var(--border-blue);
}

.nav-pills-craft .nav-link {
	color: var(--light-text-muted);
	border: 1px solid transparent;
	border-radius: 8px;
	transition: all 0.2s;
}
.nav-pills-craft .nav-link.active {
	background: var(--blue-soft);
	color: var(--blue-primary);
	border-color: var(--blue-primary);
}

.bg-pattern-light {
	background-image: radial-gradient(rgba(0, 96, 128, 0.12) 1px, transparent 1px);
	background-size: 28px 28px;
}

.alert-blue {
	background-color: var(--blue-light-bg);
	border: 1px solid var(--border-blue);
	color: var(--light-text-main);
}