/**
 * Homepage V3 widgets (stitch _9).
 */

/* --- Stitch _9 token utilities (not in global layer) --- */
.text-surface-container-lowest {
	color: var(--color-surface-container-lowest);
}

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

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

.text-on-tertiary-fixed-variant {
	color: var(--color-on-tertiary-fixed-variant);
}

.border-primary-fixed {
	border-color: var(--color-primary-fixed);
}

.border-surface-container-lowest {
	border-color: var(--color-surface-container-lowest);
}

.border-outline-variant\/40 {
	border-color: color-mix(in srgb, var(--color-outline-variant) 40%, transparent);
}

.border-b {
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.bg-secondary-fixed {
	background-color: var(--color-secondary-fixed);
}

.bg-tertiary-fixed {
	background-color: var(--color-tertiary-fixed);
}

.opacity-80 {
	opacity: 0.8;
}

.opacity-40 {
	opacity: 0.4;
}

.border-r {
	border-right-width: 1px;
	border-right-style: solid;
}

.grid-cols-12 {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.opacity-10 {
	opacity: 0.1;
}

.border-outline-variant\/10 {
	border-color: color-mix(in srgb, var(--color-outline-variant) 10%, transparent);
}

.hover\:border-primary:hover {
	border-color: var(--color-primary);
}

.hover\:opacity-100:hover {
	opacity: 1;
}

/* Global typography overrides stitch utility colors on canvas pages */
.elementor-template-canvas h1.text-surface-container-lowest,
.elementor-template-canvas h2.text-surface-container-lowest,
.elementor-template-canvas .text-surface-container-lowest:not(.opacity-80):not(.opacity-70):not(.opacity-50) {
	color: var(--color-surface-container-lowest);
}

.elementor-template-canvas h1 .text-primary-fixed,
.elementor-template-canvas .text-primary-fixed {
	color: var(--color-primary-fixed);
}

.elementor-template-canvas section.bg-\[\#0c0305\] .font-body-md.opacity-70,
.elementor-template-canvas section.text-surface-container-lowest .font-body-md.opacity-70 {
	color: var(--color-surface-container-lowest);
}

.elementor-template-canvas .home-v3-nav .text-surface-container-lowest,
.elementor-template-canvas .home-v3-nav a.text-surface-container-lowest,
.elementor-template-canvas .obc-topappbar--home-v3 .text-surface-container-lowest,
.elementor-template-canvas .obc-topappbar--home-v3 a.text-surface-container-lowest,
.elementor-location-header .home-v3-nav .text-surface-container-lowest,
.elementor-location-header .home-v3-nav a.text-surface-container-lowest,
.elementor-location-header .obc-topappbar--home-v3 .text-surface-container-lowest,
.elementor-location-header .obc-topappbar--home-v3 a.text-surface-container-lowest {
	color: var(--color-surface-container-lowest);
}

.elementor-template-canvas button.bg-secondary-fixed,
.elementor-template-canvas .bg-secondary-fixed.text-on-secondary-fixed {
	background-color: var(--color-secondary-fixed);
	color: var(--color-on-secondary-fixed);
}

.elementor-template-canvas .bg-tertiary-fixed,
.elementor-template-canvas .bg-tertiary-fixed.text-on-tertiary-fixed-variant {
	background-color: var(--color-tertiary-fixed);
	color: var(--color-on-tertiary-fixed-variant);
}

/* --- Layout / chrome --- */
.bg-\[\#0c0305\] {
	background-color: #0c0305;
}

.from-\[\#0c0305\]\/80 {
	--tw-gradient-from: rgb(12 3 5 / 0.8);
}

.via-\[\#0c0305\]\/40 {
	--tw-gradient-via: rgb(12 3 5 / 0.4);
}

.bg-\[\#0c0305\]\/95 {
	background-color: rgb(12 3 5 / 0.95);
}

.bg-gradient-to-l {
	background-image: linear-gradient(to left, var(--tw-gradient-from), var(--tw-gradient-via, transparent), transparent);
}

.h-\[921px\] {
	height: 921px;
}

.h-\[400px\] {
	height: 400px;
}

.h-56 {
	height: 14rem;
}

.h-20 {
	height: 5rem;
}

.rounded-t-\[40px\] {
	border-top-left-radius: 40px;
	border-top-right-radius: 40px;
}

.mt-\[-40px\] {
	margin-top: -40px;
}

.translate-x-4.translate-y-4 {
	transform: translate(1rem, 1rem);
}

.text-3xl {
	font-size: 1.875rem;
	line-height: 2.25rem;
}

.text-4xl {
	font-size: 2.25rem;
	line-height: 2.5rem;
}

.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.w-20 {
	width: 5rem;
}

.h-1 {
	height: 0.25rem;
}

.w-32 {
	width: 8rem;
}

.h-32 {
	height: 8rem;
}

.h-12 {
	height: 3rem;
}

.shrink-0 {
	flex-shrink: 0;
}

.flex-grow {
	flex-grow: 1;
}

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

.rounded-r-md {
	border-start-start-radius: var(--radius-md);
	border-end-start-radius: var(--radius-md);
}

.rounded-l-md {
	border-start-end-radius: var(--radius-md);
	border-end-end-radius: var(--radius-md);
}

.text-surface-container-lowest\/80 {
	color: color-mix(in srgb, var(--color-surface-container-lowest) 80%, transparent);
}

.hover\:bg-surface-container-lowest\/10:hover {
	background-color: color-mix(in srgb, var(--color-surface-container-lowest) 10%, transparent);
}

.hover\:brightness-110:hover {
	filter: brightness(1.1);
}

.group:hover .group-hover\:bg-primary {
	background-color: var(--color-primary);
}

.group:hover .group-hover\:text-white {
	color: #ffffff;
}

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

.group:hover .group-hover\:scale-105 {
	transform: scale(1.05);
}

.hover\:shadow-lg:hover {
	box-shadow: var(--elevation-hover);
}

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

.hover\:translate-x-\[-4px\]:hover {
	transform: translateX(-4px);
}

.hover\:grayscale-0:hover {
	filter: grayscale(0);
}

.grayscale {
	filter: grayscale(1);
}

.text-on-surface-variant\/60 {
	color: color-mix(in srgb, var(--color-on-surface-variant) 60%, transparent);
}

.bg-on-surface-variant\/20 {
	background-color: color-mix(in srgb, var(--color-on-surface-variant) 20%, transparent);
}

.bg-white\/5 {
	background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/10 {
	background-color: rgb(255 255 255 / 0.1);
}

.border-white\/10 {
	border-color: rgb(255 255 255 / 0.1);
}

.border-white\/20 {
	border-color: rgb(255 255 255 / 0.2);
}

.line-clamp-2 {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.min-w-\[320px\] {
	min-width: 320px;
}

.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.custom-scrollbar::-webkit-scrollbar {
	width: 4px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
	background: var(--color-primary-container);
	border-radius: 10px;
}

.backdrop-blur-md {
	backdrop-filter: blur(12px);
}

.active\:scale-90:active {
	transform: scale(0.9);
}

.scale-95 {
	transform: scale(0.95);
}

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

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

.home-v3-news-card {
	transition: transform var(--transition-normal);
}

.home-v3-news-card:hover {
	transform: translateY(-5px);
}

.focus\:ring-1:focus {
	outline: none;
	box-shadow: 0 0 0 1px var(--color-primary-fixed);
}

.focus\:ring-primary-fixed:focus {
	box-shadow: 0 0 0 1px var(--color-primary-fixed);
}

@media (min-width: 768px) {
	.md\:min-w-\[400px\] {
		min-width: 400px;
	}

	.md\:order-1 {
		order: 1;
	}

	.md\:order-2 {
		order: 2;
	}

	.mr-auto.md\:mr-0 {
		margin-right: 0;
		margin-inline-start: 0;
	}
}
