/*
 * Vendored from pattespatte/vanilla-css-design-system @ v1.0.2
 * https://github.com/pattespatte/vanilla-css-design-system/tree/v1.0.2/styles
 *
 * Fetched once and embedded locally (no CDN/npm build step, same
 * self-hosting approach used for fonts and the removed Swiper.js CDN
 * dependency elsewhere in this theme). DO NOT hand-edit this file —
 * re-vendor it wholesale from upstream on version bumps instead.
 *
 * Included files (in this order), a deliberate subset:
 *   base/reset.css
 *   variables/{borders,breakpoints,other,spacing,typography}.css
 *     (variables/colors.css is a deprecated upstream stub, skipped)
 *   foundation/{settings,typography}.css
 *   components/{buttons,forms,alerts}.css
 *   utilities/{accessibility,animations,borders,helpers,spacing}.css
 *
 * Deliberately NOT vendored: layout/* and components/{cards,data,
 * navigation,popups}.css — this theme's hero/carousel/testimonial-
 * card/practice-card/nav are bespoke, pixel-matched to the real
 * kzhukuk.com design and have no equivalent generic primitive here;
 * forcing them onto framework classes would be a fake adoption, not
 * a real one. utilities/print.css is skipped as unused right now.
 *
 * kzhukuk's own theme tokens/overrides live in
 * design-system/styles/themes/kzhukuk/{tokens.css,theme.css} and are
 * linked separately, right after this file — see partials/header.php.
 */

/* ===== source: base_reset.css ===== */
/* base/01-reset.css */

/* Reset styles */
html, body,
body::before,
body::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

/* ===== source: variables_borders.css ===== */
/* variables/borders.css */

/* Variables for border styles */
:root {
	--border-radius: var(--spacing-1);
	--border-width: 1px;
	--border-color: var(--color-gray-400);
}


/* ===== source: variables_breakpoints.css ===== */
/* variables/breakpoints.css */

:root {
	/* Small devices (landscape phones, 576px and up) */
	--breakpoint-sm: 576px;
	
	/* Medium devices (tablets, 768px and up) */
	--breakpoint-md: 768px;
	
	/* Large devices (desktops, 992px and up) */
	--breakpoint-lg: 992px;
	
	/* Extra large devices (large desktops, 1200px and up) */
	--breakpoint-xl: 1200px;
}


/* ===== source: variables_other.css ===== */
/* variables/other.css */

:root {
	/* Base transition duration */
	--transition-base: 200ms;

	/* Small shadow */
	--shadow-sm: 0px 1px 2px 0px rgba(0, 0, 0, 5%);

	/* Medium shadow */
	--shadow-md: 0px 4px 6px 0px rgba(0, 0, 0, 10%);

	/* Large shadow */
	--shadow-lg: 0px 10px 15px 0px rgba(0, 0, 0, 10%);
}


/* ===== source: variables_spacing.css ===== */
/* variables/spacing.css */

:root {
	--spacing-unit: 0.25rem;
	--spacing-1: calc(var(--spacing-unit) * 1);
	--spacing-2: calc(var(--spacing-unit) * 2);
	--spacing-3: calc(var(--spacing-unit) * 4);
	--spacing-4: calc(var(--spacing-unit) * 6);
	--spacing-5: calc(var(--spacing-unit) * 8);
}


/* ===== source: variables_typography.css ===== */
:root {
	/* Base font family */
	--font-family-base: system-ui, -apple-system, blinkmacsystemfont, "Segoe UI",
		roboto, oxygen, ubuntu, cantarell, sans-serif;

	/* Small text size */
	--text-size-sm: 0.875rem;

	/* Base text size */
	--text-size-base: 1rem;

	/* Large text size */
	--text-size-lg: 1.25rem;

	/* Light font weight */
	--text-weight-light: 200;

	/* Base font weight */
	--text-weight-base: 400;

	/* Bold font weight */
	--text-weight-bold: 700;

	/* Base line height */
	--line-height-base: 1.5;
}

/* ===== source: foundation_settings.css ===== */
/* base/settings.css */

/* Default (light theme) */
:root {
	--color-bg: var(--color-light);
	--color-text: var(--color-black);
}

/* Dark theme */
[data-theme="dark"] {
	--color-bg: var(--color-dark);
	--color-text: var(--color-white);

	/* Add dark theme variations */
}

[data-theme="dark"] body,
[data-theme="dark"] footer,
[data-theme="dark"] .card,
[data-theme="dark"] .input-group-text {
	background-color: var(--color-gray-800);
	color: var(--color-white);
}

[data-theme="dark"] a,
[data-theme="dark"] .breadcrumbs a {
	color: var(--color-primary-300);
}

[data-theme="dark"] .pagination a,
[data-theme="dark"] .pagination span,
[data-theme="dark"] a:hover,
[data-theme="dark"] .breadcrumbs a:hover {
	background-color: var(--color-gray-700);
	color: var(--color-primary-100);
}

[data-theme="dark"] .nav-link,
[data-theme="dark"] .pagination .disabled,
[data-theme="dark"] .pagination a:hover:not(.disabled) {
	background-color: var(--color-gray-800);
	border-color: var(--color-gray-600);
	color: var(--color-white);
}

[data-theme="dark"] .breadcrumbs .active {
	color: var(--color-white);
}

[data-theme="dark"] .pagination .active {
	background-color: var(--color-gray-900);
	border-color: var(--color-white);
	color: var(--color-white);
}


[data-theme="dark"] .nav-link.active {
	background-color: var(--color-gray-700);
	color: var(--color-primary-300);
	box-shadow: inset 0 -3px 0 0 var(--color-primary-100);
}

#theme-toggle {
	border: none;
	border-radius: 50%; /* Makes the button circular */
	width: 2rem;
	height: 2rem;
	cursor: pointer;
	padding: 0; /* Remove padding to ensure proper centering */
	display: flex; /* Use Flexbox */
	align-items: center; /* Center vertically */
	justify-content: center; /* Center horizontally */
	background-color: var(--color-bg); /* Use your theme's background color */
	color: var(--color-text); /* Use your theme's text color */
	font-size: var(--text-size-sm); /* Adjust emoji size */
	transition: background-color 0.3s, color 0.3s; /* Smooth transition */
}

[data-theme="dark"] #theme-toggle {
	background-color: var(--color-gray-700); /* Dark mode background */
	color: var(--color-white); /* Dark mode text color */
}

/* ===== source: foundation_typography.css ===== */
/* base/typography.css */
body {
	font-family: var(--font-family-base);
	font-size: var(--text-size-base);
	font-weight: var(--text-weight-base);
	line-height: var(--line-height-base);
	background-color: var(--color-bg);
	color: var(--color-text);
}

a {
	color: var(--color-primary);
	text-decoration: none;
}

a:hover {
	color: var(--color-primary-900);
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-bottom: var(--spacing-3);
	font-weight: var(--text-weight-bold);
	line-height: 1.2;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.75rem;
}

h4 {
	font-size: 1.5rem;
}

h5 {
	font-size: 1.25rem;
}

h6 {
	font-size: 1rem;
}

p {
	margin-bottom: var(--spacing-3);
}

blockquote {
	margin: 0 0 var(--spacing-3);
	padding: var(--spacing-3);
	background-color: var(--color-gray-50);
	border-left: 4px solid var(--color-primary);
}

.text-size-sm {
	font-size: var(--text-size-sm);
}

.text-size-lg {
	font-size: var(--text-size-lg);
}

.text-weight-light {
	font-weight: var(--text-weight-light);
}

.text-weight-base {
	font-weight: var(--text-weight-base);
}

.text-weight-bold {
	font-weight: var(--text-weight-bold);
}

.text-style-italic {
	font-style: italic;
}


/* ===== source: components_buttons.css ===== */
/* components/buttons.css */
.btn {
	display: inline-block;
	padding: var(--spacing-2) var(--spacing-3);
	font-size: var(--text-weight-base);
	font-weight: var(--text-weight-base);
	line-height: var(--line-height-base);
	text-align: center;
	text-decoration: none;
	border: var(--border-width) solid transparent;
	border-radius: calc(var(--border-radius) * 2);
	box-shadow: var(--shadow-md);
	transition: var(--transition-base);
	cursor: pointer;
}

.btn-primary {
	background-color: var(--color-primary);
	color: white;
}

.btn-primary:hover {
	color: wheat;
}

.btn-secondary {
	background-color: var(--color-primary-100);
	border-color: var(--color-primary-200);
	color: var(--color-primary);
}

.btn-primary:hover,
.btn-secondary:hover {
	filter: brightness(90%);
	box-shadow: var(--shadow-sm);
}

/* ===== source: components_forms.css ===== */
/* components/forms.css */

/* Form Groups */
.form-group {
	margin-bottom: var(--spacing-3);
}

/* Labels */
.form-label {
	display: inline-block;
	margin-bottom: var(--spacing-2);
	font-weight: var(--text-weight-bold);
	color: var(--color-dark);
}

/* Required indicator */
.form-label.required::after {
	content: "* (required)";
	color: var(--color-danger);
	margin-left: var(--spacing-1);
}

/* Basic Input Styles */
.form-input,
.form-select,
.form-textarea {
	display: block;
	width: 100%;
	padding: var(--spacing-2) var(--spacing-3);
	font-size: var(--text-weight-base);
	font-family: var(--font-family-base);
	line-height: var(--line-height-base);
	color: var(--color-dark);
	background-color: var(--color-white);
	border: var(--border-width) solid var(--border-color);
	border-radius: var(--border-radius);
	transition: var(--transition-base);
}

/* Textarea specific */
.form-textarea {
	min-height: 100px;
	resize: vertical;
}

/* Select specific */
.form-select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23343a40' viewBox='0 0 16 16'%3E%3Cpath d='M8 11l-7-7h14l-7 7z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--spacing-2) center;
	padding-right: var(--spacing-5);
}

/* Focus states */
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px rgba(0, 123, 255, 25%);
}

/* Disabled state */
.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
	background-color: var(--color-light);
	cursor: not-allowed;
	opacity: 0.7;
}

.form-check-input[type="checkbox"] {
	/* Appearance reset */
	appearance: none;

	/* Basic styling */
	background-color: var(--color-white);
	margin: 0;
	width: 1.15em;
	height: 1.15em;
	border: 1px solid var(--color-gray-400);
	border-radius: 0.15em;

	/* For alignment */
	display: inline-grid;
	place-content: center;
}

/* Checked state */
.form-check-input[type="checkbox"]:checked {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}

/* Checkmark */
.form-check-input[type="checkbox"]:checked::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	transform: scale(1);
	background-color: var(--color-white);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.form-check-input {
	width: 1rem;
	height: 1rem;
}

.form-check-label {
	margin-bottom: 0;
	cursor: pointer;
}

.form-check-input[type="radio"] {
	/* Appearance reset */
	appearance: none;

	/* Basic styling */
	background-color: var(--color-white);
	width: 1.15em;
	height: 1.15em;
	border: 1px solid var(--color-gray-400);
	border-radius: 50%;

	/* Make it round */

	/* For alignment */
	display: inline-grid;
	place-content: center;
}

/* Checked state */
.form-check-input[type="radio"]:checked {
	background-color: var(--color-white);

	/* Keep background white */
	border-color: var(--color-primary);
}

/* Radio dot */
.form-check-input[type="radio"]:checked::before {
	content: "";
	width: 0.65em;
	height: 0.65em;
	border-radius: 50%;
	transform: scale(1);
	background-color: var(--color-primary);

	/* Color for the dot */
	box-shadow: inset 1em 1em var(--color-primary);
}

/* Hover state */
.form-check-input[type="radio"]:hover {
	cursor: pointer;
	border-color: var(--color-primary);
}

/* Focus state */
.form-check-input[type="radio"]:focus {
	outline: 2px solid var(--color-primary-200);
	outline-offset: 2px;
}

/* Disabled state */
.form-check-input[type="radio"]:disabled {
	background-color: var(--color-gray-200);
	border-color: var(--color-gray-300);
	cursor: not-allowed;
}

/* Disabled and checked state */
.form-check-input[type="radio"]:disabled:checked::before {
	background-color: var(--color-gray-400);
	box-shadow: inset 1em 1em var(--color-gray-400);
}

/* Keep the same layout styling from checkboxes */
.form-check {
	display: flex;
	align-items: center;
	gap: 0.5em;
	min-height: 1.5rem;
	margin-bottom: var(--spacing-2);
}

/* Input sizes */
.form-input-sm,
.form-select-sm {
	padding: var(--spacing-1) var(--spacing-2);
	font-size: var(--text-size-sm);
}

.form-input-lg,
.form-select-lg {
	padding: var(--spacing-3) var(--spacing-4);
	font-size: var(--text-size-lg);
}

/* Validation states */
.form-input.is-valid,
.form-select.is-valid,
.form-textarea.is-valid {
	border-color: var(--color-success);
}

.form-input.is-invalid,
.form-select.is-invalid,
.form-textarea.is-invalid {
	border-color: var(--color-danger);
}

.form-feedback {
	display: block;
	margin-top: var(--spacing-1);
	font-size: var(--text-size-sm);
}

.form-feedback.invalid {
	color: var(--color-danger);
}

.form-feedback.valid {
	color: var(--color-success);
}

/* Input groups */
.input-group {
	display: flex;
	position: relative;
}

.input-group .form-input {
	position: relative;
	flex: 1 1 auto;
}

.input-group-text {
	display: flex;
	align-items: center;
	padding: var(--spacing-2) var(--spacing-3);
	background-color: var(--color-light);
	border: var(--border-width) solid var(--border-color);
	border-radius: var(--border-radius);
}

/* Search input */
.form-search {
	position: relative;
}

.form-search .form-input {
	padding-left: var(--spacing-5);
}

.form-search-icon {
	position: absolute;
	left: var(--spacing-2);
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-secondary);
}

/* Form grid */
.form-grid {
	display: grid;
	gap: var(--spacing-3);
	grid-template-columns: repeat(12, 1fr);
}

/* ===== source: components_alerts.css ===== */
/* components/alerts.css */
.alert {
	padding: var(--spacing-2) var(--spacing-3);
	border-radius: var(--border-radius);
	margin-bottom: var(--spacing-3);
	border: 1px solid transparent;
}

.alert-success {
	background-color: var(--color-success-100);
	color: var(--color-success);
	border-color: var(--color-success-200);
}

.alert-warning {
	background-color: var(--color-warning-100);
	color: var(--color-warning);
	border-color: var(--color-warning-200);
}

.alert-error {
	background-color: var(--color-danger-100);
	color: var(--color-danger);
	border-color: var(--color-danger-200);
}

/* ===== source: utilities_accessibility.css ===== */
/* utilities/accessibility.css */

/* Screen reader only utility class */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Focus visible outline for accessibility */
:focus-visible {
	outline: 3px solid var(--color-primary);
	outline-offset: 2px;
}

/* ===== source: utilities_animations.css ===== */
/* utilities/animations.css */

/* Transition utilities */
.transition-all {
	transition: all 0.3s ease-in-out;
}

.transition-transform {
	transition: transform 0.3s ease-in-out;
}

.transition-opacity {
	transition: opacity 0.3s ease-in-out;
}

.transition-colors {
	transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
}

/* Duration utilities */
.duration-75 {
	transition-duration: 75ms;
}

.duration-100 {
	transition-duration: 100ms;
}

.duration-150 {
	transition-duration: 150ms;
}

.duration-200 {
	transition-duration: 200ms;
}

.duration-300 {
	transition-duration: 300ms;
}

.duration-500 {
	transition-duration: 500ms;
}

.duration-700 {
	transition-duration: 700ms;
}

.duration-1000 {
	transition-duration: 1000ms;
}

/* Timing functions */
.ease-linear {
	transition-timing-function: linear;
}

.ease-in {
	transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-out {
	transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.ease-in-out {
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Basic animations */
.fade-in {
	animation: fade-in 0.3s ease-in-out;
}

.fade-out {
	animation: fade-out 0.3s ease-in-out;
}

.slide-in-right {
	animation: slide-in-right 0.3s ease-in-out;
}

.slide-out-right {
	animation: slide-out-right 0.3s ease-in-out;
}

.slide-in-left {
	animation: slide-in-left 0.3s ease-in-out;
}

.slide-out-left {
	animation: slide-out-left 0.3s ease-in-out;
}

.slide-in-up {
	animation: slide-in-up 0.3s ease-in-out;
}

.slide-out-up {
	animation: slide-out-up 0.3s ease-in-out;
}

.slide-in-down {
	animation: slide-in-down 0.3s ease-in-out;
}

.slide-out-down {
	animation: slide-out-down 0.3s ease-in-out;
}

.bounce {
	animation: bounce 0.5s cubic-bezier(0.8, 0, 1, 1) infinite;
}

.pulse {
	animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.spin {
	animation: spin 1s linear infinite;
}

/* Animation keyframes */
@keyframes fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fade-out {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes slide-in-right {
	from {
		transform: translateX(100%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes slide-out-right {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(100%);
	}
}

@keyframes slide-in-left {
	from {
		transform: translateX(-100%);
	}

	to {
		transform: translateX(0);
	}
}

@keyframes slide-out-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

@keyframes slide-in-up {
	from {
		transform: translateY(100%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes slide-out-up {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(-100%);
	}
}

@keyframes slide-in-down {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0);
	}
}

@keyframes slide-out-down {
	from {
		transform: translateY(0);
	}

	to {
		transform: translateY(100%);
	}
}

@keyframes bounce {
	0%,
	100% {
		transform: translateY(-25%);
		animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
	}

	50% {
		transform: translateY(0);
		animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
	}
}

@keyframes pulse {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: .5;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

/* Hover animations */
.hover-grow {
	transition: transform 0.3s ease;
}

.hover-grow:hover {
	transform: scale(1.05);
}

.hover-shrink {
	transition: transform 0.3s ease;
}

.hover-shrink:hover {
	transform: scale(0.95);
}

.hover-rotate {
	transition: transform 0.3s ease;
}

.hover-rotate:hover {
	transform: rotate(5deg);
}

/* ===== source: utilities_borders.css ===== */
/* utilities/borders.css */

/* Border with all sides */
.border {
	border-color: var(--border-color);
	border-style: solid;
	border-width: var(--border-width);
}

/* Border styles */
.border-solid {
	border-style: solid;
}

.border-dashed {
	border-style: dashed;
}

.border-dotted {
	border-style: dotted;
}

.border-double {
	border-style: double;
}

.border-none {
	border-style: none;
}

/* Border colors */
.border-primary {
	border-color: var(--color-primary);
}

.border-secondary {
	border-color: var(--color-secondary);
}

.border-success {
	border-color: var(--color-success);
}

.border-danger {
	border-color: var(--color-danger);
}

.border-warning {
	border-color: var(--color-warning);
}

.border-info {
	border-color: var(--color-info);
}

.border-light {
	border-color: var(--color-light);
}

.border-dark {
	border-color: var(--color-dark);
}

.border-white {
	border-color: var(--color-white);
}

.border-transparent {
	border-color: transparent;
}

/* Border radius */
.rounded-none {
	border-radius: 0;
}

.rounded-sm {
	border-radius: calc(var(--border-radius) * 0.5);
}

.rounded {
	border-radius: var(--border-radius);
}

.rounded-md {
	border-radius: calc(var(--border-radius) * 1.5);
}

.rounded-lg {
	border-radius: calc(var(--border-radius) * 2);
}

.rounded-xl {
	border-radius: calc(var(--border-radius) * 3);
}

.rounded-full {
	border-radius: 9999px;
}

/* Individual side borders */
.border-t {
	border-top: solid;
}

.border-r {
	border-right: solid;
}

.border-b {
	border-bottom: solid;
}

.border-l {
	border-left: solid;
}

/* Individual corner radius */
.rounded-t {
	border-top-left-radius: var(--border-radius);
	border-top-right-radius: var(--border-radius);
}

.rounded-r {
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius: var(--border-radius);
}

.rounded-b {
	border-bottom-right-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
}

.rounded-l {
	border-top-left-radius: var(--border-radius);
	border-bottom-left-radius: var(--border-radius);
}

/* Border opacity variations */
.border-opacity-0 {
	border-color: rgba(var(--border-color-rgb), 0);
}

.border-opacity-25 {
	border-color: rgba(var(--border-color-rgb), 0.25);
}

.border-opacity-50 {
	border-color: rgba(var(--border-color-rgb), 0.5);
}

.border-opacity-75 {
	border-color: rgba(var(--border-color-rgb), 0.75);
}

.border-opacity-100 {
	border-color: rgba(var(--border-color-rgb), 1);
}

/* Border widths */
.border-0 {
	border-width: 0;
}

.border-1 {
	border-width: 1px;
}

.border-2 {
	border-width: 2px;
}

.border-4 {
	border-width: 4px;
}

.border-8 {
	border-width: 8px;
}


/* ===== source: utilities_helpers.css ===== */
/* utilities/helpers.css */

.d-block {
	display: block;
}

.d-inline {
	display: inline;
}

.d-inline-block {
	display: inline-block;
}

.d-flex {
	display: flex;
}

.d-inline-flex {
	display: inline-flex;
}

.d-grid {
	display: grid;
}

.d-none {
	display: none;
}

.d-table {
	display: table;
}

.d-table-row {
	display: table-row;
}

.d-table-cell {
	display: table-cell;
}

.d-table-caption {
	display: table-caption;
}

.d-table-header-group {
	display: table-header-group;
}

.d-table-footer-group {
	display: table-footer-group;
}

.d-table-row-group {
	display: table-row-group;
}

.d-table-column {
	display: table-column;
}

.d-table-column-group {
	display: table-column-group;
}

.position-relative {
	position: relative;
}

.position-absolute {
	position: absolute;
}

.position-fixed {
	position: fixed;
}

.position-sticky {
	position: sticky;
}

.position-static {
	position: static;
}

.position-unset {
	position: unset;
}

.text-muted
{
	color: var(--color-muted);
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.text-center {
	text-align: center;
}

.text-black {
	color: var(--color-black);
}

.text-white {
	color: var(--color-white);
}

.text-primary {
	color: var(--color-primary);
}

.text-secondary {
	color: var(--color-secondary-500);
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.float-none {
	float: none;
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.flex {
	display: flex;
}

.flex-col {
	flex-direction: column;
}

.flex-row {
	flex-direction: row;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-nowrap {
	flex-wrap: nowrap;
}

.item-top-left,
.item-top-right,
.item-bottom-left,
.item-bottom-right {
	position: absolute;
}

.item-top-left {
	top: 0;
	left: 0;
}

.item-top-right {
	top: 0;
	right: 0;
}

.item-bottom-left {
	bottom: 0;
	left: 0;
}

.item-bottom-right {
	bottom: 0;
	right: 0;
}

.gap-1 {
	gap: var(--spacing-1);
}

.gap-2 {
	gap: var(--spacing-2);
}

.gap-3 {
	gap: var(--spacing-3);
}

.items-center {
	align-items: center;
}

.justify-between {
	justify-content: space-between;
}


/* ===== source: utilities_spacing.css ===== */
/* utilities/spacing.css */

/* Utility class for no margin */
.m-0 {
	margin: 0;
}

/* Utility classes for margin */
.m-1 {
	margin: var(--spacing-1);
}

.m-2 {
	margin: var(--spacing-2);
}

.m-3 {
	margin: var(--spacing-3);
}

.m-4 {
	margin: var(--spacing-4);
}

.m-5 {
	margin: var(--spacing-5);
}

.mx-0 {
	margin-left: 0;
	margin-right: 0;
}

.mx-1 {
	margin-left: var(--spacing-1);
	margin-right: var(--spacing-1);
}

.mx-2 {
	margin-left: var(--spacing-2);
	margin-right: var(--spacing-2);
}

.mx-3 {
	margin-left: var(--spacing-3);
	margin-right: var(--spacing-3);
}

.mx-4 {
	margin-left: var(--spacing-4);
	margin-right: var(--spacing-4);
}

.mx-5 {
	margin-left: var(--spacing-5);
	margin-right: var(--spacing-5);
}

.my-0 {
	margin-top: 0;
	margin-bottom: 0;
}

.my-1 {
	margin-top: var(--spacing-1);
	margin-bottom: var(--spacing-1);
}

.my-2 {
	margin-top: var(--spacing-2);
	margin-bottom: var(--spacing-2);
}

.my-3 {
	margin-top: var(--spacing-3);
	margin-bottom: var(--spacing-3);
}

.my-4 {
	margin-top: var(--spacing-4);
	margin-bottom: var(--spacing-4);
}

.my-5 {
	margin-top: var(--spacing-5);
	margin-bottom: var(--spacing-5);
}

.mb-1 {
	margin-bottom: var(--spacing-1);
}

.mb-2 {
	margin-bottom: var(--spacing-2);
}

.mb-3 {
	margin-bottom: var(--spacing-3);
}

.mb-4 {
	margin-bottom: var(--spacing-4);
}

.mb-5 {
	margin-bottom: var(--spacing-5);
}

.mt-1 {
	margin-top: var(--spacing-1);
}

.mt-2 {
	margin-top: var(--spacing-2);
}

.mt-3 {
	margin-top: var(--spacing-3);
}

.mt-4 {
	margin-top: var(--spacing-4);
}

.mt-5 {
	margin-top: var(--spacing-5);
}

/* Utility class for no padding */
.p-0 {
	padding: 0;
}

/* Utility classes for padding */
.p-1 {
	padding: var(--spacing-1);
}

.p-2 {
	padding: var(--spacing-2);
}

.p-3 {
	padding: var(--spacing-3);
}

.p-4 {
	padding: var(--spacing-4);
}

.p-5 {
	padding: var(--spacing-5);
}

.px-1 {
	padding-left: var(--spacing-1);
	padding-right: var(--spacing-1);
}

.px-2 {
	padding-left: var(--spacing-2);
	padding-right: var(--spacing-2);
}

.px-3 {
	padding-left: var(--spacing-3);
	padding-right: var(--spacing-3);
}

.px-4 {
	padding-left: var(--spacing-4);
	padding-right: var(--spacing-4);
}

.px-5 {
	padding-left: var(--spacing-5);
	padding-right: var(--spacing-5);
}

.py-1 {
	padding-top: var(--spacing-1);
	padding-bottom: var(--spacing-1);
}

.py-2 {
	padding-top: var(--spacing-2);
	padding-bottom: var(--spacing-2);
}

.py-3 {
	padding-top: var(--spacing-3);
	padding-bottom: var(--spacing-3);
}

.py-4 {
	padding-top: var(--spacing-4);
	padding-bottom: var(--spacing-4);
}

.py-5 {
	padding-top: var(--spacing-5);
	padding-bottom: var(--spacing-5);
}

.pb-1 {
	padding-bottom: var(--spacing-1);
}

.pb-2 {
	padding-bottom: var(--spacing-2);
}

.pb-3 {
	padding-bottom: var(--spacing-3);
}

.pb-4 {
	padding-bottom: var(--spacing-4);
}

.pb-5 {
	padding-bottom: var(--spacing-5);
}

.pt-1 {
	padding-top: var(--spacing-1);
}

.pt-2 {
	padding-top: var(--spacing-2);
}

.pt-3 {
	padding-top: var(--spacing-3);
}

.pt-4 {
	padding-top: var(--spacing-4);
}

.pt-5 {
	padding-top: var(--spacing-5);
}

/* Responsive utilities */
@media (width >=576px) {
	.sm-m-0 {
		margin: 0;
	}

	.sm-m-1 {
		margin: var(--spacing-1);
	}

	.sm-m-2 {
		margin: var(--spacing-2);
	}

	.sm-m-3 {
		margin: var(--spacing-3);
	}

	.sm-m-4 {
		margin: var(--spacing-4);
	}

	.sm-m-5 {
		margin: var(--spacing-5);
	}

	.sm-p-0 {
		padding: 0;
	}

	.sm-p-1 {
		padding: var(--spacing-1);
	}

	.sm-p-2 {
		padding: var(--spacing-2);
	}

	.sm-p-3 {
		padding: var(--spacing-3);
	}

	.sm-p-4 {
		padding: var(--spacing-4);
	}

	.sm-p-5 {
		padding: var(--spacing-5);
	}
}

@media (width >=768px) {
	.md-m-0 {
		margin: 0;
	}

	.md-m-1 {
		margin: var(--spacing-1);
	}

	.md-m-2 {
		margin: var(--spacing-2);
	}

	.md-m-3 {
		margin: var(--spacing-3);
	}

	.md-m-4 {
		margin: var(--spacing-4);
	}

	.md-m-5 {
		margin: var(--spacing-5);
	}

	.md-p-0 {
		padding: 0;
	}

	.md-p-1 {
		padding: var(--spacing-1);
	}

	.md-p-2 {
		padding: var(--spacing-2);
	}

	.md-p-3 {
		padding: var(--spacing-3);
	}

	.md-p-4 {
		padding: var(--spacing-4);
	}

	.md-p-5 {
		padding: var(--spacing-5);
	}
}

@media (width >=992px) {
	.lg-m-0 {
		margin: 0;
	}

	.lg-m-1 {
		margin: var(--spacing-1);
	}

	.lg-m-2 {
		margin: var(--spacing-2);
	}

	.lg-m-3 {
		margin: var(--spacing-3);
	}

	.lg-m-4 {
		margin: var(--spacing-4);
	}

	.lg-m-5 {
		margin: var(--spacing-5);
	}

	.lg-p-0 {
		padding: 0;
	}

	.lg-p-1 {
		padding: var(--spacing-1);
	}

	.lg-p-2 {
		padding: var(--spacing-2);
	}

	.lg-p-3 {
		padding: var(--spacing-3);
	}

	.lg-p-4 {
		padding: var(--spacing-4);
	}

	.lg-p-5 {
		padding: var(--spacing-5);
	}
}

@media (width >=1200px) {
	.xl-m-0 {
		margin: 0;
	}

	.xl-m-1 {
		margin: var(--spacing-1);
	}

	.xl-m-2 {
		margin: var(--spacing-2);
	}

	.xl-m-3 {
		margin: var(--spacing-3);
	}

	.xl-m-4 {
		margin: var(--spacing-4);
	}

	.xl-m-5 {
		margin: var(--spacing-5);
	}

	.xl-p-0 {
		padding: 0;
	}

	.xl-p-1 {
		padding: var(--spacing-1);
	}

	.xl-p-2 {
		padding: var(--spacing-2);
	}

	.xl-p-3 {
		padding: var(--spacing-3);
	}

	.xl-p-4 {
		padding: var(--spacing-4);
	}

	.xl-p-5 {
		padding: var(--spacing-5);
	}
}

