:root {
	--bg-color: #fff;
	--bg-card: #fff;
	--text-color-1: #000;
}

[data-theme="dark"] {
	--bg-color: #000;
	--bg-card: #171717;
	--text-color-1: #fff;
}

/* NORMALIZE css starts here */
*,
::before,
::after {
	box-sizing: border-box;
	border-width: 0;
	border-style: solid;
	border-color: #e5e7eb;
}

html,
:host {
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	-moz-tab-size: 4;
	tab-size: 4;
	font-family:
		ui-sans-serif,
		system-ui,
		sans-serif,
		"Apple Color Emoji",
		"Segoe UI Emoji",
		"Segoe UI Symbol",
		"Noto Color Emoji";
	font-feature-settings: normal;
	font-variation-settings: normal;
	-webkit-tap-highlight-color: transparent;
}

body {
	margin: 0;
	line-height: inherit;
}

hr {
	height: 0;
	color: inherit;
	border-top-width: 1px;
}

abbr:where([title]) {
	text-decoration: underline dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}

a {
	color: inherit;
	text-decoration: inherit;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Menlo,
		Monaco,
		Consolas,
		"Liberation Mono",
		"Courier New",
		monospace;
	font-feature-settings: normal;
	font-variation-settings: normal;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

table {
	text-indent: 0;
	border-color: inherit;
	border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-feature-settings: inherit;
	font-variation-settings: inherit;
	font-size: 100%;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
	margin: 0;
	padding: 0;
}

button,
select {
	text-transform: none;
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
	-webkit-appearance: button;
	background-color: transparent;
	background-image: none;
}

:-moz-focusring {
	outline: auto;
}

:-moz-ui-invalid {
	box-shadow: none;
}

progress {
	vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

summary {
	display: list-item;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
	margin: 0;
}

fieldset {
	margin: 0;
	padding: 0;
}

legend {
	padding: 0;
}

ol,
ul,
menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

dialog {
	padding: 0;
}

textarea {
	resize: vertical;
}

input::placeholder,
textarea::placeholder {
	opacity: 1;
	color: #9ca3af;
}

button,
[role=button] {
	cursor: pointer;
}

:disabled {
	cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	vertical-align: middle;
}

img,
video {
	max-width: 100%;
	height: auto;
}

html {
	background-color: #fff;
	font-family: "Cairo",
		ui-sans-serif,
		system-ui,
		sans-serif,
		"Apple Color Emoji",
		"Segoe UI Emoji",
		"Segoe UI Symbol",
		"Noto Color Emoji";
}

/* "Alexandria" */

body {
	background-color: var(--bg-color);
}

body>div {
	height: 100dvh;
	display: flex;
}

.relative {
	position: relative;
}

.hidden {
	display: none !important;
}

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

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

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

/* header css starts here */
.fatwa-header {
	position: sticky;
	top: 0;
	z-index: 99;
	background-color: var(--bg-color);
	border-bottom: 1px solid #E5E5E5;					
	
	[data-theme=dark] & {
		border-color: #262626;					
	}
}

.search-bar {
	padding: 12px 20px;

	.search-form {
		display: flex;
		align-items: center;
		gap: 8px;

		.search-form_label {
			position: relative;
			display: block;
			width: 100%;

			.search-form_icon {
				position: absolute;
				right: 12px;
				top: 13px;
				width: 20px;
				height: 20px;
			}
		}

		.search-form_input {
			width: 100%;
			padding: 11px 40px 11px 12px;
			border-radius: 8px;
			border: 1px solid #E5E5E5;

			&:focus {
				outline-color: #8A1739;
			}

			[data-theme=dark] & {
				background-color: #171717;
				border-color: #262626;
				color: #fff;
			}
		}

		.search-form_btn {
			padding: 13px;
			border-radius: 8px;
			background: #8A1739;
		}
	}
}

.fatwa-nav {
	padding: 12px 0;
	max-width: 1096px;
	margin: 0 auto;

	@media (width < 1500px) {
		max-width: 872px;
	}

	@media (width < 768px) {
		padding: 8px 20px;
	}

	.fatwa-nav_list {
		display: flex;
		align-items: center;
		justify-content: space-between;

		.list-item_link {
			font-family: "Alexandria";
			display: flex;
			align-items: center;
			gap: 4px;
			color: var(--text-color-1);

			span {
				display: none;
			}
		}

		.list-item_btn {
			padding: 8px;
			border-radius: 8px;
			background-color: #F9EBEF;

			[data-theme=dark] & {
				background-color: #8A1739;

				svg path {
					stroke: #fff;
				}
			}

			.close {
				display: none;
			}

			&.active {
				background-color: #FAFAFA;

				[data-theme=dark] & {
					background-color: #8A1739;
				}

				.open {
					display: none;
				}

				.close {
					display: block;
				}
			}
		}

		.fatwa-nav_list-item.with-menu-btn {
			display: none;

			@media (width < 768px) {
				display: flex;
				align-items: center;
				gap: 16px;
			}

			&>.list-item_menu-btn {
				display: none;

				[data-theme=dark] & {
					svg path {
						stroke: #fff;
					}					
				}

				@media (width < 768px) {
					display: block;
				}
			}
		}

		.fatwa-nav_list-item.mobile-btn {
			display: none;

			@media (width < 768px) {
				display: block;
			}
		}

		.fatwa-nav_list-item.desk-search {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 24px;
			width: 100%;
			@media (width < 768px) {
				display: none;
			}
		}

		.list-item_theme-and-user {
			display: flex;
			align-items: center;
			gap: 20px;
		}
		
		.theme-toggle {
			padding: 13.5px;
			background-color: #F5F5F5;
			border-radius: 8px;

			@media (width < 768px) {
				padding: 8px;
				margin-right: 6px;
			}

			svg.theme-toggle_dark {
				display: none;
			}

			[data-theme=dark] & {
				background-color: #171717;

				svg.theme-toggle_dark {
					display: block;
				}

				svg.theme-toggle_light {
					display: none;
				}
			}
		}

		.user-action {
			padding: 10px;
			background-color: #F5F5F5;
			border-radius: 8px;

			@media (width < 768px) {
				padding: 8px;
			}

			[data-theme=dark] & {
				background-color: #171717;
			}
		}

		.user-action_dropdown {
			padding: 16px;
			border: 1px solid #E5E7EB;
			border-radius: 12px;
			background-color: #fff;
			box-shadow: 0 24px 48px -12px rgba(3, 7, 18, 0.10);
			position: absolute;
			left: 0;
			top: 100%;
			z-index: 5;
			margin-top: 16px;
			width: max-content;
			min-width: 280px;

			[data-theme=dark] & {
				background-color: #000;
				border-color: #262626;
				box-shadow: 0 24px 48px -12px rgba(139, 139, 139, 0.1);
			}

			.dropdown-user {
				display: flex;
				align-items: center;
				gap: 12px;
				padding-bottom: 12px;
				border-bottom: 1px solid #F3F4F6;
				margin-bottom: 12px;

				[data-theme=dark] & {
					border-color: #262626;
				}

				.dropdown-user_icon {
					padding: 14px;
					background-color: #F3F4F6;
					border-radius: 50%;

					[data-theme=dark] & {
						background-color: #171717;
					}
				}

				.dropdown-user_info .info-name {
					display: block;
					color: #030712;
					font-size: 14px;
					font-weight: 700;

					[data-theme=dark] & {
						color: #E5E7EB;
					}
				}
				
				.dropdown-user_info .info-username {
					display: block;
					color: #4B5563;
				}
			}

			.dropdown-links {
				margin-bottom: 12px;

				.dropdown-links_item {
					padding: 12px;
					border-radius: 8px;

					&:hover {
						background-color: #f9fafb;

						[data-theme=dark] & {
							background-color: #171717;
						}
					}

					.item-link {
						display: flex;
						align-items: center;
						gap: 8px;
						font-size: 14px;
						font-weight: 500;
						color: #111827;

						[data-theme=dark] & {
							color: #E5E7EB;
						}
					}
				}
			}

			.dropdown-logout {
				padding: 10px 16px;
				width: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				gap: 6px;
				color: #DC3545;
				font-weight: 500;
				border: 1px solid #E5E7EB;
				border-radius: 8px;

				[data-theme=dark] & {
					border-color: #262626;
				}
			}
		}

		.login-btn {
			background-color: #8A1739;
			color: #fff;
			font-weight: 500;
			padding: 10px 16px;
			border-radius: 8px;
		}

		.search-form {
			display: flex;
			align-items: center;
			gap: 12px;

			.search-form_label {
				position: relative;
				display: block;
				min-width: 280px;

				.search-form_icon {
					position: absolute;
					right: 12px;
					top: 13px;
					width: 20px;
					height: 20px;
				}
			}

			.search-form_input {
				width: 100%;
				padding: 11px 40px 11px 12px;
				border-radius: 8px;
				border: 1px solid #E5E5E5;

				&:focus {
					outline-color: #8A1739;
				}

				[data-theme=dark] & {
					background-color: #171717;
					border-color: #404040;
					color: #fff;
				}
			}

			.search-form_btn {
				padding: 10px;
				border-radius: 8px;
				background: #F9EBEF;
			}
		}
	}
}

/* aside css starts here */
.aside {
	border-left: 1px solid #E5E5E5;
	padding: 20px;
	width: 280px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: #fff;
	
	[data-theme=dark] & {
		background-color: #000;
		border-color: #262626;
	}

	@media (width < 768px) {
		position: fixed;
		top: 0;
		right: -280px;
		z-index: 1000;
		border-left: none;
		border-right: 1px solid #E5E5E5;

	}

	.aside-top_wrapper {
		margin-bottom: 40px;

		@media (width < 768px) {
			display: flex;
			align-items: center;
			justify-content: space-between;

		}

		.wrapper-home {
			font-size: 24px;
			font-weight: 600;
			color: #1F2937;
			font-family: 'Alexandria';

			[data-theme=dark] & {
				color: #E5E7EB;
			}
		}

		.wrapper-close-btn {
			display: none;

			[data-theme=dark] & {
				svg path {
					stroke: #fff;
				}					
			}

			@media (width < 768px) {
				display: block;
			}
		}
	}

	&.aside-open {
		width: 100%;

		@media (width < 768px) {
			right: 0;
		}
	}
}

.aside-top-logo {
	display: flex;
	align-items: center;
	gap: 4px;

	img.islam-dark, img.islam-light {
		width: 108px;
	}

	img.islam-dark {
		display: none;
	}

	[data-theme=dark] & {
		img.islam-dark {
			display: block;
		}
		img.islam-light {
			display: none;
		}
	}
}

.aside-nav_list {
	.list-item {
		padding: 8px 12px;
		color: #171717;
		background-color: transparent;
		transition: all .2s;
		border-radius: 8px;

		[data-theme=dark] & {
			color: #FAFAFA;
		}

		&:hover,
		&.active {
			color: #8A1739;
			background-color: #F9EBEF;

			[data-theme=dark] & {
				background-color: #4D0017;
				color: #fff;
			}
		}

		&:not(:last-child) {
			margin-bottom: 8px;
		}
	}

	.list-item_link {
		display: flex;
		align-items: center;
		gap: 8px;
	}
}

.aside-note {
	padding: 12px 16px;
	border-radius: 10px;
	border: 0.5px solid #F5A623;
	background: #FCF5E9;

	[data-theme=dark] & {
		background: #4D2F00;
	}
	
	p:first-child {
		display: flex;
		align-items: center;
		gap: 4px;
		color: #171717;
		font-size: 14px;
		font-weight: 600;
		margin-bottom: 6px;
		
		[data-theme=dark] & {
			color: #FAFAFA;
		}
	}
	
	p:last-child {
		color: #525252;
		font-size: 12px;
		font-weight: 400;

		[data-theme=dark] & {
			color: #D4D4D4;
		}
	}
}

.aside-app-by {
	margin-top: 20px;

	p {
		color: #737373;
		font-size: 14px;
		font-weight: 600;
	}

	.aside-top-logo {
		margin-bottom: 0;
		margin-top: 8px;
	}
}

/* Share Dialog Styles */
.share-dialog {
	border: none;
	padding: 0;
	background: transparent;
	max-width: 520px;
	width: 90%;
	border-radius: 16px;

	&::backdrop {
		background: rgba(0, 0, 0, 0.5);
		backdrop-filter: blur(4px);
	}

	@media (width < 768px) {
		max-width: 100%;
		width: 100%;
		margin: 0;
		bottom: 0;
		top: auto;
		border-radius: 24px 24px 0 0;
	}

	.share-dialog_wrapper {
		background: white;
		padding: 32px 20px;
		border-radius: 16px;
		position: relative;

		@media (width < 768px) {
			border-radius: 24px 24px 0 0;
		}

		[data-theme=dark] & {
			background: #171717;
		}
	}

	.share-dialog_close {
		margin-right: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		background: transparent;

		[data-theme=dark] & {
			svg path {
				stroke: #fff;
			}
		}
	}

	.share-dialog_title {
		color: #171717;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 36px;
		margin-top: 16px;

		[data-theme=dark] & {
			color: #fff;
		}
	}

	.share-dialog_options {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 24px;

		@media (width < 768px) {
			gap: 16px;
		}
	}

	.share-option {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 12px;
		cursor: pointer;
		background: transparent;
		transition: transform 0.2s;

		&:hover {
			transform: translateY(-4px);
		}

		@media (width < 768px) {
			gap: 8px;
		}

		.share-option_icon {
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 11px;
			border-radius: 50%;
			background: #E5E5E5;

			svg {
				width: 22px;
				height: 22px;
			}
		}

		&:last-child {
			.share-option_icon {
				background-color: #F9EBEF;
			}
		}
	}


	.share-option_label {
		color: #171717;
		font-size: 14px;
		font-weight: 500;
		text-align: center;

		[data-theme=dark] & {
			color: #fff;
		}

		@media (width < 768px) {
			font-size: 13px;
		}
	}
}

/* main cards container css starts here */
main.main {
	height: 100dvh;
	width: 100%;
	position: relative;

	.bg-calligraphy {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		height: 30%; 
		z-index: 0;
		background-image: url('./images/bg-calligraphy-full.svg');
		background-repeat: repeat-x;
		background-size: auto 100%;
		background-position: center top;
		
		[data-theme=dark] & {
			background-image: url('./images/bg-calligraphy-dark.svg');
		}
		
		@media (width < 768px) {
			top: 56px;
		}

		img {
			display: none;
		}

		&.right {
			right: 0;
			left: auto;
		}

		&.left {
			left: 0;
		}
	}
}

.container {
	max-width: 1096px;
	margin: 0 auto;
	position: relative;
	box-shadow: 0 120px 200px 20px rgba(2, 3, 3, 0.10);
	background-color: var(--bg-card);

	@media (width < 1500px) {
		max-width: 872px;
	}
}

.cards-wrapper {
	max-width: 1096px;
	height: calc(100dvh - 74px);
	margin: 0 auto;
	overflow: hidden;
	/* Hide the sliding inner container */
	position: relative;
	scrollbar-width: none;
	-ms-overflow-style: none;

	&::-webkit-scrollbar {
		display: none;
	}

	@media (width < 1500px) {
		max-width: 872px;
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
	}
}

.cards-inner {
	width: 100%;
	height: 100%;
	will-change: transform;
	display: flex;
	flex-direction: column;
}

.cards-wrapper_card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	width: 100%;
	max-width: 1096px;
	height: 100%;
	/* Occupy full container height */
	overflow-y: auto;
	/* Internal scroll allowed if content is long */
	margin: 0 auto;
	padding: 32px 40px;
	background-color: var(--bg-card);
	scroll-snap-align: none;
	scroll-snap-stop: none;
	flex-shrink: 0;
	scrollbar-width: none;
	-ms-overflow-style: none;



	&::-webkit-scrollbar {
		display: none;
	}

	opacity: 0;
	transition: opacity 0.8s ease-in-out;
	/* Smooth transition */
	will-change: opacity;

	&.active {
		opacity: 1;
	}

	@media (width < 1500px) {
		max-width: 872px;
	}

	@media (width < 768px) {
		padding: 20px 20px 24px;
	}

	.card-breadcrumb {
		display: flex;
		align-items: center;
		margin-bottom: 12px;

		.card-breadcrumb_item {
			padding: 4px 8px;
			background-color: #F3F4F6;
			border-radius: 6px;
			font-size: 14px;
			font-weight: 500;
			color: #4B5563;

			[data-theme=dark] & {
				color: #fff;
				background-color: #000;
			}

			&:not(:first-child) {
				margin-right: 36px;
				position: relative;

				&::before {
					content: url('/images/chevron-left.svg');
					position: absolute;
					right: -26px;
					top: 50%;
					transform: translateY(-50%);
					width: 20px;
					height: 20px;
				}
			}
		}
	}

	.card-title {
		color: #8A1739;
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 12px;
		display: flex;
		align-items: center;

		.card-title_id {
			padding: 2px 6px;
			background-color: #F9EBEF;
			border: 1px solid #8A1739;
			border-radius: 6px;
			margin-left: 12px;
		}

		.card-title_text {
			padding-right: 12px;
			border-right: 1px dotted #9CA3AF;
		}

		[data-theme=dark] & {
			color: #BF2453;
		}
	}

	.card-desc {
		color: #262626;
		font-size: 18px;
		font-weight: 600;
		margin-bottom: 20px;

		[data-theme=dark] & {
			color: #F5F5F5;
		}
	}

	.card-ai-answer-box {
		padding: 20px;
		border: 1px solid #D1D5DB;
		border-radius: 10px;
		background-color: #F9FAFB;
		margin-bottom: 16px;

		[data-theme=dark] & {
			background-color: transparent;
			border-color: #404040;
		}

		.card-ai-answer-box_top {
			display: flex;
			justify-content: space-between;
			gap: 16px;
			margin-bottom: 6px;

			.top-title {
				display: flex;
				align-items: center;
				gap: 6px;
				color: #082D61;
				font-weight: 700;
			}

		}

		.card-ai-answer-box_answer {
			color: #4B5563;
			font-weight: 600;

			[data-theme=dark] & {
				color: #E5E7EB;
			}
		}
	}

	.card-answer {
		margin-bottom: 20px;
		position: relative;
		padding: 16px;
		border-radius: 12px;

		[data-theme=dark] & {
			background: none;
			border-top: 1px solid #7a143184;
			border-right: 1px solid #7a143184;
			border-left: 1px solid #7a143184;

			&::before {
				display: none;
			}
		}

		&::before {
			content: '';
			position: absolute;
			inset: 0;
			border-radius: 12px;
			padding: 1px;
			background: linear-gradient(to bottom, rgb(138 23 58 / 36%) 0%, #F5E8EC 100%);
			mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
			-webkit-mask-composite: xor;
			mask-composite: exclude;
			pointer-events: none;
		}

		.card-answer_head {
			color: #8A1739;
			font-size: 18px;
			font-weight: 700;
			margin-bottom: 8px;

			[data-theme=dark] & {
				color: #BF2453;
			}
		}

		.card-answer_content {
			color: #404040;
			font-size: 18px;
			font-weight: 400;
			max-height: 170px;
			overflow: hidden;
			position: relative;
			transition: max-height 0.4s ease;

			&.expanded {
				max-height: none;
			}

			&:not(.expanded)::after {
				content: '';
				position: absolute;
				bottom: 0;
				left: 0;
				right: 0;
				height: 100px;
				background: linear-gradient(to bottom, rgba(250, 250, 250, 0), #fff);
				pointer-events: none;
			}

			[data-theme=dark] & {
				color: #E5E5E5;

				&:not(.expanded)::after {
					background: linear-gradient(to bottom, rgba(23, 23, 23, 0), #171717);
				}
			}

			p {
				margin-bottom: 16px;
			}

			table {
				width: 100%;
				border-collapse: collapse;
				margin: 20px 0;
				background-color: #fff;
				border-radius: 8px;
				overflow: hidden;
				box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);

				[data-theme=dark] & {
					background-color: #171717;
					box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
				}

				thead {
					background: linear-gradient(135deg, #8A1739 0%, #a91d45 100%);
					color: #fff;
				}

				th {
					padding: 12px 16px;
					text-align: right;
					font-weight: 700;
					font-size: 16px;
					border-bottom: 2px solid #7a1431;
				}

				td {
					padding: 12px 16px;
					text-align: right;
					border-bottom: 1px solid #E5E5E5;

					[data-theme=dark] & {
						border-bottom-color: #262626;
						color: #E5E5E5;
					}
				}

				tbody tr {
					transition: background-color 0.2s ease;
				}

				tbody tr:hover {
					background-color: #F9EBEF;

					[data-theme=dark] & {
						background-color: #4D0017;
					}
				}

				tbody tr:last-child td {
					border-bottom: none;
				}

				tbody tr:nth-child(even) {
					background-color: #FAFAFA;

					[data-theme=dark] & {
						background-color: #0A0A0A;
					}
				}

				tbody tr:nth-child(even):hover {
					background-color: #F9EBEF;

					[data-theme=dark] & {
						background-color: #4D0017;
					}
				}

				@media (width < 768px) {
					table {
						font-size: 14px;
						margin: 16px 0;
					}

					th,
					td {
						padding: 10px 12px;
						font-size: 14px;
					}
				}
			}
		}

		.card-answer_content * {
			font-size: 18px;
			line-height: 28px;
			font-weight: 400;
			font-family: 'Cairo';

			[data-theme=dark] & {
				color: #fff;
			}
		}

		.card-answer_expand {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			padding-top: 6px;
			color: #8A1739;
			font-size: 16px;
			font-weight: 600;

			[data-theme=dark] & {
				color: #BF2453;
			}

			&.hidden {
				display: none;
			}

			svg {
				transition: stroke 0.3s ease;
			}
		}
	}

	.card-actions {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 44px;
		position: sticky;
		bottom: -31px;
		background-color: #fff;
		padding-top: 16px;
		border-top: 1px solid #E5E7EB;
		padding-bottom: 22px;
		z-index: 10;

		[data-theme=dark] & {
			background: #171717;
		}

		.card-actions_audio-player {
			flex: 0 0 100%;
			padding-bottom: 16px;
			border-bottom: 1px solid #E5E7EB;
			margin-bottom: 16px;
		}

		.card-actions_btn {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 6px;
			transition: all 0.3s ease;

			[data-theme=dark] & {
				color: #fff;
				svg path {
					stroke: #fff;
				}
			}

			&.liked svg path {
				fill: #8A1739;
				stroke: #8A1739;
			}

			&.saved svg path {
				fill: #1551A5;
				stroke: #1551A5;
			}
		}
	}
}

.cards-wrapper_controls {
	position: absolute;
	left: -80px;
	bottom: 90px;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;

	@media (width < 768px) {
		display: none;
	}

	.controls_btn {
		background-color: #fff;
		padding: 12px;
		border-radius: 50%;
		border: 1px solid #E5E5E5;
		aspect-ratio: 1/1;
		transition: all .2s;

		[data-theme=dark] & {
			background-color: #000;
			border-color: #404040;
		}

		&:hover:not(:disabled) {
			border-color: #8A1739;
		}

		&:disabled {
			background-color: #F5F5F5;
			border-color: #D3D3D3;
			opacity: 0.6;
			cursor: not-allowed;

			[data-theme=dark] & {
				background-color: #171717;
				border-color: #404040;
			}
		}

		&.saved {
			svg {
				fill: #1551A5;

				path {
					stroke: #1551A5;
				}
			}
		}

		&.liked {
			svg {
				fill: #8A1739;

				path {
					stroke: #8A1739;
				}
			}
		}
	}
}

.loader-card {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	flex-shrink: 0;

	.loader {
		width: 48px;
		height: 48px;
		border: 4px solid #F9EBEF;
		border-top-color: #8A1739;
		border-radius: 50%;
		animation: spin 1s linear infinite;
	}
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

/* search pgae starts here */
.container.search-page {
	max-width: 1096px;
	height: calc(100dvh - 74px);
	margin: 0 auto;
	scrollbar-width: none;
	padding: 16px 20px;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 1500px) {
		max-width: 872px;
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
	}

	[data-theme=dark] & {
		background-color: #171717;
	}

	&:has( .search-details-wrapper.hidden) {
		overflow-y: scroll;
	}
}

.results-found {
	margin-top: 24px;
	color: #737373;
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 16px;

	[data-theme=dark] & {
		color: #A3A3A3;
	}

	.results-found_query {
		color: #8A1739;
	}

}

.results-found_details {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	position: sticky;
	top: 0;

	.results-found_back {
		color: #8A1739;
		font-size: 18px;
		font-weight: 700;
		display: flex;
		align-items: center;
		gap: 6px;
		text-wrap-mode: nowrap;
	}
	
	.results-found_query {
		color: #8A1739;
	}

	.results-found_count {
		color: #737373;

		[data-theme=dark] & {
			color: #A3A3A3;
		}
	}
	
	.current, .total {
		color: #8A1739;
	}
}

.search-cards-wrapper_card {
	padding: 16px;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
	background-color: transparent;
	transition: all .3s;

	[data-theme=dark] & {
		border-color: #262626;

		&:hover {
			background-color: #262626;
		}
	}

	&:not(:first-child) {
		margin-top: 20px;
	}

	&:hover {
		background-color: #f9fafb;
	}

	.card-title {
		color: #111827;
		font-weight: 700;
		margin-bottom: 12px;

		[data-theme=dark] & {
			color: #E5E5E5;
		}
	}
	
	.card-desc {
		color: #6B7280;
		font-weight: 600;
		margin-bottom: 20px;

		[data-theme=dark] & {
			color: #E5E5E5;
		}
	}

	.card-answer {
		display: none;
		margin-bottom: 12px;
		color: #404040;
		font-size: 14px;
		font-weight: 400;
		padding: 16px;
		border-radius: 10px;
		border: 0.5px solid #E5E5E5;
		background: #FAFAFA;

		[data-theme=dark] & {
			color: #E5E5E5;
			background-color: #171717;
			border-color: #404040;
		}

		.card-answer_content {
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 3;
			line-clamp: 3;
		}
	}

	.card-view-more {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 6px;
		width: 100%;
		color: #8A1739;
		font-size: 14px;
		font-weight: 700;

		[data-theme=dark] & {
			color: #BF2453;
		}
	}
}

.search-details-wrapper {
	max-width: 1096px;
    height: calc(100dvh - 140px);
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    scrollbar-width: none;
    -ms-overflow-style: none;

	.cards-wrapper_card {
		padding: 20px 0 0 0;
		height: calc(100dvh - 140px);

		.card-actions {
			padding-bottom: 40px;
		}
	}
}

/* Search Details Overlay Styles */
.search-details-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.3);
	backdrop-filter: blur(4px);
	z-index: 1000;
	display: none;


	@media(width < 768px) {
		padding-top: 50px;
	}

	&.active {
		display: block;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.details-modal {
		position: relative;
		width: 100%;
		height: calc(100dvh - 100px);
		background: white;
		border-radius: 24px;
		display: flex;
		flex-direction: column;
		/* overflow: hidden; */
		width: fit-content;

		[data-theme=dark] & {
			background: #171717;
		}

		@media (width < 768px) {
			height: calc(100dvh - 50px);
			border-radius: 24px 24px 0 0;
		}

		.details-overlay_close {
			position: absolute;
			top: 16px;
			left: 16px;
			width: 40px;
			height: 40px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 8px;
			cursor: pointer;
			z-index: 10;
			background-color: #fff;

			[data-theme=dark] & {
				background: #000;

				svg path {
					stroke: #fff;
				}
			}

			@media (width < 768px) {
				width: 36px;
				height: 36px;
			}
		}

		.results-found_details {
			position: absolute;
			top: 16px;
			right: 16px;
			z-index: 10;
			background-color: #fff;
			padding: 8px 16px;
			border-radius: 8px;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

			[data-theme=dark] & {
				background: #000;
				box-shadow: 0 2px 8px rgba(255, 255, 255, 0.1);
			}

			@media (width < 768px) {
				top: 12px;
				right: 12px;
				padding: 6px 12px;
				font-size: 14px;
			}

			.results-found_count {
				margin: 0;
				font-weight: 600;
			}
		}

		.details-overlay_wrapper {
			flex: 1;
			overflow-y: auto;
			scroll-snap-type: y mandatory;
			scroll-behavior: smooth;
			scrollbar-width: none;
			-ms-overflow-style: none;

			&::-webkit-scrollbar {
				display: none;
			}
		}

		.details-card {
			min-height: 100%;
			display: flex;
			flex-direction: column;
			scroll-snap-align: start;
			scroll-snap-stop: always;
			padding: 60px 20px 24px;

			@media (width >=768px) {
				padding: 80px 40px 40px;
			}

			.details-card_inner {
				max-width: 872px;
				margin: 0 auto;
				width: 100%;
				flex: 1;
				display: flex;
				flex-direction: column;
			}

			&>.details-card_inner>div:first-child {
				flex: 1;
				margin-bottom: 20px;
			}

			.card-title {
				color: #8A1739;
				font-size: 20px;
				font-weight: 700;
				margin-bottom: 12px;

				@media (width < 768px) {
					font-size: 18px;
				}

				[data-theme=dark] & {
					color: #BF2453;
				}
			}
			
			.card-desc {
				color: #262626;
				font-size: 18px;
				font-weight: 600;
				margin-bottom: 20px;
				
				@media (width < 768px) {
					font-size: 16px;
				}

				[data-theme=dark] & {
					color: #F5F5F5;
				}
			}

			.card-answer {
				background: linear-gradient(180deg, #FAFAFA 0%, rgba(255, 255, 255, 0.10) 100%);
				border-radius: 12px;
				padding: 20px;
				position: relative;
				margin-bottom: 20px;

				[data-theme=dark] & {
					background: none;
					border-top: 1px solid #7a143184;
					border-right: 1px solid #7a143184;
					border-left: 1px solid #7a143184;

					&::before {
						display: none;
					}
				}

				&::before {
					content: '';
					position: absolute;
					inset: 0;
					border-radius: 12px;
					padding: 1px;
					background: linear-gradient(to bottom, rgb(138 23 58 / 36%) 0%, #F5E8EC 100%);
					mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
					-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
					-webkit-mask-composite: xor;
					mask-composite: exclude;
					pointer-events: none;
				}

				.card-answer_head {
					color: #8A1739;
					font-size: 18px;
					font-weight: 700;
					margin-bottom: 8px;

					@media (width < 768px) {
						font-size: 16px;
					}

					[data-theme=dark] & {
						color: #BF2453;
					}
				}

				.card-answer_content {
					color: #404040;
					font-size: 16px;
					font-weight: 400;

					[data-theme=dark] & {
						color: #E5E5E5;
					}

					@media (width < 768px) {
						font-size: 14px;
					}
				}
			}

			.card-actions {
				display: none;

				@media (width < 768px) {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 24px;
					padding: 16px 0;
					position: sticky;
					bottom: 0;
					background: linear-gradient(to top, #ffffff 80%, rgba(255, 255, 255, 0.95) 90%, rgba(255, 255, 255, 0) 100%);
					z-index: 10;

					[data-theme=dark] & {
						background: #171717;
					}
				}

				.card-actions_btn {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;
					gap: 4px;
					color: #737373;
					font-size: 14px;
					font-weight: 400;
					cursor: pointer;
					transition: color 0.2s;

					[data-theme=dark] & {
						color: #fff;
						svg path {
							stroke: #fff;
						}
					}

					&.liked {
						svg {
							fill: #8A1739;
						}

						svg path {
							stroke: #8A1739;
						}
					}

					&.saved {
						svg {
							fill: #1551A5;
						}

						svg path {
							stroke: #1551A5;
						}
					}

					@media (width < 768px) {
						font-size: 12px;
					}
				}
			}
		}
	}
}

/* Privacy Policy Page Styles */
.container.privacy-page {
	background-color: #fff;
	padding: 20px;
	height: calc(100dvh - 74px);

	overflow-y: scroll;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
	}

	[data-theme=dark] & {
		background-color: #171717;
	}
}

.policy-header {
	margin-bottom: 32px;
	text-align: right;

	.policy-title {
		color: #8A1739;
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 8px;

		@media (width < 768px) {
			font-size: 20px;
		}
	}

	.policy-date {
		color: #737373;
		font-size: 14px;
		font-weight: 400;
	}
}

.policy-content {
	.policy-intro {
		color: #262626;
		font-size: 16px;
		font-weight: 400;
		line-height: 1.8;
		margin-bottom: 32px;
		text-align: right;

		[data-theme=dark] & {
			color: #E5E5E5;
		}
	}

	.policy-section {
		margin-bottom: 32px;

		.section-title {
			color: #262626;
			font-size: 18px;
			font-weight: 700;
			margin-bottom: 16px;
			text-align: right;

			[data-theme=dark] & {
				color: #E5E5E5;
			}

			@media (width < 768px) {
				font-size: 16px;
			}
		}

		.section-list {
			list-style: none;
			padding: 0;
			margin: 0;

			li {
				color: #404040;
				font-size: 16px;
				font-weight: 400;
				line-height: 1.8;
				margin-bottom: 12px;
				padding-right: 24px;
				position: relative;
				text-align: right;

				[data-theme=dark] & {
					color: #E5E5E5;

					&::before {
						background-color: #E5E5E5;
					}
				}

				&::before {
					content: "";
					position: absolute;
					right: 8px;
					top: 12px;
					width: 6px;
					height: 6px;
					border-radius: 50%;
					background-color: #8A1739;
				}

				@media (width < 768px) {
					font-size: 14px;
				}
			}
		}

		.section-text {
			color: #404040;
			font-size: 16px;
			font-weight: 400;
			line-height: 1.8;
			text-align: right;

			[data-theme=dark] & {
				color: #E5E5E5;
			}

			@media (width < 768px) {
				font-size: 14px;
			}
		}
	}
}

/* saved css starts here */
.saved-wrapper {
	background-color: #fff;
	padding: 20px;
	height: calc(100dvh - 74px);

	overflow-y: scroll;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
		padding: 20px 0;
	}

	[data-theme=dark] & {
		background-color: #171717;
	}
}

.saved-wrapper_title {
	color: #8A1739;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 20px;

	display: flex;
	align-items: center;
	gap: 12px;

	@media (width < 768px) {
		padding-inline: 20px;
	}
}

.saved-wrapper_cards {
	.saved-card {
		display: block;
		padding: 20px;
		border: 1px solid #E5E5E5;
		border-radius: 10px;

		[data-theme=dark] & {
			border-color: #404040;
		}

		&:not(:last-child) {
			margin-bottom: 20px;
		}

		@media (width < 768px) {
			border: unset;
			border-radius: unset;
			border-bottom: 8px solid #F5F5F5;

			&:not(:last-child) {
				margin-bottom: 0;
			}
		}
	}

	.saved-card_title {
		color: #0A0A0A;
		font-weight: 700;
		margin-bottom: 12px;
		display: flex;
		justify-content: space-between;
		gap: 20px;

		[data-theme=dark] & {
			color: #fff;
		}

		.card-actions_btn {
			&.saved {
				svg path {
					fill: #1551A5;
					stroke: #1551A5;
				}
			}
		}
	}

	.saved-card_desc {
		color: #404040;
		font-weight: 600;
		margin-bottom: 20px;

		[data-theme=dark] & {
			color: #E5E5E5;
		}
	}

	.saved-card_card-actions {
		display: flex;
		align-items: center;
		justify-content: space-between;

		.card-actions {
			display: flex;
			align-items: center;
			gap: 12px;

			.card-actions_btn {
				padding: 6px 8px;
				border-radius: 8px;
				background-color: #F5F5F5;
				
				[data-theme=dark] & {
					background-color: #262626;
				}

				&:nth-child(2) {
					svg path {
						stroke: #737373;
						stroke-width: 2px;
					}
				}

				&.saved {
					background-color: #EAF1FB;

					[data-theme=dark] & {
						background-color: #262626;
					}

					svg path {
						fill: #1551A5;
						stroke: #1551A5;
					}
				}

				&.liked {
					background-color: #F9EBEF;

					[data-theme=dark] & {
						background-color: #4D0017;
					}

					svg {
						fill: #8A1739;
					}

					svg path {
						stroke: #8A1739;
					}
				}
			}
		}

		.card-actions_view-more {
			display: flex;
			align-items: center;
			gap: 8px;
			color: #8A1739;
			font-size: 14px;
			font-weight: 500;
		}
	}
}

.saved-detail-wrapper {
	padding: 32px 40px;
	background-color: #fff;
	height: calc(100dvh - 74px);
	overflow-y: scroll;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
	}

	.saved-wrapper_title {
		@media (width < 768px) {
			padding-inline: 0;
		}
	}

	.cards-wrapper_card {
		padding: 0;
		height: 92%;
		overflow: unset;
		scroll-snap-align: unset;
		scroll-snap-stop: unset;
	}
}

.saved-wrapper_empty {
	margin-top: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;

	.empty-save {
		background-color: #F5F5F5;
		border-radius: 50%;
		padding: 18px;
	}

	.empty-title {
		color: #0A0A0A;
		font-weight: 700;

		[data-theme="dark"] & {
			color: #fff;
		}
	}
	
	.empty-desc {
		color: #262626;
		font-size: 14px;
		font-weight: 400;

		[data-theme="dark"] & {
			color: #E5E5E5;
		}
	}

	.empty-browse {
		border-radius: 8px;
		background-color: #8A1739;
		padding: 10px 16px;
		color: #fff;
		font-weight: 600;
	}
}

.search-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	font-family: inherit;
}

.search-loading .spinner {
	width: 40px;
	height: 40px;
	border: 3px solid #e5e5e5;
	border-top-color: #8A1739;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
	margin-bottom: 12px;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}

.hidden {
	display: none;
}

.container.profile {
	padding: 20px 40px;
	height: calc(100dvh - 74px);
	overflow-y: scroll;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
		padding-inline: 20px;
	}

	.top-title {
		color: #8A1739;
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 8px;
	}
	
	.top-desc {
		color: #6B7280;
		font-size: 14px;
		margin-bottom: 40px;

		[data-theme=dark] & {
			color: #E5E7EB;
		}
	}
}


.profile-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	padding: 4px;
	border-radius: 10px;
	border: 1px solid #F3F4F6;
	background-color: #F9FAFB;
	margin-bottom: 24px;

	[data-theme=dark] & {
		background-color: #000;
		border-color: #404040;
	}

	.profile-tabs_item {
		background-color: transparent;
		color: #4B5563;
		font-size: 14px;
		font-weight: 600;
		padding: 8px 12px;
		border: 1px solid transparent;
		border-radius: 8px;
		width: max-content;

		[data-theme=dark] & {
			color: #E5E7EB;
		}

		&.active {
			background-color: #fff;
			color: #1F2937;
			border-color: #E5E7EB;
			box-shadow: 0 2px 5px 0 rgba(3, 7, 18, 0.10);
		}

		.item-link {
			display: flex;
			align-items: center;
			gap: 6px;
		}
	}
}

.profile-info {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;

	.profile-info_avatar {
		padding: 20px;
		background-color: #F3F4F6;
		border-radius: 50%;
	}

	.text-name {
		color: #030712;
		font-size: 20px;
		font-weight: 700;
		margin-bottom: 4px;
	}

	.text-username {
		color: #4B5563;
	}
}

.profile-details {
	.profile-details_header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		margin-bottom: 16px;

		.header-title {
			color: #111827;
			font-size: 18px;
			font-weight: 700;
		}

		.header-btn {
			display: flex;
			align-items: center;
			gap: 6px;
			color: #8A1739;
			font-weight: 500;
		}
	}

	.profile-details_rows {
		padding: 8px 16px;
		border: 1px solid #F3F4F6;
		border-radius: 12px;
		margin-bottom: 20px;

		.rows-item {
			padding: 8px 0;
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 16px;

			@media (width < 768px) {
				flex-direction: column;
				align-items: flex-start;
			}

			&:not(:first-child) {
				border-top: 1px solid #F3F4F6;
			}

			.rows-item_label {
				color: #111827;
				font-size: 14px;
				font-weight: 500;
			}
			
			.rows-item_value {
				color: #9CA3AF;
				font-size: 14px;
				font-weight: 500;
			}
		}
	}

	.delete-account {
		display: flex;
		align-items: center;
		gap: 8px;
		color: #DC3545;
		font-weight: 500;
		padding: 8px 16px;
		border: 1px solid #F3F4F6;
		border-radius: 12px;
		width: 100%;
	}
}

.selected-interests {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px;
	border-radius: 8px;
	background-color: #F9EBEF;
	margin-bottom: 24px;

	h3 {
		color: #111827;
		font-size: 14px;
		font-weight: 500;
	}

	.remove-all-interests {
		display: flex;
		align-items: center;
		gap: 6px;
		color: #8A1739;
		font-size: 14px;
		font-weight: 500;
	}
}

.interests-acc-container {
	.interests-acc_item {
		padding: 16px;
		border: 1px solid #E5E7EB;
		border-radius: 10px;
		margin-bottom: 12px;
		
		[data-theme=dark] & {
			border-color: #262626;
		}

		.item-summery {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 20px;
			cursor: pointer;
			list-style: none;

			&::-webkit-details-marker {
				display: none;
			}

			.item-summery_title {
				font-weight: 700;
				font-size: 16px;
				color: #171717;
				display: flex;
				align-items: center;
				gap: 12px;
				cursor: pointer;
				
				[data-theme=dark] & {
					color: #fff;
				}

				input[type="checkbox"] {
					position: absolute;
					opacity: 0;
					width: 0;
					height: 0;
				}

				.checkbox-custom {
					width: 20px;
					height: 20px;
					border: 2px solid #E5E5E5;
					border-radius: 4px;
					display: inline-flex;
					align-items: center;
					justify-content: center;
					background-color: #fff;
					transition: all 0.2s;
					flex-shrink: 0;
					
					[data-theme=dark] & {
						background-color: #171717;
						border-color: #404040;
					}

					&::after {
						content: '';
						width: 5px;
						height: 10px;
						border: solid white;
						border-width: 0 2px 2px 0;
						transform: rotate(45deg);
						opacity: 0;
						transition: opacity 0.2s;
					}
				}

				input[type="checkbox"]:checked + .checkbox-custom {
					background-color: #8A1739;
					border-color: #8A1739;

					&::after {
						opacity: 1;
					}
				}
			}

			.item-summery_toggle {
				background-color: #F9EBEF;
				padding: 7px;
				border-radius: 50%;
				transition: transform 0.3s;
				flex-shrink: 0;
				
				[data-theme=dark] & {
					background-color: #4D1A2D;
				}
			}
		}

		&[open] .item-summery .item-summery_toggle {
			transform: rotate(45deg);
		}

		.item-details {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 12px;
			padding: 16px 24px 0;
			
			@media (width < 768px) {
				grid-template-columns: repeat(1, 1fr);
			}

			.item-details_item {
				padding: 12px;
				background-color: #f9fafb;
				border-radius: 10px;
				font-size: 14px;
				font-weight: 600;
				color: #404040;
				display: flex;
				align-items: center;
				gap: 12px;
				cursor: pointer;
				transition: all 0.2s;
				border: 1px solid transparent;
				
				[data-theme=dark] & {
					background-color: #171717;
					color: #A3A3A3;
				}

				&:hover {
					background-color: #F3F4F6;
					border-color: #E5E7EB;
					
					[data-theme=dark] & {
						background-color: #262626;
						border-color: #404040;
					}
				}

				input[type="checkbox"] {
					position: absolute;
					opacity: 0;
					width: 0;
					height: 0;
				}

				.checkbox-custom {
					width: 18px;
					height: 18px;
					border: 2px solid #E5E5E5;
					border-radius: 4px;
					display: inline-flex;
					align-items: center;
					justify-content: center;
					background-color: #fff;
					transition: all 0.2s;
					flex-shrink: 0;
					
					[data-theme=dark] & {
						background-color: #0a0a0a;
						border-color: #404040;
					}

					&::after {
						content: '';
						width: 4px;
						height: 8px;
						border: solid white;
						border-width: 0 2px 2px 0;
						transform: rotate(45deg);
						opacity: 0;
						transition: opacity 0.2s;
					}
				}

				input[type="checkbox"]:checked + .checkbox-custom {
					background-color: #8A1739;
					border-color: #8A1739;

					&::after {
						opacity: 1;
					}
				}
			}
		}
	}
}

.save-interests-btn {
	width: 100%;
	padding: 12px 18px;
	background-color: #8A1739;
	color: #fff;
	font-weight: 600;
	border-radius: 8px;
}

.delete-account-dialog {
	max-width: 518px;
    width: 100%;
    background-color: transparent;
    
    &::backdrop {
        backdrop-filter: blur(2px);
    }

    @media (width < 768px) {
        padding: 20px;
    }

	.dialog-main {
        padding: 48px;
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 16px;
        text-align: center;
        background-color: #fff;
        border-radius: 8px;

        [data-theme=dark] & {
            background-color: #000;
        }

		@media (width < 768px) {
			padding-inline: 20px;
		}

        .dialog-svg {
            padding: 27px;
            background-color: #F9EBEF;
            border-radius: 50%;
        }

        .dialog-title {
            color: #111827;
            font-size: 20px;
            font-weight: 700;

            [data-theme=dark] & {
                color: #E5E7EB;
            }
        }
        
        .dialog-desc {
            color: #6B7280;

            [data-theme=dark] & {
                color: #9CA3AF;
            }
        }

		.dialog-actions {
			display: flex;
			align-items: center;
			gap: 16px;
			width: 100%;
		}

        .dialog-btn {
            width: 100%;
            padding: 12px 18px;
            border-radius: 8px;
            font-weight: 500;

			@media (width < 768px) {
				font-size: 14px;
			}

			&#dialog_cancel {
				color: #374151;
				border: 1px solid #E5E7EB;
			}

			&#dialog_confirm {
				background-color: #8A1739;
				color: #fff;
				border: 1px solid #8A1739;
			}
        }
    }
}

.back-to-profile {
	display: flex;
	align-items: center;
	gap: 16px;
	color: #1F2937;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 24px;

	[data-theme=dark] & {
		color: #E5E7EB;
	}
}

form.edit-profile-form, form.change-password-form {
	max-width: 648px;
	margin: 0 auto;
    label {
        display: block;

        &:not(:first-child) {
            margin-top: 24px;
        }

        .input-label {
            display: block;
            margin-bottom: 4px;
            font-size: 14px;
            color: #030712;

            [data-theme=dark] & {
                color: #E5E7EB;
            }
        }

        &:has(.form-input[required]) .input-label::after,
        &:has(input[type="radio"][required]) .input-label::after,
        &:has(input[type="checkbox"][required]) .input-label::after {
            content: ' *';
            color: #DC3545;
        }

        .form-input {
            width: 100%;
            background-color: transparent;
            border: 1px solid #E5E7EB;
            border-radius: 8px;
            padding: 11px 12px;

            [data-theme=dark] & {
                color: #E5E7EB;
                border-color: #374151;
            }
        }

        select.form-input {
            appearance: none;
            position: relative;
            background-repeat: no-repeat;
            background-image: url('./assets/auth/images/arrow-down.svg');
            background-position-x: 10px;
            background-position-y: 50%;
            background-size: 18px;

            [data-theme=dark] & {
                background-color: #030712;
            }
        }

        &.radio {
            display: flex;
            align-items: center;
            justify-content: space-between;
            
            .radio-inputs {
                display: flex;
                align-items: center;
                gap: 12px;

                .radio-option {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    gap: 8px;
                    margin: 0;

                    input[type="radio"] {
                        width: 20px;
                        height: 20px;
                        accent-color: #8A1739;
                        cursor: pointer;
                    }

                    span {
                        color: #4B5563;

                        [data-theme=dark] & {
                            color: #E5E7EB;
                        }
                    }
                }
            }
        }

        input[type="date"], input[type="datetime-local"] {
            text-align: right;
            position: relative;
        }

        input[type="date"]::-webkit-calendar-picker-indicator,
        input[type="datetime-local"]::-webkit-calendar-picker-indicator {
            background-image: url('./assets/auth/images/calendar.svg');
            background-repeat: no-repeat;
            background-size: 24px 24px;
            width: 24px;
            height: 24px;
            cursor: pointer;
            position: absolute;
            left: 16px;
        }

		.pass-toggle {
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
        }
    }
    
    .grid-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-bottom: 24px;
        
        @media (width < 768px) {
            grid-template-columns: repeat(1, 1fr);
            gap: 24px;
        }

        > label {
            margin: 0;
        }
    }

    .form-actions {
        display: flex;
        align-items: center;
        gap: 20px;
		margin-top: 24px;
    }

	.form-cancel-btn {
		text-align: center;
		padding: 12px 18px;
        color: #374151;
        font-weight: 500;
		border: 1px solid #E5E7EB;
        border-radius: 8px;
        width: 100%;

		[data-theme=dark] & {
			color: #E5E7EB;
		}
	}
	
    .form-submit-btn {
		padding: 12px 18px;
        background-color: #8A1739;
        color: #fff;
        font-weight: 500;
		border: 1px solid #8A1739;
        border-radius: 8px;
        width: 100%;

		&.mt {
			margin-top: 24px;
		}
    }

	.form-error {
		color: #fff;
		background-color: #DC3545;
		padding: 12px 18px;
		border-radius: 8px;
		font-size: 14px;
		margin-top: 12px;
		text-align: center;
	}
}

.change-success-dialog {
	max-width: 518px;
    width: 100%;
    background-color: transparent;
    
    &::backdrop {
        backdrop-filter: blur(2px);
    }

    @media (width < 768px) {
        padding: 20px;
    }

    .dialog-main {
        padding: 48px;
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 16px;
        text-align: center;
        background-color: #fff;
        border-radius: 8px;

        [data-theme=dark] & {
            background-color: #000;
        }

        .dialog-svg {
            padding: 27px;
            background-color: #EBFAF7;
            border-radius: 50%;

            [data-theme=dark] & {
                background-color: #004D3E;
            }
        }

        .dialog-title {
            color: #111827;
            font-size: 20px;
            font-weight: 700;

            [data-theme=dark] & {
                color: #E5E7EB;
            }
        }
        
        .dialog-desc {
            color: #6B7280;

            [data-theme=dark] & {
                color: #9CA3AF;
            }
        }

        .dialog-btn {
            width: 100%;
            padding: 12px 18px;
            background-color: #8A1739;
            border-radius: 8px;
            color: #fff;
            font-weight: 500;
        }
    }
}

/* Join Fatwatok Dialog Styles */
dialog.join-fatwatok {
	max-width: 518px;
	width: 100%;
	background-color: transparent;
	opacity: 0;
	transform: scale(0.9) translateY(20px);
	transition: opacity 0.3s ease, transform 0.3s ease, overlay 0.3s ease allow-discrete, display 0.3s ease allow-discrete;

	&[open] {
		opacity: 1;
		transform: scale(1) translateY(0);
	}

	@starting-style {
		&[open] {
			opacity: 0;
			transform: scale(0.9) translateY(20px);
		}
	}

	&::backdrop {
		backdrop-filter: blur(2px);
		background-color: rgba(0, 0, 0, 0);
		transition: background-color 0.3s ease, backdrop-filter 0.3s ease, overlay 0.3s ease allow-discrete, display 0.3s ease allow-discrete;
	}

	&[open]::backdrop {
		background-color: rgba(0, 0, 0, 0.5);
	}

	@starting-style {
		&[open]::backdrop {
			background-color: rgba(0, 0, 0, 0);
		}
	}

	@media (width < 768px) {
		padding: 20px;
	}

	.dialog-main {
		padding: 20px;
		display: flex;
		align-items: center;
		flex-direction: column;
		gap: 16px;
		text-align: center;
		background-color: #fff;
		border-radius: 20px;

		[data-theme=dark] & {
			background-color: #000;
		}

		.close-dialog {
			padding: 8px;
			border: 1px solid #E5E7EB;
			border-radius: 8px;
			background-color: #F9FAFB;
			margin-right: auto;
			margin-bottom: 8px;

			[data-theme=dark] & {
				background-color: #262626;
				border-color: #262626;

				svg path {
					stroke: #fff;
				}
			}
		}

		.dialog-svg {
			padding: 18px;
			background-color: #F9EBEF;
			border-radius: 50%;
		}

		.dialog-title {
			color: #111827;
			font-size: 20px;
			font-weight: 700;

			[data-theme=dark] & {
				color: #E5E7EB;
			}
		}

		.dialog-desc {
			color: #6B7280;

			[data-theme=dark] & {
				color: #9CA3AF;
			}
		}

		.points-list {
			text-align: right;
			width: 100%;
			padding: 16px;
			border: 1px solid #F3F4F6;
			border-radius: 12px;

			[data-theme=dark] & {
				border-color: #262626;
			}

			.points-list_item {
				display: flex;
				align-items: center;
				gap: 8px;
				font-size: 14px;
				font-weight: 500;
				color: #4B5563;

				[data-theme=dark] & {
					color: #E5E7EB;
				}

				&:not(first-child) {
					margin-top: 12px;
				}

				span {
					padding: 4.5px;
					background-color: #F9EBEF;
					border-radius: 50%;
				}
			}
		}

		.dialog-actions {
			display: flex;
			align-items: center;
			gap: 16px;
			width: 100%;

			.dialog-actions_main {
				width: 100%;
				padding: 12px 18px;
				background-color: #8A1739;
				border: 1px solid #8A1739;
				border-radius: 8px;
				color: #fff;
				font-weight: 500;
			}

			.dialog-actions_secondary {
				width: 100%;
				padding: 12px 18px;
				background-color: #fff;
				border: 1px solid #8A1739;
				border-radius: 8px;
				color: #8A1739;
				font-weight: 500;

				[data-theme=dark] & {
					color: #E5E7EB;
					border-color: #E5E7EB;
					background-color: transparent;
				}
			}
		}
	}
}

.categories-wrapper {
	background-color: #fff;
	padding: 20px;
	height: calc(100dvh - 74px);

	overflow-y: scroll;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */

	&::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}

	@media (width < 768px) {
		height: calc(100dvh - 56px);
		padding: 20px 0;
	}

	[data-theme=dark] & {
		background-color: #171717;
	}

	.top-title {
		color: #8A1739;
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 8px;
	}
	
	.top-desc {
		color: #6B7280;
		font-size: 14px;
		margin-bottom: 24px;

		[data-theme=dark] & {
			color: #E5E7EB;
		}
	}
}

.categories-acc_item {
	max-width: 872px;
	margin: 0 auto;
	padding: 16px;
	border: 1px solid #E5E7EB;
	border-radius: 10px;

	[data-theme=dark] & {
		border-color: #404040;
	}

	&:not(:first-child) {
		margin-top: 12px;
	}

	.item-head {
		display: flex;
		align-items: center;
		gap: 12px;

		.item-title {
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 12px;
			color: #1F2937;
			font-size: 18px;
			font-weight: 700;

			[data-theme=dark] & {
				color: #E5E7EB;
			}
		}

		.item-head_btn {
			border-radius: 50%;
			padding: 7px;
			background-color: #F9EBEF;

			.toggle-minus {
				display: none;
			}
		}
	}

	&[open] {
		.item-head_btn {
			background-color: #F9FAFB;
			.toggle-minus {
				display: block;
			}
			.toggle-plus {
				display: none;
			}
		}
	}

	.item-details {
		padding-top: 24px;
		padding-bottom: 16px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;

		.item-details_item {
			display: flex;
			align-items: center;
			justify-content: space-between;
			background-color: #F9FAFB;
			border-radius: 8px;
			padding: 12px;
			color: #1F2937;
			font-weight: 500;

			[data-theme=dark] & {
				background-color: #000;
				color: #E5E7EB;
			}
		}
	}
}

.iti.iti--allow-dropdown {
	width: 100%;
}