@media (max-width: 768px) {
	body {
		padding-left: 25px;
		padding-right: 25px;
	}
}



/* .......................................................................... */
/* questions wrapper                                                          */
/* .......................................................................... */
.question-container {
	margin: 0;
}

.question-container .level-indicator {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
}

.question-container .level-basic  { background: #4CAF50; }
.question-container .level-medium { background: #FFC107; }
.question-container .level-deep   { background: #9C27B0; }

.question-container .question-content {
	display: flex;
	flex-direction: column;
	position: relative;
	padding-left:50px;
}

.question-container .buttons_wrapper {
	padding-top:50px;
	border-top:1px dashed gray;
}

@media (max-width: 991px) {
	.question-container.container-fluid {
		padding-left: 0;
	}
}
/* .......................................................................... */



.dungeon-form-wrapper {position:relative; display:block;}
.dungeon_titles {display: block;}


.about {padding:0; border-top:1px dotted var(--accent-color);}



/* .......................................................................... */
/* acknowledgements block                                                     */
/* .......................................................................... */
.container.steps.section .step-icon {width: 200px; height: 200px; margin: 0 40px 0 40px;}
.container.steps.section .steps-wrapper::before {display: none;}
.container.steps.section .step-icon i {font-size: 64px;}
/* Layout default (desktop) */
.container.steps.section .step-content {
	display: flex;
	align-items: flex-start;
}

/* Force responsive stacking */
@media (max-width: 768px) {
	.container.steps.section .step-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		text-align: center !important;
	}

	.container.steps.section .step-icon {
		margin: 0 auto 20px auto !important;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* AI response block                                                          */
/* .......................................................................... */
/* .......................................................................... */
/* AI RESPONSE BLOCK - ISOLATED WITH .ai-response                             */
/* .......................................................................... */

/* --- CONTAINER GENERAL --- */
.tab-content .content-block.ai-response {
	display: block;
	padding: 25px 25px;
	line-height: 1.75;
	font-size: 1.08rem;
	color: var(--default-color);
	background: var(--surface-color);
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(0,0,0,0.35);
	margin-bottom: 40px;
}

/* --- MAIN TEXT AREA --- */
.tab-content .content-block.ai-response .ai-main {
	padding: 20px 10px;
	line-height: 1.7;
	font-size: 1.05rem;
	color: var(--default-color);
}

/* --- HEADINGS --- */
.tab-content .content-block.ai-response .ai-main h3 {
	margin-top: 35px;
	margin-bottom: 18px;
	font-size: 1.45rem;
	font-weight: 700;
	color: var(--contrast-color);
	position: relative;
	padding-left: 42px;
}

/* Icon before each H3 */
.tab-content .content-block.ai-response .ai-main h3::before {
	content: "\f4c4"; /* bi-diagram-3 */
	font-family: "bootstrap-icons";
	position: absolute;
	left: 0;
	top: 2px;
	font-size: 1.5rem;
	color: var(--accent-color);
}

/* First H3 no top margin */
.tab-content .content-block.ai-response .ai-main h3:first-child {
	margin-top: 0;
}

/* --- SECTION DIVIDER --- */
.tab-content .content-block.ai-response .ai-main h3:not(:first-child)::after {
	content: "";
	position: absolute;
	top: -18px;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(
		to right,
		var(--accent-color),
		rgba(227,161,39,0.0)
	);
}

/* --- BULLET LISTS --- */
.tab-content .content-block.ai-response .ai-main br + - {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	padding: 10px 12px;
	background: rgba(255,255,255,0.04);
	border-radius: 8px;
}

/* Bullet icon */
.tab-content .content-block.ai-response .ai-main br + -::before {
	content: "\f26a"; /* bi-dot */
	font-family: "bootstrap-icons";
	font-size: 1.4rem;
	color: var(--recent-color);
	margin-top: 2px;
}

/* --- STRONG TEXT --- */
.tab-content .content-block.ai-response .ai-main strong {
	color: var(--contrast-color);
	font-weight: 500;
}

/* --- PARAGRAPH SPACING --- */
.tab-content .content-block.ai-response .ai-main p {
	margin-bottom: 14px;
}

/* --- OPTIONAL: highlight summary section --- */
.tab-content .content-block.ai-response .ai-main h3:last-of-type {
	color: var(--greens-color);
}

.tab-content .content-block.ai-response .ai-main h3:last-of-type::before {
	color: var(--greens-color);
}

/* --- SECTIONS --- */
.tab-content .content-block.ai-response .ai-section {
	margin-bottom: 35px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.tab-content .content-block.ai-response .ai-section:last-child {
	border-bottom: none;
}

.tab-content .content-block.ai-response .ai-section h3 {
	font-size: 1.4rem;
	margin-bottom: 15px;
	color: var(--heading-color);
	position: relative;
	padding-left: 32px;
}

.tab-content .content-block.ai-response .ai-section h3::before {
	content: "\f4c4"; /* bi-diagram-3 */
	font-family: "bootstrap-icons";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 1.3rem;
	color: var(--accent-color);
}

/* --- LISTS --- */
.tab-content .content-block.ai-response .ai-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.tab-content .content-block.ai-response .ai-list li {
	position: relative;
	margin-bottom: 14px;
	background: rgba(255,255,255,0.04);
	border-radius: 8px;
	padding: 12px 14px 12px 40px;
	line-height: 1.6;
}

.tab-content .content-block.ai-response .ai-list li::before {
	content: "\f26a"; /* bi-dot */
	font-family: "bootstrap-icons";
	position: absolute;
	left: 12px;
	top: 12px;
	font-size: 1.2rem;
	color: var(--recent-color);
}

/* --- LAYOUT GENERAL --- */
.tab-content .content-block.ai-response .ai-layout {
	margin-top: 20px;
}

/* Left column */
.tab-content .content-block.ai-response .ai-side {
	padding-right: 25px;
	border-right: 1px solid rgba(255,255,255,0.08);
}

/* Right column */
.tab-content .content-block.ai-response .ai-main {
	padding-left: 25px;
}

/* Icon mare */
.tab-content .content-block.ai-response .ai-side-visual {
	font-size: 4rem;
	opacity: 0.15;
	margin-bottom: 15px;
	text-align: center;
}

/* Titlu lateral */
.tab-content .content-block.ai-response .ai-side-title {
	font-size: 1.4rem;
	color: var(--heading-color);
	margin-bottom: 10px;
	text-align: center;
}

/* Text lateral */
.tab-content .content-block.ai-response .ai-side-text {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--default-color);
	opacity: 0.85;
	text-align: center;
}
/* .......................................................................... */



/* .......................................................................... */
/* LOCAL ANALYSIS BLOCK - ISOLATED WITH .local-analysis                       */
/* .......................................................................... */
/* Wrapper general */
.local-analysis .analysis-wrapper {
	padding: 20px 22px;
	background: rgba(20, 20, 20, 0.45);
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
	box-shadow: 0 0 22px rgba(0, 0, 0, 0.35);
	border-image: linear-gradient(135deg,
		rgba(255,255,255,0.12),
		rgba(255,255,255,0.02)
	) 1;
	animation: fadeInBlock 0.35s ease-out;
}

/* Fade-in cinematic */
@keyframes fadeInBlock {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Secțiuni */
.local-analysis .analysis-section {
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.local-analysis .analysis-section:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Titluri secțiuni */
.local-analysis .analysis-section h3 {
	font-size: 1.05rem;
	margin: 0 0 10px;
	color: var(--heading-color);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-weight: 600;
	opacity: 0.95;
	display: flex;
	align-items: center;
	gap: 8px;
}

.local-analysis .analysis-section h3 i {
	font-size: 1.25rem;
	color: var(--accent-color);
	opacity: 0.9;
}

/* Liste */
.local-analysis .analysis-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* -------------------------------------------------------------------------- */
/* SECȚIUNI STATISTICE - OVERVIEW, TEXT, YESNO, DEPTH, TIME, SCORES           */
/* -------------------------------------------------------------------------- */

.analysis-overview li,
.analysis-text li,
.analysis-yesno li,
.analysis-depth li,
.analysis-time li,
.analysis-scores li {
	display: flex;
	width: 100%;
	margin-bottom: 3px;
	line-height: 1.22;
	font-size: 0.94rem;
	color: var(--default-color);
	opacity: 0.9;
	gap: 6px;
}

/* Aliniere perfectă pentru strong */
.analysis-overview li strong,
.analysis-text li strong,
.analysis-yesno li strong,
.analysis-depth li strong,
.analysis-time li strong,
.analysis-scores li strong {
	display: inline-block;
	width: 200px;
	flex-shrink: 0;
	font-weight: 600;
	color: var(--heading-color);
	opacity: 0.95;
}

/* -------------------------------------------------------------------------- */
/* SECȚIUNI CHIPS - DOMAINS & TAGS                                            */
/* -------------------------------------------------------------------------- */

.analysis-domains li,
.analysis-tags li {
	display: inline-flex;
	width: auto;
	padding: 4px 8px;
	background: rgba(255,255,255,0.05);
	border-radius: 6px;
	margin: 3px 4px;
	font-size: 0.9rem;
	line-height: 1.2;
	color: var(--default-color);
	opacity: 0.9;
}

/* Strong normal în chips */
.analysis-domains li strong,
.analysis-tags li strong {
	width: auto;
	margin-right: 4px;
	color: var(--heading-color);
}

/* .......................... */
/* TAGS SECTION - 2 rows only */
/* .......................... */
.analysis-tags-list li {
	display: block;
	margin-bottom: 6px;
	line-height: 1.22;
	font-size: 0.94rem;
}

/* Chips container */
.tags-chips {
	display: inline;
}

/* Individual chips */
.tag-chip {
	display: inline-flex;
	padding: 4px 8px;
	background: rgba(255,255,255,0.05);
	border-radius: 6px;
	margin: 3px 4px;
	font-size: 0.9rem;
	line-height: 1.2;
}

.tag-chip strong {
	margin-right: 4px;
	width: auto;
}
/* .......................... */

/* -------------------------------------------------------------------------- */
/* RESPONSIVE                                                                 */
/* -------------------------------------------------------------------------- */

@media (max-width: 991px) {
	.local-analysis .analysis-wrapper {
		padding: 16px 18px;
		margin-top: 15px;
	}

	.local-analysis .analysis-section h3 {
		font-size: 0.95rem;
	}

	.analysis-overview li strong,
	.analysis-text li strong,
	.analysis-yesno li strong,
	.analysis-depth li strong,
	.analysis-time li strong,
	.analysis-scores li strong {
		width: 150px;
	}

	.analysis-domains li,
	.analysis-tags li {
		font-size: 0.85rem;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* the 8 dynamic blocks for slider setup                                      */
/* .......................................................................... */
.slider-block {
	filter: blur(4px) grayscale(100%);
	opacity: 0.35;
	pointer-events: none;
	transform: scale(0.85);
	transition:
		filter 0.45s ease,
		opacity 0.45s ease,
		transform 0.45s ease;
}
.slider-block.active {
	filter: none;
	opacity: 1;
	pointer-events: auto;
	transform: scale(1);
	animation: blockBounce 0.45s ease-out;
}
@keyframes blockBounce {
	0%   { transform: scale(0.85); opacity: 0.25; }
	60%  { transform: scale(1.05); opacity: 1; }
	100% { transform: scale(1); }
}
.slider-block.deactivating {
	animation: blockFadeOut 0.35s ease-out;
}
@keyframes blockFadeOut {
	0%   { transform: scale(1); opacity: 1; filter: none; }
	100% { transform: scale(0.85); opacity: 0.35; filter: blur(5px) grayscale(100%); }
}
/* .......................................................................... */



.header .logo h1 {letter-spacing:-1px;}


.dungeon_titles {display: block;}
.dungeon_titles h3 {text-transform: uppercase; color: var(--accent-color);}



/* .......................................................................... */
/* loaded bars UX only                                                        */
/* .......................................................................... */
.mix_dual_bars {
	width: 100%;
	margin-top: -100px;
}

/* Row with two blocks */
.mix_bars_row_separate {
	display: flex;
	justify-content: space-between;
	gap: 40px; /* spațiu între ele */
}

/* Each block */
.mix_block {
	width: 150px;
}

.mix_block .mix_label {font-size: 1.15rem; margin-bottom: 5px; background-color: #333; border-radius: 5px; padding:5px 15px 5px 15px; text-align: center;}

/* Labels */
.mix_label_left {
	color: var(--reds-color);
}

.mix_label_right {
	color: var(--greens-color);
}

/* Track */
.mix_bar_track {
	width: 100%;
	height: 3px;
	background: #333;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}

/* Fill (scaleX logic) */
.mix_bar_fill {
	height: 100%;
	width: 100%;
	transform: scaleX(0.5);
	transform-origin: left center;
	border-radius: 5px;
	transition: transform 0.25s cubic-bezier(.25, 1.5, .5, 1);
}

/* Left bar (Straight) */
.mix_left_track .mix_bar_fill {
	background: var(--reds-color);
	transform-origin: left center;
}

/* Right bar (Humor) */
.mix_right_track .mix_bar_fill {
	background: var(--greens-color);
	transform-origin: right center;
}

/* .......................................................................... */



/* .......................................................................... */
/* dungeon range progressbar - number of question slider                      */
/* .......................................................................... */
/* WRAPPER GENERAL */
.dungeon_range {
	position: relative;
	display: block;
	margin: 100px 0 30px 0;
	z-index: 0;
}

/* TRACK + KNOB (input-ul întreg) */
.dungeon_range input[type="range"] {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	height: 10px;

	position: relative;
	z-index: 2; /* TOT sliderul (track + knob) peste marker */

	background: linear-gradient(270deg,
		#d46a00 0%,
		#ff8b1f 20%,
		#ffc340 40%,
		#ff8b1f 60%,
		#d46a00 100%);
	background-size: 200% 100%;

	border-radius: 10px;
	outline: none;
	cursor: pointer;
	transition: background-position 0.3s ease-out;
}

/* THUMB (KNOB) – nu mai are z-index separat, stă în layer-ul input-ului */
.dungeon_range input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	height: 20px;
	width: 20px;
	background: #ffc340;
	border: 2px solid #ce6700;
	border-radius: 6px;
	cursor: pointer;
	transition: transform 0.15s cubic-bezier(.25, 1.5, .5, 1);
}

.dungeon_range input[type="range"]:active::-webkit-slider-thumb {
	transform: scale(1.15) rotate(3deg);
}

/* TOOLTIP – deasupra tuturor */
.tooltip-value {
	position: absolute;
	top: -45px;
	left: 50%;
	transform: translateX(-50%) rotate(0deg);
	background: #ffc340;
	color: #000;
	padding: 6px 10px;
	border-radius: 6px;
	font-weight: bold;
	font-size: 14px;
	white-space: nowrap;
	pointer-events: none;
	transition:
		transform 0.25s cubic-bezier(.25, 1.5, .5, 1),
		left 0.15s ease-out;

	z-index: 4;
}

/* BALANS DIRECȚIONAL */
.dungeon_range.moving-left .tooltip-value {
	transform: translateX(-50%) rotate(-4deg);
}

.dungeon_range.moving-right .tooltip-value {
	transform: translateX(-50%) rotate(4deg);
}

/* Efectul de sweep */
.dungeon_range.sweep input[type="range"] {
	animation: sweepGradient 1.2s ease-out;
}

@keyframes sweepGradient {
	0%   { background-position: 0% 0; }
	100% { background-position: 200% 0; }
}

/* Bounce final */
.dungeon_range.bounce .tooltip-value {
	animation: tooltipBounce 0.45s cubic-bezier(.25, 1.5, .5, 1);
}

@keyframes tooltipBounce {
	0%   { transform: translateX(-50%) rotate(0deg); }
	40%  { transform: translateX(-50%) rotate(-6deg); }
	70%  { transform: translateX(-50%) rotate(4deg); }
	100% { transform: translateX(-50%) rotate(0deg); }
}

/* MARKER – sub slider (track + knob) */
.slider_marker {
	position: absolute;
	top: 100%;
	transform: translateY(-50%); /* DOAR Y, X vine din JS prin left */
	width: 3px;
	height: 30px;
	background: #ffb300;
	border-radius: 3px;
	pointer-events: none;

	z-index: 1; /* SUB input[type=range] → knob-ul îl acoperă */

	animation: markerFloat 3s ease-in-out infinite;
}

/* LABEL – deasupra tuturor, ca tooltip-ul */
.slider_label {
	position: absolute;
	top: 30px;
	transform: translateX(-50%);
	padding: 5px 10px;

	background: #ffb300;
	border-radius: 5px;
	font-size: 13px;
	color: black;
	white-space: nowrap;
	pointer-events: none;

	z-index: 4;
	animation: labelFloat 3s ease-in-out infinite;
}

/* ANIMAȚII – adaptate să nu mai strice X-ul markerului */
@keyframes markerFloat {
	0%   { transform: translateY(-50%) rotate(0deg); }
	25%  { transform: translateY(-50%) rotate(-2deg); }
	50%  { transform: translateY(-50%) rotate(0deg); }
	75%  { transform: translateY(-50%) rotate(2deg); }
	100% { transform: translateY(-50%) rotate(0deg); }
}

@keyframes labelFloat {
	0%   { transform: translateX(-50%) rotate(0deg); }
	25%  { transform: translateX(-50%) rotate(-3deg); }
	50%  { transform: translateX(-50%) rotate(0deg); }
	75%  { transform: translateX(-50%) rotate(3deg); }
	100% { transform: translateX(-50%) rotate(0deg); }
}

/* .......................................................................... */



/* .......................................................................... */
/* dungeon means progressbar - number of question slider                      */
/* .......................................................................... */
.dungeon_means {
	position: relative;
	width: 100%;
	margin: 85px 0 0 0;
}

/* TRACK */
.dungeon_means .dm_track {
	width: 100%;
	height: 10px;
	background: linear-gradient(90deg,
		#d46a00 0%,
		#ff8b1f 25%,
		#ffc340 50%,
		#ff8b1f 75%,
		#d46a00 100%);
	background-size: 300% 100%;

	border-radius: 10px;
	position: relative;
	overflow: visible;

	background-position: 0% 0;
}

/* FILL */
.dungeon_means .dm_fill {
	height: 100%;
	background: var(--greens-color);
	border-radius: 10px;
	transition: width 0.4s ease-out;
}

/* MARKER */
.dungeon_means .dm_marker {
	position: absolute;
	top: -20px;
	width: 2px;
	height: 30px;
	background: var(--greens-color);
	transform: translateX(-1px);
	z-index: 1;
}

/* LABEL */
.dungeon_means .dm_label {
	position: absolute;
	top: -55px;
	transform: translateX(-50%);
	background: var(--greens-color);
	color: #000;
	padding: 6px 10px;
	border-radius: 6px;
	font-weight: bold;
	font-size: 14px;
	white-space: nowrap;
	border: 2px solid var(--greens-color);
	box-shadow: 0 2px 4px rgba(0,0,0,0.25);
	z-index: 1;
}

/* Sweep effect */
.dungeon_means.sweep .dm_track {
	animation: dmSweep 1.2s ease-out;
}
@keyframes dmSweep {
	0% { background-position: 0% 0; }
	100% { background-position: 100% 0; }
}
/* .......................................................................... */



.bottom_progress {display: block; position: relative; clear: both; padding-top: 15px; margin-top:50px; border-top: 1px dotted var(--accent-color);}
.dungeon_quest {
	position: absolute; top:55px; left:0;
	font-weight: 600;
}



/* .......................................................................... */
/* dungeon questions                                                          */
/* .......................................................................... */
.dungeon .dungeon-info-box {
	background-color: var(--surface-color);
	border-radius: 10px;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
	padding: 25px;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.dungeon .dungeon-info-box:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
}

.dungeon .dungeon-info-box .icon-box {
	background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
	color: var(--accent-color);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.dungeon .dungeon-info-box .icon-box i {
	font-size: 24px;
}

.dungeon .dungeon-info-box .info-content h4 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}

.dungeon .dungeon-info-box .info-content p {
	margin-bottom: 5px;
	color: color-mix(in srgb, var(--default-color), transparent 20%);
	font-size: 15px;
	line-height: 1.5;
}

.dungeon .dungeon-info-box .info-content p:last-child {
	margin-bottom: 0;
}

.dungeon .map-section {
	position: relative;
	width: 100%;
	height: 500px;
	overflow: hidden;
}

.dungeon .map-section iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.dungeon .form-container-overlap {
	position: relative;
	margin-top: -150px;
	margin-bottom: 60px;
	z-index: 10;
}

.dungeon .dungeon-form-wrapper {
	background-color: var(--surface-color);
	border-radius: 12px;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
	padding: 40px;
}

.dungeon .dungeon-form-wrapper h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 30px;
	position: relative;
}

.dungeon .dungeon-form-wrapper h2:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background-color: var(--accent-color);
}

.dungeon .dungeon-form-wrapper .form-group {
	margin-bottom: 20px;
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon {
	position: relative;
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon i {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: color-mix(in srgb, var(--default-color), transparent 40%);
	font-size: 18px;
	z-index: 10;
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon i.message-icon {
	top: 28px;
	font-size: 24px;
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon textarea+i {
	top: 25px;
	transform: none;
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon .form-control {
	border-radius: 8px;
	padding: 12px 15px 12px 45px;
	height: 3.5rem;
	color: var(--default-color);
	background-color: var(--surface-color);
	font-size: 15px;

	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);

	border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon .form-control:focus {
	box-shadow: inset 0 0 0 1px var(--accent-color);
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon .form-control::placeholder {
	color: color-mix(in srgb, var(--default-color), transparent 40%);
}

.dungeon .dungeon-form-wrapper .form-group .input-with-icon textarea.form-control {
	height: 180px;
	resize: none;
	padding-top: 15px;
	font-size: 18px;
}

.dungeon .dungeon-form-wrapper .btn-y,
.dungeon .dungeon-form-wrapper .btn-n,
.dungeon .dungeon-form-wrapper .btn-skip,
.dungeon .dungeon-form-wrapper .btn-submit {
	background-color: var(--accent-color);
	border: none;
	color: var(--contrast-color);
	padding: 12px 30px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 1px;
	border-radius: 8px;
	transition: all 0.3s ease;
	box-shadow: 0 5px 15px color-mix(in srgb, var(--accent-color), transparent 70%);
}
.dungeon .dungeon-form-wrapper .btn-skip {
	background-color: var(--surface-color);
}
.dungeon .dungeon-form-wrapper .btn-y {
	background-color: var(--accent-color);
}
.dungeon .dungeon-form-wrapper .btn-n {
	background-color: var(--recent-color);
}

.dungeon .dungeon-form-wrapper .btn-skip:hover,
.dungeon .dungeon-form-wrapper .btn-submit:hover {
	background-color: color-mix(in srgb, var(--accent-color), transparent 15%);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 60%);
}

.dungeon .dungeon-form-wrapper .btn-skip:active,
.dungeon .dungeon-form-wrapper .btn-submit:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.dungeon .dungeon-form-wrapper .loading,
.dungeon .dungeon-form-wrapper .error-message,
.dungeon .dungeon-form-wrapper .sent-message {
	margin-top: 10px;
	margin-bottom: 20px;
}

@media (max-width: 992px) {
	.dungeon .form-container-overlap {
		margin-top: -120px;
	}

	.dungeon .dungeon-form-wrapper {
		padding: 30px;
	}
}

@media (max-width: 768px) {
	.dungeon .dungeon-info-box {
		margin-bottom: 20px;
	}

	.dungeon .form-container-overlap {
		margin-top: -100px;
	}

	.dungeon .dungeon-form-wrapper {
		padding: 25px;
	}

	.dungeon .dungeon-form-wrapper h2 {
		font-size: 24px;
	}

	.dungeon .map-section {
		height: 450px;
	}
}

@media (max-width: 576px) {
	.dungeon .form-container-overlap {
		margin-top: -80px;
	}

	.dungeon .dungeon-form-wrapper {
		padding: 20px;
	}

	.dungeon .btn-submit {
		width: 100%;
	}

	.dungeon .map-section {
		height: 400px;
	}
}
/* .......................................................................... */



/* .......................................................................... */
#questions_section .equal-height {
	display: flex;
	align-items: stretch;
}
#questions_section .col-lg-4,
#questions_section .col-lg-8 {
	display: flex;
}
#questions_section .imagery {
	flex: 1;
	display: flex;
	flex-direction: column;
	height: 100%;
}
#questions_section .cinematic-bg {
	flex: 1;
	display: flex;
	width: 100%;
	overflow: hidden;
	position: relative;
}

.main-question-icon {
	font-size: 140px;
	opacity: 0.15;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}

.mix-badge {
	position: absolute;
	top: 15px;
	right: 15px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 15px;
	font-weight: 600;
	border-radius: 5px;
	backdrop-filter: blur(5px);
	background: rgba(0,0,0,0.35);
	z-index: 1;
	letter-spacing: 0.5px;
	pointer-events: none;

	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.mix-badge i {
	font-size: 15px;
	vertical-align: middle;
}
.mix-badge.humor {
	border: 1px solid var(--recent-color);
	color: var(--recent-color);
	box-shadow: 0 0 5px rgba(227, 117, 39, 0.25);
}
.mix-badge.straight {
	border: 1px solid var(--accent-color);
	color: var(--accent-color);
	box-shadow: 0 0 5px rgba(224, 233, 242, 0.25);
}
.mix-badge.domain {
	top: 15px;
	left: 15px;
	right:auto; bottom:auto;

	background: rgba(0,0,0,0.35);

	border: 1px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.85);
	box-shadow: 0 0 5px rgba(0,0,0,0.25);
}
.mix-badge.level {
	bottom: 15px;
	left: 15px;
	top:auto; right:auto;

	background: rgba(0,0,0,0.35);

	border: 1px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.85);
	box-shadow: 0 0 5px rgba(0,0,0,0.25);
}
.mix-badge.type {
	bottom: 15px;
	right: 15px;
	top:auto; left:auto;

	background: rgba(0,0,0,0.35);

	border: 1px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.85);
	box-shadow: 0 0 5px rgba(0,0,0,0.25);
}
/* .......................................................................... */




.float-icon svg,
.main-question-icon svg {
	width: 100%;
	height: 100%;
}





/* .......................................................................... */
/* animations and visual helper for questions
/* .......................................................................... */
.question-container {position:relative;}

.cinematic-bg .back-layer{
	width:100%; height:100%;
	inset: 0;
	position:absolute; top:0; left:0;
}
.cinematic-bg .pngs-layer {
	width:100%; height:100%;
	inset: 0;
	position:absolute; top:0; left:0;
}
.cinematic-bg .icon-layer {
	width:100%; height:100%;
	inset: 0;
	position:absolute; top:0; left:0;
}



.cinematic-bg .pngs-layer {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}
.png-wrapper {
	display: flex;
	justify-content: center; /* orizontal */
	align-items: center;     /* vertical */
	width: 100%;
	height: 100%;
	animation: pngBreath 5s ease-in-out infinite;
}
.cinematic-bg .question-png {
	max-width: 75%;
	max-height: 75%;
	display: block;
}

@keyframes pngBreath {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.08); }
	100% { transform: scale(1); }
}
/* .......................................................................... */









/* ------------------------------------------------------------- */
/* BACK LAYER WITH 5 NEBULAE */
/* ------------------------------------------------------------- */
/* Generic nebula */
.cinematic-bg .back-layer .nebula {
	position: absolute;
	width: 60%;
	height: 60%;
	border-radius: 50%;
	filter: blur(60px);
	opacity: 0.45;

	/* Combined animations (fast version) */
	animation:
		drift 8s ease-in-out infinite,
		pulse 4s ease-in-out infinite,
		blurShift 6s ease-in-out infinite;
}



/* ------------------------------------------------------------- */
/* INDIVIDUAL NEBULAE (colors + speeds + positions) */
/* ------------------------------------------------------------- */

/* Nebula 1 - aqua */
.back-layer .n1 {
	background: rgba(0,255,200,0.5);
	top: -10%; left: -10%;
	animation-duration: 8s, 4s, 6s;
	animation-name: drift1, pulse, blurShift;
}

/* Nebula 2 - magenta */
.back-layer .n2 {
	background: rgba(255,0,255,0.5);
	top: 20%; left: 60%;
	animation-duration: 10s, 4s, 6s;
	animation-name: drift2, pulse, blurShift;
}

/* Nebula 3 - yellow */
.back-layer .n3 {
	background: rgba(255,255,0,0.5);
	top: 60%; left: 10%;
	animation-duration: 12s, 4s, 6s;
	animation-name: drift3, pulse, blurShift;
}

/* Nebula 4 - blue */
.back-layer .n4 {
	background: rgba(0,150,255,0.5);
	top: 40%; left: -20%;
	animation-duration: 14s, 4s, 6s;
	animation-name: drift4, pulse, blurShift;
}

/* Nebula 5 - orange */
.back-layer .n5 {
	background: rgba(255,120,0,0.5);
	top: -20%; left: 50%;
	animation-duration: 16s, 4s, 6s;
	animation-name: drift5, pulse, blurShift;
}

/* ------------------------------------------------------------- */
/* DRIFT ANIMATIONS (each nebula moves differently) */
/* ------------------------------------------------------------- */

@keyframes drift1 {
	0%   { transform: translate(0,0) scale(1); }
	50%  { transform: translate(15%, -10%) scale(1.1); }
	100% { transform: translate(0,0) scale(1); }
}

@keyframes drift2 {
	0%   { transform: translate(0,0) scale(1); }
	50%  { transform: translate(-10%, 20%) scale(0.9); }
	100% { transform: translate(0,0) scale(1); }
}

@keyframes drift3 {
	0%   { transform: translate(0,0) scale(1); }
	50%  { transform: translate(20%, 15%) scale(1.15); }
	100% { transform: translate(0,0) scale(1); }
}

@keyframes drift4 {
	0%   { transform: translate(0,0) scale(1); }
	50%  { transform: translate(-15%, -15%) scale(1.05); }
	100% { transform: translate(0,0) scale(1); }
}

@keyframes drift5 {
	0%   { transform: translate(0,0) scale(1); }
	50%  { transform: translate(10%, 25%) scale(0.95); }
	100% { transform: translate(0,0) scale(1); }
}

/* ------------------------------------------------------------- */
/* PULSE (breathing effect) */
/* ------------------------------------------------------------- */
@keyframes pulse {
	0%   { opacity: 0.35; }
	50%  { opacity: 0.55; }
	100% { opacity: 0.35; }
}

/* ------------------------------------------------------------- */
/* BLUR SHIFT (soft focus cinematic) */
/* ------------------------------------------------------------- */
@keyframes blurShift {
	0%   { filter: blur(40px); }
	50%  { filter: blur(70px); }
	100% { filter: blur(40px); }
}







/* ------------------------------------------------------------- */
/* BASE ICON */
/* ------------------------------------------------------------- */
.icon-layer i {
	position: absolute;
	font-size: 80px;
	opacity: 0.25;
	transform-origin: center;

	/* DRIFT + FADE */
	animation:
		var(--drift-anim) var(--drift-speed) ease-in-out infinite,
		iconFade var(--fade-speed) ease-in-out infinite;
	animation-delay:
		var(--drift-delay),
		var(--fade-delay);
}

/* ------------------------------------------------------------- */
/* ZOOM LAYER */
/* ------------------------------------------------------------- */
.icon-layer i::before {
	content: "";
	position: absolute;
	inset: 0;
	transform-origin: center;

	animation: iconZoom var(--zoom-speed) ease-in-out infinite;
	animation-delay: var(--zoom-delay);
}

/* ------------------------------------------------------------- */
/* TILT LAYER */
/* ------------------------------------------------------------- */
.icon-layer i::after {
	content: "";
	position: absolute;
	inset: 0;
	transform-origin: center;

	animation: iconTilt var(--tilt-speed) ease-in-out infinite;
	animation-delay: var(--tilt-delay);
}

/* ------------------------------------------------------------- */
/* DRIFT ANIMATIONS (5 completely different paths) */
/* ------------------------------------------------------------- */

@keyframes drift1 {
	0%   { transform: translate(0,0); }
	50%  { transform: translate(30px, -40px); }
	100% { transform: translate(0,0); }
}

@keyframes drift2 {
	0%   { transform: translate(0,0); }
	50%  { transform: translate(-35px, -25px); }
	100% { transform: translate(0,0); }
}

@keyframes drift3 {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(-45px); }
	100% { transform: translateY(0); }
}

@keyframes drift4 {
	0%   { transform: translate(0,0); }
	25%  { transform: translate(20px, -30px); }
	50%  { transform: translate(40px, 10px); }
	75%  { transform: translate(-10px, 25px); }
	100% { transform: translate(0,0); }
}

@keyframes drift5 {
	0%   { transform: translate(0,0); }
	20%  { transform: translate(25px, -20px); }
	40%  { transform: translate(-20px, -10px); }
	60%  { transform: translate(30px, 25px); }
	80%  { transform: translate(-15px, 15px); }
	100% { transform: translate(0,0); }
}

/* ------------------------------------------------------------- */
/* ZOOM */
/* ------------------------------------------------------------- */
@keyframes iconZoom {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.35); }
	100% { transform: scale(1); }
}

/* ------------------------------------------------------------- */
/* TILT */
/* ------------------------------------------------------------- */
@keyframes iconTilt {
	0%   { transform: rotate(0deg); }
	50%  { transform: rotate(10deg); }
	100% { transform: rotate(0deg); }
}

/* ------------------------------------------------------------- */
/* FADE */
/* ------------------------------------------------------------- */
@keyframes iconFade {
	0%   { opacity: 0.20; }
	50%  { opacity: 0.45; }
	100% { opacity: 0.20; }
}

/* ------------------------------------------------------------- */
/* VARIANTS - each icon gets a different drift + speeds */
/* ------------------------------------------------------------- */

.icon-variant-1 {
	--drift-anim: drift1;
	--drift-speed: 4s;
	--zoom-speed: 4.5s;
	--tilt-speed: 6s;
	--fade-speed: 5s;
}

.icon-variant-2 {
	--drift-anim: drift2;
	--drift-speed: 4.5s;
	--zoom-speed: 3.5s;
	--tilt-speed: 5s;
	--fade-speed: 6s;
}

.icon-variant-3 {
	--drift-anim: drift3;
	--drift-speed: 3.5s;
	--zoom-speed: 6s;
	--tilt-speed: 7s;
	--fade-speed: 5s;
}

.icon-variant-4 {
	--drift-anim: drift4;
	--drift-speed: 5s;
	--zoom-speed: 4s;
	--tilt-speed: 6s;
	--fade-speed: 6s;
}

.icon-variant-5 {
	--drift-anim: drift5;
	--drift-speed: 4s;
	--zoom-speed: 3s;
	--tilt-speed: 5.5s;
	--fade-speed: 5s;
}



/* .......................................................................... */
/* imagery styles                                                             */
/* .......................................................................... */
.imagery {
	position: relative;
	min-height: 25vh;
	width: 100%; height: 100%;
	display: flex;
	align-items: center;
	overflow: hidden;

	-webkit-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
	   -moz-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			-ms-filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
				filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);

	-webkit-border-radius: 10px;
	-khtml-border-radius: 10px;
		-moz-border-radius: 10px;
			border-radius: 10px;
}

.imagery::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: repeating-linear-gradient(
		45deg,
		rgba(255, 255, 255, 0.02) 0px,
		rgba(255, 255, 255, 0.05) 1px,
		transparent 1px,
		transparent 10px
	);
	z-index: 1;
}

.imagery .visual-content {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

@media (max-width: 991px) {
	.imagery .visual-content {
		flex-direction: column;
	}
}

.imagery .fluid-shape {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.imagery .fluid-shape .fluid-img {
	width: 100%;
	height: auto;
	animation: float 6s ease-in-out infinite;
}

@keyframes float {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-15px); }
	100% { transform: translateY(0px); }
}

.imagery .stats-card {
	text-align: center;
	position: absolute;
	bottom: 0%;
	right: 25px;
	background-color: color-mix(in srgb, var(--surface-color), transparent 50%);
	backdrop-filter: blur(10px);
	border: 1px solid color-mix(in srgb, var(--default-color), transparent 90%);
	border-radius: 10px;
	padding: 1.5rem;
	width: 200px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	z-index: 3;
}

@media (max-width: 991px) {
	.imagery .stats-card {
		position: relative;
		bottom: auto;
		right: auto;
		margin-top: 2rem;
		width: 90%;
	}
}

.imagery .stats-card .stats-number h2 {
	font-size: 3rem;
	font-weight: 700;
	margin: 0;
	line-height: 1;
}

.imagery .stats-card .stats-label {
	margin-top: 1rem;
}

.imagery .stats-card .stats-label p {
	font-size: 0.9rem;
	margin: 0;
}

.imagery .stats-card .stats-arrow {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
}

.imagery .stats-card .stats-arrow a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background-color: var(--accent-color);
	border-radius: 50%;
	color: var(--contrast-color);
	font-size: 1rem;
	transition: all 0.3s ease;
}

.imagery .stats-card .stats-arrow a:hover {
	transform: translateY(-3px);
	background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
}
/* .......................................................................... */



/* .......................................................................... */
/* typewriter animations                                                      */
/* .......................................................................... */
.reveal-container {
	position: relative;
}

.reveal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	white-space: normal;
	word-break: break-word;
}

.char-space {
	display: inline-block;
	width: 0.35em; /* cât un spațiu normal */
}

.text-settle {
	animation: settleGlow 0.45s ease-out;
}

@keyframes settleGlow {
	0% {
		opacity: 0.5;
		text-shadow:
			0 0 20px rgba(255,255,255,1),
			0 0 30px rgba(255,255,255,0.6),
			0 0 45px rgba(255,255,255,0.4);
		transform: scale(1.02);
	}
	40% {
		opacity: 0.85;
		text-shadow:
			0 0 15px rgba(255,255,255,0.7),
			0 0 25px rgba(255,255,255,0.4),
			0 0 35px rgba(255,255,255,0.25);
		transform: scale(1.005);
	}
	100% {
		opacity: 1;
		text-shadow: 0 0 0 rgba(255,255,255,0);
		transform: scale(1);
	}
}

.char-pulse {
	position: relative;
}

.char-pulse::after {
	content: attr(data-char);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%) scale(1.5);
	opacity: 0.4;
	animation: charPulse 0.25s ease-out forwards;
	pointer-events: none;
}

@keyframes charPulse {
	100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* Universal Toast messages                                                   */
/* .......................................................................... */
#toastContainer {
	z-index: 10000;
	pointer-events: none; /* toast-urile nu blochează UI-ul */
}

#toastContainer .toast {
	pointer-events: auto;
	background: rgba(20, 20, 20, 0.85);
	backdrop-filter: blur(14px) saturate(140%);
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.06);
	color: var(--default-color);
	font-family: var(--default-font);
	box-shadow:
		0 8px 25px rgba(0,0,0,0.35),
		0 0 14px rgba(227,161,39,0.12);
	overflow: hidden;

	opacity: 0;
	transform: translateX(30px) translateY(5px);
	animation: toastSlideIn 0.35s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

#toastContainer .toast-icon {
	font-size: 1.2rem;
	margin-right: 8px;
	color: var(--accent-color);
}

/* Slide + fade animation */
@keyframes toastSlideIn {
	0% {
		opacity: 0;
		transform: translateX(45px) translateY(5px);
	}
	100% {
		opacity: 1;
		transform: translateX(0) translateY(0);
	}
}

/* Hover subtle */
#toastContainer .toast:hover {
	box-shadow:
		0 10px 28px rgba(0,0,0,0.45),
		0 0 18px rgba(227,161,39,0.18);
	transform: translateX(0) translateY(-2px);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

/* Header */
#toastContainer .toast-header {
	background: transparent !important;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-family: var(--heading-font);
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--heading-color);
}

/* Body */
#toastContainer .toast-body {
	font-family: var(--default-font);
	font-size: 0.9rem;
	color: var(--default-color);
}

/* Close button */
#toastContainer .btn-close {
	filter: invert(1) brightness(1.2);
	opacity: 0.8;
}
#toastContainer .btn-close:hover {
	opacity: 1;
}

/* Color variants - border + glow */
#toastContainer .toast-info {
	border-left: 4px solid var(--accent-color);
	box-shadow: 0 0 12px rgba(0, 180, 255, 0.25);
}

#toastContainer .toast-success {
	border-left: 4px solid var(--greens-color);
	box-shadow: 0 0 12px rgba(0, 255, 120, 0.25);
}

#toastContainer .toast-warning {
	border-left: 4px solid var(--recent-color);
	box-shadow: 0 0 12px rgba(255, 200, 0, 0.25);
}

#toastContainer .toast-error {
	border-left: 4px solid var(--reds-color);
	box-shadow: 0 0 12px rgba(255, 80, 80, 0.25);
}
/* .......................................................................... */



/* .......................................................................... */
/* hero floating abstract images                                              */
/* .......................................................................... */
.hero .fluid-shape {text-align: center;}
.hero .fluid-img {
	width: 100%;
	max-width: 420px;
	animation: floatMain 8s ease-in-out infinite;
	filter: drop-shadow(0 0 20px rgba(255,255,255,0.15));
}

@keyframes floatMain {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-20px); }
	100% { transform: translateY(0px); }
}

.hero .overlay-shapes {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.hero .overlay-img {
	position: absolute;
	width: 125px;
	animation: floatOverlay 10s ease-in-out infinite;
	filter: drop-shadow(0 0 25px rgba(55,50,50,0.5));
}

.hero .overlay-img:nth-child(1) { top: 10%; left: 70%; animation-delay: 0s; }
.hero .overlay-img:nth-child(2) { top: 60%; left: 80%; animation-delay: 1s; }
.hero .overlay-img:nth-child(3) { top: 30%; left: 10%; animation-delay: 2s; }
.hero .overlay-img:nth-child(4) { top: 75%; left: 25%; animation-delay: 3s; }
.hero .overlay-img:nth-child(5) { top: 45%; left: 55%; animation-delay: 4s; }

@keyframes floatOverlay {
	0% { transform: translateY(0px) rotate(0deg); }
	50% { transform: translateY(-25px) rotate(5deg); }
	100% { transform: translateY(0px) rotate(0deg); }
}
/* .......................................................................... */



/* .......................................................................... */
/* page title space with bottom border                                        */
/* .......................................................................... */
.page-title,
.hero {
	-webkit-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
	-moz-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
		 box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
		 -ms-filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			 filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
}
.hero::after {
	background-image:
	repeating-linear-gradient(
		90deg,
		rgba(255,255,255,0.025) 0px,
		rgba(255,255,255,0.05) 1px,
		transparent 1px,
		transparent 5px
	);
	z-index: 0;
}
/* .......................................................................... */



.page-title::after {
	background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.05) 1px, transparent 1px, transparent 5px);
	z-index: auto;
}



/* .......................................................................... */
/* page title background scroll                                               */
/* .......................................................................... */
.page-title {
	position: relative;
	overflow: hidden;
}

.page-title::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('../extras/images/bk_glyphs.png');
	background-repeat: repeat;
	background-size: 50% auto;
	background-position: center top;
	opacity: 0.75;
	z-index: 0;

	/* scroll Y */
	animation: glyphScroll 120s linear infinite;
}

.page-title > * {
	position: relative;
	z-index: 1;
}

@keyframes glyphScroll {
	from { background-position-y: 0; }
	to   { background-position-y: -3000px; }
}
/* .......................................................................... */



/* .......................................................................... */
.separator-v {
	position: absolute;
	padding: 0;
	left: 50%;
	top: 0;
	transform: translateX(-0.5px);
	width: 1px;
	height: 100%;
	background: rgba(255,255,255,0.15);
}
.description-light {color:var(--accent-color);}
.description-title {color:var(--default-color);}
/* .......................................................................... */


	
.hero .agency-name h5{
	letter-spacing: 13px;
	text-transform: uppercase;
	margin:25px 0 25px 0;
	padding-left: 10px;
	border-left:70px solid #000;
}
.hero .agency-name h5 .float-title {
	font-weight: bold;
	animation: glowBreath 1s ease-in-out infinite;
}

@keyframes glowBreath {
	0%   { text-shadow: 0 0 0px rgba(255,255,255,0.0); }
	50%  { text-shadow: 0 0 10px rgba(255,255,255,0.75); }
	100% { text-shadow: 0 0 0px rgba(255,255,255,0.0); }
}






/* .......................................................................... */
/* typed animation                                                            */
/* .......................................................................... */
#typed-word {
	color: var(--accent-color);
}
.typed-cursor {
	opacity: 0.5;
	animation: blink 0.25s infinite;
}

@keyframes blink {
	0% { opacity: 0.5; }
	50% { opacity: 0; }
	100% { opacity: 0.5; }
}
/* .......................................................................... */



/* .......................................................................... */
/* contact video                                                              */
/* .......................................................................... */
.vid-wrapper {
	margin-left: 10px;
	margin-right: 10px;
}

.vid-section {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(50, 50, 50, 0.75);
	background: #060606;
}

.bg-video {
	position: absolute;
	top: 0;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translateX(-50%);
	object-fit: cover;
	filter: blur(3px) brightness(0.25) contrast(1.2);
	opacity: 0.75;
}

/* Mobile */
@media (max-width: 768px) {
	.vid-section {
		height: 200px;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* accordion arrows                                                           */
/* .......................................................................... */
/* Arrow when collapsed */
.accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ff9f1c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-size: 1.25rem;
  transition: transform .2s ease-in-out;
}

/* Arrow when expanded */
.accordion-button:not(.collapsed)::after {
  transform: rotate(-180deg);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ff9f1c'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
/* .......................................................................... */



/* .......................................................................... */
/* Container descriere */
.gslide-description {
	background: #0d0d0d !important;
	padding: 25px !important;
	border-radius: 10px !important;
	box-shadow: 0 0 25px rgba(0, 0, 0, 0.8),
				0 0 10px rgba(0, 0, 0, 0.5) inset !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Elimină padding-ul intern */
.gdesc-inner {
	padding: 0 !important;
	background: transparent !important;
}

/* Titlul */
.gslide-title {
	color: var(--accent-color) !important;
	font-family: var(--heading-font) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	letter-spacing: 0.3px !important;
	margin: 0 !important;
	text-align: left !important;
}
/* .......................................................................... */



/* .......................................................................... */
/* footer alignement fix                                                      */
/* .......................................................................... */
.footer .footer-contact p,
.footer .footer-links ul li,
.footer .footer-links ul li a,
.footer .footer-links p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px;
	line-height: 35px;
}

.footer .footer-links ul li { position:relative; padding-left:25px !important; }
.footer .footer-links ul li::before {
	content: "";
	width: 6px;
	height: 6px;
	background: var(--accent-color);
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
/* .......................................................................... */



/* .......................................................................... */
/* The Wall - Cinematic Section Styling                                       */
/* .......................................................................... */
.theWall {
	position: relative;
}

/* Left side donation box (will replace the image) */
.theWall .donation-box {
	position: relative;
	overflow: hidden; /* important */
	background: var(--surface-color);
	padding: 2rem;
	border-radius: 1rem;
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 0 25px rgba(0,0,0,0.5);
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.theWall .donation-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.15; /* ajustezi după gust */
	z-index: 1;
	pointer-events: none;
}

.theWall .donation-content,
.theWall .support-badge {
	position: relative;
	z-index: 1;
}

.theWall .donation-box:hover {
	transform: translateY(-4px);
	box-shadow: 0 0 60px rgba(0,0,0,0.55);
}

/* Support badge */
.theWall .support-badge {
	position: absolute;
	top: 7rem;
	left: 25px;
	background: rgba(0,0,0,0.45);
	padding: 0.6rem 1rem;
	border-radius: 0.6rem;
	border: 1px solid rgba(255,255,255,0.08);
	backdrop-filter: blur(6px);
}

.theWall .support-badge .label {
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--accent-color);
	letter-spacing: 0.5px;
}

.theWall .support-badge .sub {
	display: block;
	font-size: 0.75rem;
	color: var(--default-color);
	opacity: 0.85;
}

/* PayPal button */
.theWall .donation-box .btn-paypal {
	background: var(--accent-color);
	color: #000;
	font-weight: 700;
	padding: 0.9rem 1.2rem;
	border-radius: 0.6rem;
	width: 100%;
	transition: background 0.3s ease, transform 0.3s ease;
}

.theWall .donation-box .btn-paypal:hover {
	background: var(--recent-color);
	transform: translateY(-2px);
}

/* QR image */
.theWall .qr-image {
	max-width: 220px;
	border-radius: 0.6rem;
	border: 1px solid rgba(255,255,255,0.08);
	padding: 0;
	margin-top: 1rem;
	transition: transform 0.3s ease;
}

.theWall .qr-image:hover {
	transform: scale(1.03);
}

/* Right side content */
.theWall .about-content h2 {
	color: var(--heading-color);
	font-weight: 700;
	margin-bottom: 1rem;
}

.theWall .about-content p.lead {
	color: var(--default-color);
	opacity: 0.9;
	font-size: 1.1rem;
}

.theWall .about-content p {
	color: var(--default-color);
	opacity: 0.85;
}

/* Feature items */
.theWall .feature-item {
	background: var(--surface-color);
	padding: 1.2rem 1.4rem;
	border-radius: 0.8rem;
	border: 1px solid rgba(255,255,255,0.06);
	transition: transform 0.3s ease, border-color 0.3s ease;
	height: 100%;
}

.theWall .feature-item:hover {
	transform: translateY(-4px);
	border-color: var(--accent-color);
}

.theWall .feature-item h5 {
	color: var(--heading-color);
	font-size: 1.05rem;
	margin-bottom: 0.4rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.theWall .feature-item p {
	color: var(--default-color);
	opacity: 0.8;
	font-size: 0.95rem;
	margin: 0;
}

/* Icons */
.theWall .feature-item i {
	font-size: 1.4rem;
	color: var(--accent-color);
}

/* Responsive tweaks */
@media (max-width: 991px) {
	.theWall .support-badge {
		top: 7rem;
		left: 25px;
		padding: 0.5rem 0.8rem;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* currencies selector                                                        */
/* .......................................................................... */
/* Overlay (initial choice) */
.currency-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.65);
	backdrop-filter: blur(6px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 1.2rem;
	z-index: 5;
	padding: 2rem;
	border-radius: 1rem;
}

/* Big buttons */
.currency-btn {
	background: var(--accent-color);
	color: #000;
	font-weight: 700;
	padding: 1rem 1.6rem;
	border-radius: 0.6rem;
	border: none;
	width: 80%;
	max-width: 260px;
	font-size: 1.1rem;
	cursor: pointer;
	transition: transform 0.25s ease, background 0.25s ease;
}

.currency-btn:hover {
	transform: translateY(-3px);
	background: var(--recent-color);
}

/* Persistent switcher */
.currency-switcher {
	position: absolute;
	bottom: 12px;
	right: 12px;
	display: flex;
	gap: 0.4rem;
	z-index: 6;
}

.switch-btn {
	background: rgba(0,0,0,0.55);
	color: var(--accent-color);
	border: 1px solid rgba(255,255,255,0.15);
	padding: 0.35rem 0.7rem;
	font-size: 0.75rem;
	border-radius: 0.4rem;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease;
}

.switch-btn:hover {
	background: rgba(255,255,255,0.1);
	transform: translateY(-2px);
}
.switch-btn.active {
	background: var(--accent-color);
	color: #000;
	border-color: var(--accent-color);
	transform: translateY(-2px);
}
/* .......................................................................... */



/* .......................................................................... */
/* donations show cards                                                       */
/* .......................................................................... */
/* Donations grid */
.donations-wall .donation-entry {
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 0 15px rgba(0,0,0,0.35);
	transition: transform 0.25s ease, border-color 0.25s ease;
	height: 100%;
	position: relative;
}
.donation-entry p {
	min-height: 2.6rem; /* 2 lines height */
	display: -webkit-box;
	display: box; /* fallback older syntax */
	-webkit-line-clamp: 2;
	line-clamp: 2; /* standard (not yet supported, but valid syntax) */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.donations-wall .donation-entry:hover {
	transform: translateY(-4px);
	border-color: var(--accent-color);
}

/* Amount styling */
.donations-wall .amount {
	color: var(--accent-color);
	font-weight: 700;
	display: flex;
	align-items: center;
}

/* Badge overlay */
.donation-badge {
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: rgba(0,0,0,0.55);
	padding: 0.4rem 0.5rem;
	border-radius: 0.5rem;
	border: 1px solid rgba(255,255,255,0.1);
	backdrop-filter: blur(4px);
	z-index: 3;
}

/* Title icon */
.donations-wall h3 i {
	font-size: 1.5rem;
}

/* Responsive tweaks */
@media (max-width: 575px) {
	.donation-badge {
		top: 8px;
		bottom: 8px;
		padding: 0.3rem 0.4rem;
	}
}
/* .......................................................................... */






.continue-banner {
	width: 100%;
	background: linear-gradient(90deg, #8b0000, #b30000);
	padding: 12px 0;
	border-radius: 6px;
	cursor: pointer;
	overflow: hidden;
	position: relative;
	box-shadow: 0 0 12px rgba(255,0,0,0.4);
}

.continue-banner:hover {
	background: linear-gradient(90deg, #b30000, #cc0000);
}

.ticker {
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}

.ticker span {
	display: inline-block;
	padding-left: 100%;
	animation: tickerMove 18s linear infinite;
	font-size: 1.1rem;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.5px;
}

@keyframes tickerMove {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}



/* .......................................................................... */
/* horizontal text ticker                                                     */
/* .......................................................................... */
.ticker-banner {
	width: 100%;
	background: #111;
	border: 1px solid #333;
	padding: 10px 0;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	align-items: center;
	box-shadow: 0 0 15px rgba(0,0,0,0.75);

 	position: absolute; bottom: -85px; left: 0; right: 0;
}
.ticker-banner.ticker-finished {cursor: default;}
.ticker-banner.ticker-isButton {cursor: pointer;}

.ticker-icon-left,
.ticker-icon-right {
	color: #f8f8f8;
	font-size: 1.4rem;
	padding: 0 12px;
	z-index: 3;
}

.ticker-track {
	flex: 1;
	overflow: hidden;
	position: relative;
	white-space: nowrap;
	margin-right: 25px;
}

.ticker-item {
	display: inline-block;
	padding-left: 100%;
	animation: tickerMove 25s linear infinite;
	font-size: 1.4rem;
	font-weight: 400;
	color: #f8f8f8;
}
.ticker-cta {
	background: #b30000;
	color: #fff;
	padding: 8px 16px;
	margin-right: 6px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: 6px;
	z-index: 4;
	box-shadow: 0 0 8px rgba(255,0,0,0.4);
	transition: background 0.2s ease, transform 0.2s ease;
}

.ticker-cta:hover {
	background: #cc0000;
	transform: translateX(2px);
}

@keyframes tickerMove {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}
/* .......................................................................... */



/* .......................................................................... */
/* Auth Section (Login / Registration)                                        */
/* .......................................................................... */
.auth .form-container-overlap {
	position: relative;
}

.auth .auth-form-wrapper {
	background-color: var(--surface-color);
	border-radius: 12px;
	box-shadow: 0 5px 25px rgba(0, 0, 0, 0.05);
	padding: 40px;
}

.auth .auth-form-wrapper h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 30px;
	position: relative;
}

.auth .auth-form-wrapper h2:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background-color: var(--accent-color);
}

/* Form groups */
.auth .form-group {
	margin-bottom: 20px;
}

/* Input with icon */
.auth .input-with-icon {
	position: relative;
}

.auth .input-with-icon i {
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	color: color-mix(in srgb, var(--default-color), transparent 40%);
	font-size: 18px;
	z-index: 10;
}

/* Inputs */
.auth .input-with-icon .form-control {
	border-radius: 8px;
	padding: 12px 15px 12px 45px;
	height: 3.5rem;
	color: var(--default-color);
	background-color: var(--surface-color);
	font-size: 15px;
	border: 1px solid color-mix(in srgb, var(--default-color), transparent 80%);
}

.auth .input-with-icon .form-control:focus {
	border-color: var(--accent-color);
	box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--accent-color), transparent 90%);
}

.auth .input-with-icon .form-control::placeholder {
	color: color-mix(in srgb, var(--default-color), transparent 40%);
}

/* toggle button to the right */
.auth .input-with-icon .toggle-password {
  position: absolute;
  left:auto;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1.2rem;
  color: #666;
  line-height: 1;
  width: auto;
  height: auto;
}

/* Submit button */
.auth .btn-submit {
	background-color: var(--accent-color);
	border: none;
	color: var(--contrast-color);
	padding: 12px 30px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 1px;
	border-radius: 8px;
	transition: all 0.3s ease;
	box-shadow: 0 5px 15px color-mix(in srgb, var(--accent-color), transparent 70%);
}

.auth .btn-submit:hover {
	background-color: color-mix(in srgb, var(--accent-color), transparent 15%);
	transform: translateY(-3px);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--accent-color), transparent 60%);
}

.auth .btn-submit:active {
	transform: translateY(0);
	box-shadow: 0 3px 10px color-mix(in srgb, var(--accent-color), transparent 70%);
}

/* Status messages */
.auth .loading,
.auth .error-message,
.auth .sent-message {
	margin-top: 10px;
	margin-bottom: 20px;
}

/* Responsive */
@media (max-width: 992px) {
	.auth .form-container-overlap {
		margin-top: -100px;
	}

	.auth .auth-form-wrapper {
		padding: 30px;
	}
}

@media (max-width: 768px) {
	.auth .form-container-overlap {
		margin-top: -80px;
	}

	.auth .auth-form-wrapper {
		padding: 25px;
	}

	.auth .auth-form-wrapper h2 {
		font-size: 24px;
	}
}

@media (max-width: 576px) {
	.auth .form-container-overlap {
		margin-top: -60px;
	}

	.auth .auth-form-wrapper {
		padding: 20px;
	}

	.auth .btn-submit {
		width: 100%;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* login forgot form (auth)
/* .......................................................................... */
.auth .captcha-wrapper {
	display: flex;
	align-items: center;
	gap: 10px;
}

.auth .captcha-wrapper .form-control {
	height: 75px;        /* aceeași înălțime ca imaginea captcha */
	line-height: 75px;   /* text centrat vertical */
	padding-top: 0;
	padding-bottom: 0;
}

.auth .captcha-wrapper i {
	height: 75px;
	line-height: 75px;
}

.auth .captcha-wrapper .captcha-img {
	display: block;
	height: 75px;        /* dimensiunea naturală a captcha */
	width: auto;

	-webkit-border-radius: 10px;
	 -khtml-border-radius: 10px;
	   -moz-border-radius: 10px;
			border-radius: 10px;

	-webkit-box-shadow: 0 0 0 1px rgba(50, 50, 50, 0.85);
	   -moz-box-shadow: 0 0 0 1px rgba(50, 50, 50, 0.85);
			box-shadow: 0 0 0 1px rgba(50, 50, 50, 0.85);
			-ms-filter: 0 0 0 1px rgba(50, 50, 50, 0.85);
				filter: 0 0 0 1px rgba(50, 50, 50, 0.85);
}

.auth .forgot-link {
	color: var(--recent-color);
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: 0.25s ease;
}

.auth .forgot-link i {
	font-size: 1rem;
	opacity: 0.8;
}

.auth .forgot-link:hover {
	color: var(--accent-color);
	text-decoration: none;
	transform: translateX(3px);
}

.auth .forgot-link:hover i {
	opacity: 1;
}

.contact .auth .form-group .input-with-icon .form-control {height: auto; padding-top:0; padding-bottom:0;}
/* .......................................................................... */



/* .......................................................................... */
/* user menu dropdown and chevron                                             */
/* .......................................................................... */
.user-menu {
	position: relative;
	margin-left: 25px;
}

.user-menu-btn {
	background: var(--accent-color);
	color: var(--contrast-color);
	border: none;
	padding: 10px 15px;
	border-radius: 50px;
	display: flex;
	align-items: center;
	gap: 15px;
	cursor: pointer;
	font-size: 16px;
}

.user-menu-btn i {
	font-size: 20px;
}

.user-menu-btn .chevron {
	display: inline-block;
	transition: transform 0.25s ease;
}

.user-menu-btn .chevron.rotated {
	transform: rotate(180deg);
}

.user-menu-dropdown {
	position: absolute;
	right: 0;
	top: calc(100% + 10px);
	background: var(--surface-color);
	list-style: none;
	padding: 5px 0;
	margin: 0;
	border-radius: 5px;
	box-shadow: 0 2px 15px rgba(0,0,0,0.25);
	min-width: 200px;
	display: none;
	z-index: 999;
}

.user-menu-dropdown li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 15px;
	font-size: 15px;
	color: var(--nav-dropdown-color);
	text-decoration: none;
	border-bottom: 1px solid rgba(0,0,0,0.08);
}

.user-menu-dropdown li:last-child a {
	border-bottom: none;
}

.user-menu-dropdown li a:hover {
	background: color-mix(in srgb, var(--accent-color), transparent 85%);
	color: var(--nav-dropdown-hover-color);
}

@media (max-width: 1200px) {
	.header .user-menu {
		order: 2;
		margin-left: 20px;
		margin-right: 20px;
	}
}

@media (max-width: 1200px) {
	.mobile-nav-active .mobile-nav-toggle {top:25px;}
	.navmenu ul {inset: 75px 20px 20px 20px;}
}



.user-menu-dropdown .user-avatar-dropdown {
	padding: 12px 0 8px 0;
	display: flex;
	justify-content: center;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.user-menu-dropdown .user-avatar-dropdown img {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(255,255,255,0.15);
	box-shadow: 0 0 10px rgba(0,0,0,0.35);
}

/* Nickname header in dropdown */
.user-menu-dropdown .user-nickname {
	padding: 10px 15px;
	font-size: 16px;
	font-weight: 600;
	color: var(--accent-color);

	background: rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);

	display: flex;
	align-items: center;
	gap: 5px;

	cursor: default;
	user-select: none;
}

/* Optional: small user icon next to nickname */
.user-menu-dropdown .user-nickname::before {
	content: "\f4e1"; /* Bootstrap Icons: person-circle */
	font-family: "bootstrap-icons";
	font-size: 1.2rem;
	opacity: 0.85;
}
/* .......................................................................... */


.dungeon-clock {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	opacity: 0.7;
	position: absolute; top:50px; right:40px;
}



/* .......................................................................... */
/* new buttons for the questions form */
/* .......................................................................... */
.dungeon .dungeon-form-wrapper button.btn {
	text-shadow:
		1px 1px 0 rgba(75,25,25,0.15),
		-1px 1px 0 rgba(75,25,25,0.15),
		1px -1px 0 rgba(75,25,25,0.15),
		-1px -1px 0 rgba(75,25,25,0.15);

}
.dungeon .dungeon-form-wrapper .btn.btn-skip {padding:5px 30px;}
.dungeon .dungeon-form-wrapper .glow-on-hover {
	border: none;
	outline: none;
	background: var(--accent-color);
	cursor: pointer;
	position: relative;
	z-index: 0;
}
.dungeon .dungeon-form-wrapper .glow-on-hover .glow-on-hover:active,
.dungeon .dungeon-form-wrapper .glow-on-hover:hover {color: var(--surface-color); text-shadow: none;}
.dungeon .dungeon-form-wrapper .glow-on-hover:before {
	content: '';
	background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
	position: absolute;
	top: -2px;
	left:-2px;
	background-size: 400%;
	z-index: -1;
	filter: blur(5px);
	width: calc(100% + 4px);
	height: calc(100% + 4px);
	animation: glowing 5s linear infinite;
	opacity: 0;
	transition: opacity .3s ease-in-out;
	border-radius: 10px;
}

.dungeon .dungeon-form-wrapper .glow-on-hover:active:after {
	background: lightgray;
}

.dungeon .dungeon-form-wrapper .glow-on-hover:hover:before {
	opacity: 1;
}

.dungeon .dungeon-form-wrapper .glow-on-hover:after {
	z-index: -1;
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--accent-color);
	left: 0;
	top: 0;
	border-radius: 10px;
}

@keyframes glowing {
	0% { background-position: 0 0; }
	50% { background-position: 400% 0; }
	100% { background-position: 0 0; }
}
/* .......................................................................... */



/* .......................................................................... */
.radio-option {
	display: block;
	width: 100%;
	padding: 5px 20px;
	background: #222;
	color: #eee;
	border: 1px solid #444;
	border-radius: 10px;
	text-align: left;
	font-size: 18px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.radio-option:hover {
	background: #333;
	border-color: #666;
}

.radio-option:active {
	background: #111;
	transform: scale(0.98);
}
/* .......................................................................... */



/* .......................................................................... */
/* USER PANEL INPUTS */
/* .......................................................................... */
/* GENERAL LAYOUT */
.user-panel .form-group {
	margin-bottom: 1.5rem;
}

.user-panel .input-with-icon {
	position: relative;
}

/* ICON - centered vertically */
.user-panel .input-with-icon i {
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	font-size: 1.25rem;
	color: var(--accent-color);
	opacity: 0.75;
	z-index: 2;
}

/* SEPARATOR - for ALL inputs */
.user-panel .input-with-separator .separator {
	position: absolute;
	top: 8px;
	bottom: 8px;
	left: 45px;
	width: 1px;
	background: rgba(255,255,255,0.15);
	z-index: 1;
}

/* INPUT + TEXTAREA BASE STYLE */
.user-panel .form-control {
	width: 100%;
	padding: 10px 15px 10px 65px; /* icon + separator */
	border-radius: 10px;
	background-color: var(--surface-color);
	color: var(--default-color);
	border: 1px solid rgba(255,255,255,0.15);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15);
	font-size: 15px;
}

/* TEXTAREA */
.user-panel textarea.form-control {
	height: 150px;
	resize: none;
	padding-top: 15px;
}

/* HOVER */
.user-panel .form-control:hover {
	border-color: rgba(227, 161, 39, 0.35);
	box-shadow: inset 0 0 0 1px rgba(227, 161, 39, 0.25);
	transition: all 0.25s ease;
}

/* FOCUS */
.user-panel .form-control:focus {
	outline: none;
	border-color: var(--accent-color);
	box-shadow: 0 0 10px rgba(227, 161, 39, 0.45),
				inset 0 0 0 1px var(--accent-color);
	background-color: #1f1f1f;
	transition: all 0.25s ease;
}

/* ICON ZOOM ON FOCUS */
.user-panel .input-with-icon:focus-within i {
	color: var(--recent-color);
	opacity: 1;
	transform: translateY(-50%) scale(1.15);
}

/* SMOOTH TRANSITIONS */
.user-panel .form-control,
.user-panel .input-with-icon i {
	transition: all 0.25s ease;
}
/* .......................................................................... */



/* .......................................................................... */
/* Avatar and Astral container                                                */
/* .......................................................................... */
.user-astral-wrapper,
.user-avatar-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;

	/* Background transparent cu blur */
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(6px);

	/* Border subtil */
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;

	/* Shadow cinematic */
	box-shadow: 
		0 0 20px rgba(0, 0, 0, 0.45),
		inset 0 0 12px rgba(255, 255, 255, 0.05);

	padding: 25px;
	transition: all 0.3s ease;
}

/* Hover effect elegant */
.user-astral-wrapper:hover,
.user-avatar-wrapper:hover {
	border-color: rgba(227, 161, 39, 0.35);
	box-shadow:
		0 0 25px rgba(227, 161, 39, 0.25),
		inset 0 0 12px rgba(255, 255, 255, 0.08);
}

/* Avatar responsive */
.user-avatar-img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	border: 2px solid rgba(255,255,255,0.15);
	box-shadow: 0 0 12px rgba(0,0,0,0.4);
	object-fit: cover;
}

/* Edit button overlay */
.avatar-edit-btn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.2);
	padding: 6px 8px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.25s ease;
	box-shadow: 0 0 6px rgba(0,0,0,0.5);
}

.avatar-edit-btn i {
	font-size: 1rem;
	color: var(--accent-color);
}

.avatar-edit-btn:hover {
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.avatar-edit-btn:hover i {
	color: #000;
}

.astro-placeholder {
	text-align: center;
	padding: 40px 20px;
	opacity: 0.6;
	font-size: 1rem;
	color: var(--default-color);
}
/* .......................................................................... */



/* .......................................................................... */
/* user_edit Geo tabs                                                         */
/* .......................................................................... */
/* Remove bullets */
.astro-tabs {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Tabs container */
.astro-tabs {
	position: relative;
	display: flex;
	gap: 20px;
	margin-top: 20px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
	padding-bottom: 5px;
}

/* Individual tab */
.astro-tab {
	padding: 10px 20px;
	cursor: pointer;
	font-family: var(--heading-font);
	color: var(--default-color);
	border-radius: 6px 6px 0 0;
	transition: 0.25s;
	user-select: none;
}

.astro-tab:hover {
	color: var(--accent-color);
}

.astro-tab.active {
	background: var(--surface-color);
	color: var(--accent-color);
	border-bottom: 2px solid var(--accent-color);
}

/* Tab content */
.astro-pane {
	display: none;
	margin-top: 20px;
}

.astro-pane.active {
	display: block;
}

/* Autocomplete dropdown */
.geo-autocomplete {
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 6px;
	margin-top: 5px;
	display: none;
	position: absolute;
	z-index: 9999;
	width: 100%;
	max-height: 200px;
	overflow-y: auto;
}

.geo-autocomplete div {
	padding: 8px 12px;
	cursor: pointer;
	transition: 0.2s;
}

.geo-autocomplete div:hover {
	background: rgba(255,255,255,0.05);
	color: var(--accent-color);
}



.geo-suggestions {
	position: absolute;
	background: #222;
	border: 1px solid #444;
	border-radius: 6px;
	padding: 6px 0;
	max-height: 260px;
	overflow-y: auto;
	width: 300px;
	display: none;
	z-index: 9999;
}

.geo-suggestions div {
	padding: 6px 10px;
	cursor: pointer;
	color: #eee;
}

.geo-suggestions div:hover {
	background: #444;
}

.geo-suggestions .active-suggestion {
	background: #302525;
}



.astro-tab-clear {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	list-style: none;
	cursor: pointer;
	padding: 6px 10px;
	border-radius: 8px;
	color: var(--default-color);
	transition: 0.25s ease;
	font-size: 1.1rem;
}

.astro-tab-clear:hover {
	color: var(--accent-color);
	background: rgba(255,255,255,0.05);
}
/* .......................................................................... */



/* .......................................................................... */
/* ASTRO CARDS - Cinematic Style                                              */
/* .......................................................................... */
.astro-card {
	background: var(--surface-color);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 14px;
	padding: 0;
	box-shadow: 0 0 18px rgba(0, 0, 0, 0.45);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	position: relative;
	overflow: hidden;
}

/* subtle top glow */
.astro-card::before {
	content: "";
	position: absolute;
	top: -2px;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg,
		transparent,
		var(--accent-color),
		transparent
	);
	opacity: 0.35;
}

/* hover cinematic */
.astro-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 0 28px rgba(0, 0, 0, 0.65);
}

/* header */
.astro-card .card-header {
	background: rgba(255, 255, 255, 0.03);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-family: var(--heading-font);
	font-size: 1.05rem;
	letter-spacing: 0.5px;
	color: var(--heading-color);
	padding: 14px 18px;
}

/* body */
.astro-card .card-body {
	padding: 15px 30px;
	font-size: 0.95rem;
}

/* rows */
.astro-card .row > div {
	padding: 6px 0;
}

/* subtle separators */
.astro-card .row:not(:last-child) {
	border-bottom: 1px dashed rgba(255, 255, 255, 0.05);
}

/* labels */
.astro-card .col-4,
.astro-card .col-6,
.astro-card .col-3 {
	color: var(--default-color);
}

/* right-aligned values */
.astro-card .text-end {
	color: var(--heading-color);
	font-weight: 600;
}

/* aspect types (square, trine, etc.) */
.astro-card .text-center {
	font-weight: 600;
}

/* highlight strong aspects */
.astro-card .row strong,
.astro-card .fw-bold {
	color: var(--heading-color);
}

/* orb values */
.astro-card .orb {
	color: var(--recent-color);
	font-weight: 600;
}

.astro-card .card-body .col-4,
.astro-card .card-body .col-6,
.astro-card .card-body .col-3
{
	border-bottom:1px dotted #454545;
}
.astro-card .card-body .roman {background-color: #454545; padding:0 5px; margin-left:10px;
	-webkit-border-radius: 3px;
	 -khtml-border-radius: 3px;
	   -moz-border-radius: 3px;
			border-radius: 3px;
}



.section-main-title {
	border-bottom: 1px dotted #353535;
	margin-top: 50px;
	margin-bottom: 15px;
	padding-bottom: 15px;

	display: flex;
	align-items: center;
	gap: 10px;
}
.section-main-title.m-0 {
	border-bottom: inherit;
	margin-top: inherit;
	margin-bottom: inherit;
	padding-bottom: inherit;
}
.section-main-title::before {
	content: "★"; /* poți pune orice icon Unicode */
	font-size: 20px;
	color: #ffc107; /* galben ca butonul */
	display: inline-block;
}

.section > .section-main-title:first-of-type {margin-top: 0;}
/* .......................................................................... */



/* .......................................................................... */
/* PREMIUM AI ANALYSIS CTA */
/* .......................................................................... */
.premium-ai-card {
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.075);
	border-radius: 15px;
	padding: 15px;
	display: flex;
	gap: 15px;
	box-shadow: 0 0 15px rgba(0,0,0,0.45);
	transition: transform .25s ease, box-shadow .25s ease;
}

.premium-ai-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 0 28px rgba(0,0,0,0.65);
}

.premium-ai-card .premium-ai-image {
	width: 100%;
	max-width: 150px;
	height: auto;
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.premium-ai-card .premium-ai-image .fluid-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.premium-ai-card .premium-ai-content {border-left:1px dotted #757575; padding-left:25px;}

.premium-ai-card .premium-ai-title {
	color: var(--heading-color);
	font-family: var(--heading-font);
	margin: 0 0 6px 0;
	font-size: 1.1rem;
}

.premium-ai-card .premium-ai-text {
	color: var(--default-color);
	margin: 0 0 10px 0;
	font-size: 0.95rem;
	opacity: 0.85;
}

.premium-ai-card .premium-ai-price {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--accent-color);
	margin-bottom: 12px;
}

.premium-ai-card .premium-ai-button {
	cursor: pointer;
	background: var(--accent-color);
	color: #000;
	border: none;
	padding: 10px 16px;
	border-radius: 8px;
	font-weight: 600;
	transition: background .25s ease;
}

.premium-ai-card .premium-ai-button:hover {
	background: color-mix(in srgb, var(--accent-color), transparent 20%);
}



.settings-card {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* tab content trebuie să ocupe tot spațiul disponibil */
.astro-tab-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

/* fiecare pane trebuie să se comporte ca un bloc flexibil */
.astro-pane {
	flex-grow: 1;
	display: none;
}

.astro-pane.active {
	display: block;
	flex-grow: 1;
}

/* cardul premium împins în jos */
.premium-ai-card {
	margin-top: auto;
}
/* .......................................................................... */






/* .......................................................................... */
/* Buton Save                                                                 */
/* .......................................................................... */
.btn-save {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	background: var(--accent-color);
	color: #000;
	border: none;

	padding: 10px 22px;
	font-size: 15px;
	font-weight: 600;

	border-radius: 8px;
	cursor: pointer;

	box-shadow: 0 0 10px rgba(227, 161, 39, 0.25);
	transition: all 0.25s ease;
}

/* Icon styling */
.btn-save i {
	font-size: 1.2rem;
	transition: transform 0.25s ease;
}

/* Hover */
.btn-save:hover {
	background: var(--recent-color);
	box-shadow: 0 0 14px rgba(227, 161, 39, 0.45);
	transform: translateY(-1px);
}

.btn-save:hover i {
	transform: scale(1.15);
}

/* Active (click) */
.btn-save:active {
	transform: translateY(1px);
	box-shadow: 0 0 6px rgba(227, 161, 39, 0.35);
}
/* .......................................................................... */



/* ---------------------------------------------------------
   Astral Carousel - Cinematic Style
--------------------------------------------------------- */

/* Wrapper-ul cinematic */
.user-cards {
	width: 100%;
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 15px;
	padding: 25px 30px;
	box-shadow: 0 10px 20px rgba(0,0,0,0.35);
	position: relative;
	overflow: hidden;
}

/* Glow subtil pe margini */
.user-cards::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 15px;
	padding: 1px;
	background: linear-gradient(
		135deg,
		rgba(227,161,39,0.25),
		rgba(255,255,255,0.05),
		rgba(227,161,39,0.15)
	);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
			mask-composite: exclude;
	pointer-events: none;
}

/* Titlu + wrapper */
.astral-carousel-wrapper {
	margin: 0;
	padding: 0;
}
.astral-carousel-wrapper .section-main-title {margin-top: 0;}

/* Caruselul propriu-zis */
.astral-carousel {
	display: flex;
	gap: 20px;
	padding: 10px 0 25px 0;

	overflow-x: scroll;
	overflow-y: hidden;
	scroll-behavior: smooth;

	overflow-x: scroll;
	overflow-y: hidden;
	scrollbar-width: auto; /* Firefox */
	scrollbar-color: rgba(255,255,255,0.3) rgba(255,255,255,0.1);
	scrollbar-gutter: stable both-edges;
}

.astral-carousel::-webkit-scrollbar {
	height: 6px;
}

.astral-carousel::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,0.15);
	border-radius: 3px;
}

/* Card individual */
.astral-card {
	min-width: 200px;
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 14px;
	padding: 12px;
	cursor: pointer;
	transition: 0.25s ease;
	box-shadow: 0 0 0 rgba(0,0,0,0);
	position: relative;
}

.astral-card.active {border: 1px solid rgba(55,255,55,0.25);}

.astral-card:hover {
	transform: translateY(-6px);
	border-color: var(--accent-color);
	box-shadow: 0 8px 20px rgba(0,0,0,0.35);
}

/* Thumbnail */
.astral-thumb {
	width: 100%;
	max-width: 250px;
	border-radius: 10px;
	margin-bottom: 10px;
	border: 1px solid rgba(255,255,255,0.1);
}

/* Info section */
.astral-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 0.9rem;
}

/* Icon + text rows */
.astral-info-row {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--default-color);
}

.astral-info-row i {
	color: var(--accent-color);
	font-size: 1rem;
}

/* Date */
.astral-date {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--heading-color);
}

/* Location */
.astral-location {
	display: flex;
	align-items: center;
	gap: 6px;
	opacity: 0.85;
}






/* .......................................................................... */
/* users' started dungeon sessions                                            */
/* .......................................................................... */
/* Wrapper */
.user-usage {
	width: 100%; display: block;
}

/* FLEX container */
.user-usage .user-usage-inner {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}

/* Card */
.user-usage .psyche-card {
	flex: 1 1 calc(33.333% - 25px);
	background: var(--surface-color);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: 14px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: border-color 0.25s ease, transform 0.25s ease;
}

.user-usage .psyche-card:hover {
	border-color: var(--accent-color);
	transform: translateY(-3px);
}

/* Header */
.user-usage .psyche-card-header {
	padding: 18px 20px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
}

.user-usage .psyche-card-header h3 {
	margin: 0;
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.user-usage .psyche-header-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-content: space-between;
}

.user-usage .delete-session-btn {
	color: var(--reds-color);
	font-size: 1.1rem;
	display: inline-flex;
	align-items: center;
	transition: color 0.2s ease;
}

.user-usage .delete-session-btn:hover {
	color: #ff1a1a;
}

/* Status badge */
.user-usage .psyche-status {
	margin-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 600;
}

.user-usage .psyche-complete { background: var(--greens-color); color: #000; }
.user-usage .psyche-progress { background: var(--accent-color); color: #000; }
.user-usage .psyche-uninterpreted { background: var(--recent-color); color: #000; }
.user-usage .psyche-abandoned { background: var(--reds-color); color: #000; }

/* Body */
.user-usage .psyche-card-body {
	padding: 16px 20px;
	flex: 1;
	overflow-y: auto;
}

/* Meta (date/time) */
.user-usage .psyche-meta {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}

.user-usage .tag-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(255,255,255,0.08);
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.8rem;
}

/* Info block */
.user-usage .psyche-info div {
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* Footer */
.user-usage .psyche-card-footer {
	padding: 16px 20px;
	border-top: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
	text-align: right;
}

.user-usage .psyche-card-footer .btn {
	padding: 8px 14px;
	font-size: 0.85rem;
	border-radius: 6px;
	border: none;
	color: #000;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Responsive */
@media (max-width: 1200px) {
	.user-usage .psyche-card {
		flex: 1 1 calc(50% - 25px);
	}
}

@media (max-width: 768px) {
	.user-usage .psyche-card {
		flex: 1 1 100%;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* user psyche mix                                                            */
/* .......................................................................... */
.psyche-card-body .row {
	margin-top: 10px;
}
/* ----------------------------------------------------
   CERC PERFECT ROTUND ÎN ORICE VIEWPORT
---------------------------------------------------- */
.mix-circle {
	position: relative;
	width: 120px;
	aspect-ratio: 1 / 1; /* menține forma perfect rotundă */
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid rgba(50, 50, 50, 0.75);
	margin: 0 auto;
	flex-shrink: 0; /* împiedică deformarea în grid */
}

/* Jumătățile */
.mix-half {
	position: absolute;
	width: 50%;
	height: 100%;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 5px;
	font-size: 12px;
	font-weight: 600;
	color: var(--contrast-color);
	line-height: 1.1;
}

.mix-straight {
	left: 0;
	background: rgba(255, 50, 50, 0.15);
}

.mix-humor {
	right: 0;
	background: rgba(50, 255, 50, 0.15);
}

/* Textul din interior */
.mix-label {
	position: relative;
	z-index: 2;
}

/* ----------------------------------------------------
   Layout Bootstrap
---------------------------------------------------- */
.psyche-card-body .row {
	margin-top: 10px;
}

.mix-details .psyche-meta {
	margin-bottom: 10px;
}

.mix-details .psyche-info div {
	margin-bottom: 6px;
}

@media (max-width: 991px) {
	.mix-circle {
		margin-bottom: 15px;
	}
}

/* .......................................................................... */



/* .......................................................................... */
/* user's wallet                                                              */
/* .......................................................................... */
/* 3-column responsive grid */
.wallet-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 25px;
}

@media (max-width: 992px) {
	.wallet-grid {
		grid-template-columns: 1fr;
	}
}

/* Card styling */
.wallet-card {
	background: var(--surface-color);
	padding: 25px 30px;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(0,0,0,0.35);
}

.wallet-card h3 {
	margin-bottom: 20px;
	color: var(--accent-color);
	font-size: 22px;
	font-weight: 700;
}

/* Stats list */
.wallet-stats {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.wallet-item {
	display: flex;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.wallet-item:last-child {
	border-bottom: none;
}

.wallet-item .label {
	color: rgba(255,255,255,0.7);
	font-size: 15px;
}

.wallet-item .value {
	color: var(--contrast-color);
	font-size: 17px;
	font-weight: 600;
}

/* Lists */
.wallet-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.wallet-list li {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.wallet-list li:last-child {
	border-bottom: none;
}

.pos {
	color: var(--greens-color);
	font-weight: 600;
}

.neg {
	color: var(--reds-color);
	font-weight: 600;
}

.wallet-empty {
	opacity: 0.7;
	font-size: 14px;
}

/* Last transaction highlight */
.last-transaction {
	margin-bottom: 15px;
	padding: 10px;
	background: rgba(255,255,255,0.05);
	border-radius: 6px;
}



.wallet-footer {
	margin-top: 20px;
	text-align: center;
}

.wallet-btn {
	display: inline-block;
	padding: 10px 20px;
	background: var(--accent-color);
	color: var(--contrast-color);
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	transition: 0.25s ease;
	cursor: pointer;
}

.wallet-btn:hover {
	background: var(--recent-color);
	color: #000;
	transform: translateY(-2px);
}

.wallet-btn:active {
	transform: translateY(1px);
}
.wallet-item .value.goodEUR {color:var(--greens-color);}
/* .......................................................................... */



/* .......................................................................... */
/* user dashboard                                                             */
/* .......................................................................... */
.dashboard-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
}

/* Left column */
.dash-left {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

/* Right column */
.dash-right {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

/* Mobile: stack everything */
@media (max-width: 992px) {
	.dashboard-grid {
		grid-template-columns: 1fr;
	}
}

.dash-card {
	background: var(--surface-color);
	padding: 25px 30px;
	border-radius: 12px;
	box-shadow: 0 0 20px rgba(0,0,0,0.35);
}

.dash-card h3 {
	margin-bottom: 20px;
	color: var(--accent-color);
	font-size: 22px;
	font-weight: 700;
}

.dash-item {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.dash-item:last-child {
	border-bottom: none;
}

.dash-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.dash-item {
	display: flex;
	flex-wrap: nowrap; /* important */
	justify-content: space-between;
	align-items: center;
}

.dash-item > .label {
	width:150px;
	min-width:150px;
}

.dash-item > .value {
	flex: 1;
	min-width: 0; /* OBLIGATORIU */
	text-align: left;
}

.dash-item .value a {
	display: block;
	max-width: 100%; /* OBLIGATORIU pe mobile */
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dash-open {
	color: var(--accent-color);
	text-decoration: none;
	font-weight: 600;
}

.dash-btn {
	display: inline-block;
	margin-top: 15px;
	padding: 10px 20px;
	background: var(--accent-color);
	color: var(--contrast-color);
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
}

.dash-empty {
	opacity: 0.7;
	font-size: 14px;
}

.dash_user {
	padding-left:35px;
	border-left:1px dotted #757575;
}

/* Mobile fix */
@media (max-width: 768px) {
	.dash_user {
		padding-left: 0;
		border-left: none;
	}
}


.profile-avatar-wrap {
	text-align: center;
	margin-bottom: 15px;
}

.profile-avatar-img {
	width: 120px;
	height: 120px;
	line-height: 120px;
	border-radius: 50%;
	border: 3px solid #444;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	display: inline-block;
	background-color: #222; /* placeholder real când nu e imagine */
}

.dash-link {margin-bottom: 20px;}
.dash-link:hover {color:#FFFFFF;}
/* .......................................................................... */



/* .......................................................................... */
/* scroll to top with progressbar                                             */
/* .......................................................................... */
.scroll-top {
	position: fixed;
	visibility: hidden;
	opacity: 0;
	right: 15px;
	bottom: -15px;
	z-index: 99999;
	background-color: var(--accent-color);
	width: 52px;
	height: 52px;
	border-radius: 50%;
	transition: all 0.4s;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* SVG ring */
.progress-ring {
	position: absolute;
	top: 0;
	left: 0;
	transform: rotate(-90deg); /* începe de sus */
}

.progress-ring__circle {
	stroke: var(--greens-color);
	stroke-linecap: round;
	transition: stroke-dashoffset 0.2s linear;
	opacity: 0.85;
}

.scroll-top.active {
	visibility: visible;
	opacity: 1;
	bottom: 15px;
}
/* .......................................................................... */




/* .......................................................................... */
/* share hub                                                                  */
/* .......................................................................... */
.share-floating {
	position: fixed;
	bottom: 90px;
	right: 15px;
	width: 52px;
	height: 52px;
	background: var(--accent-color);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 25px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.25);
	z-index: 9999;
	cursor: pointer;
}
.share-floating:hover {background: var(--reds-color);}

.share-floating img {
    filter: invert(1);
    padding: 10px;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
}

.share-panel {
	position: fixed;
	bottom: 165px;
	right: 25px;
	background: rgba(0,0,0,0.85);
	padding: 15px;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	z-index: 9999;

	opacity: 0;
	transform: translateY(10px);
	transition: opacity .2s ease, transform .2s ease;
}

.share-panel .icon-share {
	width: 25px;
	height: 25px;
	filter: invert(1);
}

.share-panel.share-open {
	opacity: 1;
	transform: translateY(0);
}

.share-panel a {
	color: #fff;
	font-size: 25px;
}

.share-panel a:hover img {
	animation: pulseTilt 0.7s ease-in-out infinite alternate;
}

@keyframes pulseTilt {
	from { transform: scale(1) rotate(-7deg); opacity: 1; }
	to   { transform: scale(1.25) rotate(7deg); opacity: 0.85; }
}
/* .......................................................................... */



.colored_text {color:var(--accent-color);}



#html_astralis,
#html_analysis {
	padding:25px;

	-webkit-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
	   -moz-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			-ms-filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
				filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);

	-webkit-border-radius: 10px;
	 -khtml-border-radius: 10px;
	   -moz-border-radius: 10px;
			border-radius: 10px;

	background-color: rgba(0, 0 ,0 , 0.15);
}
#html_astralis {margin-bottom:50px;}



/* .......................................................................... */
/* astral interpretation                                                      */
/* .......................................................................... */

/* ---------------------------------------------------
   GENERAL GRID — 2 COLUMNS RESPONSIVE
--------------------------------------------------- */
.astro-report {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
	gap: 30px;
}

/* ---------------------------------------------------
   UNIVERSAL BLOCK STYLE
--------------------------------------------------- */
.astro-block {
	background: var(--surface-color);
	padding: 20px;
	border-radius: 12px;
	border: 1px solid #2a2a3a;
}
.astro-block h3 {
	border-bottom: 1px dotted #555555;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

/* ---------------------------------------------------
   HEADER — FULL WIDTH
--------------------------------------------------- */
.astro-header-block {
	grid-column: 1 / -1;
	text-align: center;
	background: transparent;
	border: none;
}

/* ---------------------------------------------------
   FULL-WIDTH SECTIONS
--------------------------------------------------- */
.astro-summary,
.astro-major-aspects,
.astro-zodiac-asc {
	grid-column: 1 / -1;
}

/* ---------------------------------------------------
   INTERNAL ROWS (ICON + TEXT)
--------------------------------------------------- */
.astro-row {
	display: grid;
	grid-template-columns: 32px auto; /* icon | content */
	gap: 10px;
	align-items: start;
}

.astro-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	line-height: 1;
	opacity: 0.9;
	min-width: 32px;
}

.astro-text {
	line-height: 1.4;
}

/* ---------------------------------------------------
   LISTS
--------------------------------------------------- */
.astro-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.astro-list li {
	padding: 10px 0;
	border-bottom: 1px solid #2a2a3a;
}

/* ---------------------------------------------------
   ZODIAC + ASCENDANT INTERNAL GRID
--------------------------------------------------- */
.astro-two-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

/* ---------------------------------------------------
   MAJOR ASPECTS — INTERNAL GRID
--------------------------------------------------- */
.astro-aspects-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 20px;
}

.astro-aspect {
	background: var(--surface-color);
	padding: 15px;
	border-radius: 12px;
	border: 1px solid #2a2a3a;
}

.astro-aspect h4 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	color: #ffd27f;
	border-bottom: 1px dotted #555;
}

.astro-aspect p {
	font-size: 1.15em;
	line-height: 1.5;
}

/* ---------------------------------------------------
   ELEMENTS & MODALITIES — LABEL + VALUE ALIGNED
--------------------------------------------------- */
.astro-elements .astro-row,
.astro-modalities .astro-row {
	grid-template-columns: 100px auto; /* label | value */
	align-items: center;
}

/* ---------------------------------------------------
   PLANETS IN SIGNS — 3-COLUMN ALIGNMENT
   planet | zodiac icon | sign
--------------------------------------------------- */
.astro-planets-signs .astro-text {
	display: grid;
	grid-template-columns: 100px 32px auto;
	gap: 8px;
	align-items: center;
}

.astro-planets-signs .planet {
	font-weight: 600;
}

.astro-planets-signs .zicon {
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.9;
	font-size: 18px;
}

.astro-planets-signs .sign {
	font-weight: 600;
	color: #ffd27f;
}

/* ---------------------------------------------------
   PLANETS IN HOUSES — 3-COLUMN ALIGNMENT
   planet | House | number
--------------------------------------------------- */
.astro-planets-houses .astro-text {
	display: grid;
	grid-template-columns: 100px 60px auto;
	gap: 8px;
	align-items: center;
}

.astro-planets-houses .planet {
	font-weight: 600;
}

.astro-planets-houses .hlabel {
	opacity: 0.9;
}

.astro-planets-houses .house {
	font-weight: 600;
	color: #ffd27f;
}

/* ---------------------------------------------------
   FULL-WIDTH GENERIC BLOCKS
--------------------------------------------------- */
.astro-report .character_profile,
.astro-report .life_story {
	grid-column: 1 / -1;
}


.astro-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.4em;
}

.astro-title svg {
	width: 22px;
	height: 22px;
	fill: #ffd27f;
	opacity: 0.9;
}

.astro-title span {
	display: inline-block;
}



/* BASE STYLE FOR BOTH */
.astro-subtitle-small {
	position: relative;
	padding-left: 35px;
	font-weight: 600;
	line-height: 1.4;
	font-size: 1.15rem;
	color:var(--accent-color);
}

/* ICON BASE */
.astro-subtitle-small::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background-color: #ffd27f; /* icon color */
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	opacity: 0.9;
}

/* TECHNICAL INTERPRETATION */
.astro-box.astro-box-full .astro-subtitle-small::before {
	mask-image: url('../extras/assets/phosphor-icons/regular/boules.svg');
}

/* ORACLE INTERPRETATION */
.astro-box.astro-box-full.mt-3 .astro-subtitle-small::before {
	mask-image: url('../extras/assets/phosphor-icons/regular/bandaids.svg');
}
/* .......................................................................... */



/* .......................................................................... */
/* astral loader / loading                                                    */
/* .......................................................................... */
.loader {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	color: #ffd27f;
	font-size: 1.2em;
	text-align: center;
	opacity: 0.9;
	animation: fadeIn 0.3s ease-out;
}

/* Spinner */
.loader::before {
	content: "";
	width: 48px;
	height: 48px;
	border: 4px solid rgba(255, 255, 255, 0.15);
	border-top-color: #ffd27f;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-bottom: 15px;
}

/* Spin animation */
@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Fade-in animation */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(5px); }
	to   { opacity: 1; transform: translateY(0); }
}
/* .......................................................................... */




/* .......................................................................... */
/* ASTRO HEADER PREMIUM                                                       */
/* .......................................................................... */
.astro-header-premium {
	position: relative;
	overflow: hidden;
	padding: 50px 25px;
	border-radius: 15px;
	background: #0d0d0d;
	margin-bottom: 40px;

		-webkit-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
	   -moz-box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			box-shadow: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
			-ms-filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
				filter: inset 0 0 0 1px rgba(50, 50, 50, 0.5);
}

/* Background container */
.astro-header-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 1;
}

/* Foreground content */
.astro-header-inner {
	position: relative;
	z-index: 3;
	text-align: center;
}

.astro-header-premium h2 {
	font-size: 2.4rem;
	margin-bottom: 10px;
	color: var(--heading-color);
}

.astro-header-premium .astro-subtitle {
	font-size: 1.2rem;
	opacity: 0.8;
	margin-bottom: 30px;
}

/* User card */
.astro-user-card {
	background: var(--surface-color);
	padding: 20px 25px;
	border-radius: 12px;
	border: 1px solid rgba(227,161,39,0.25);
	box-shadow: 0 0 20px rgba(227,161,39,0.15);
	max-width: 600px;
	margin: 0 auto;
}

.astro-user-row {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	font-size: 1rem;
	border-bottom:1px dotted #353535;
}

.astro-user-row strong {
	color: var(--accent-color);
}

.astro-header-premium .save-btn {
	position: absolute;
	top: 20px;
	right: 20px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 48px;
	height: 48px;
	padding: 0;

	font-size: 24px;
	line-height: 1;

	border-radius: 8px;
	z-index: 3;
	cursor: pointer;
}
/* icon catures the click event */
.save-btn i,
.save-btn i::before {
	pointer-events: none;
	display: inline-block;
	line-height: 1;
}

/* Mobile */
@media (max-width: 600px) {
	.astro-user-row {
		flex-direction: column;
		text-align: left;
		gap: 4px;
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* Astro header - Animated background linked to wrapper                       */
/* .......................................................................... */
#animatedBk {
	position: absolute;
	inset: 0;
	overflow: hidden;
	opacity: 0.15;
}

/* Nebule */
#animatedBk div {
	position: absolute;
	width: .001vmin;
	height: .001vmin;
	border-radius: 50%;
	opacity: 0.15;
}

/* Nebula 1 */
#animatedBk div:nth-child(1) {
	box-shadow: 0 0 45vmax 45vmax #ff00ff;
	animation: hue 10s linear infinite, move1 19s linear infinite;
}

/* Nebula 2 */
#animatedBk div:nth-child(2) {
	box-shadow: 0 0 45vmax 45vmax #ffffff;
	animation: hue 15s linear infinite, move2 25s linear infinite;
}

/* Nebula 3 */
#animatedBk div:nth-child(3) {
	box-shadow: 0 0 45vmax 45vmax #00ffff;
	animation: hue 20s linear infinite, move3 15s linear infinite;
	opacity: .2;
}

/* Hue rotation */
@keyframes hue {
	0%   { filter: hue-rotate(0deg); }
	100% { filter: hue-rotate(360deg); }
}

/* ---------------------------
   MOVEMENT — NOW RELATIVE TO WRAPPER
   Converted vh/vw → %
---------------------------- */

/* Move 1 */
@keyframes move1 {
	0%   { top: 0%;   left: 50%; }
	25%  { left: 0%; }
	50%  { top: 100%; }
	75%  { left: 100%; }
	100% { top: 0%;   left: 50%; }
}

/* Move 2 */
@keyframes move2 {
	0%   { top: 50%;  left: 100%; }
	25%  { top: 100%; }
	50%  { left: 0%; }
	75%  { top: 0%; }
	100% { top: 50%;  left: 100%; }
}

/* Move 3 */
@keyframes move3 {
	0%   { top: 100%; left: 50%; }
	25%  { left: 100%; }
	50%  { top: 0%; }
	75%  { left: 0%; }
	100% { top: 100%; left: 50%; }
}
/* .......................................................................... */



/* .......................................................................... */
/* Visibility Form (scoped styles)                                            */
/* .......................................................................... */
.visibility-form {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.visibility-form .visibility-section {
	background: rgba(25,25,25,0.25);
	padding: 25px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.05);
	margin-bottom: 35px;
}

/* Section Titles */
.visibility-form .permission-section-title {
	margin-top: 0;
	margin-bottom: 30px;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--heading-color);
	border-left: 4px solid var(--accent-color);
	padding-left: 10px;
}

/* Permission Card */
.visibility-form .permission-card {
	margin-bottom: 15px;
	background: var(--surface-color);
	padding: 18px 22px;
	border-radius: 10px;
	border: 1px solid rgba(255,255,255,0.05);
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: 0.25s ease;
}

.visibility-form .permission-card:hover {
	border-color: var(--accent-color);
	background: rgba(255,255,255,0.03);
}

/* Text inside card */
.visibility-form .permission-info strong {
	color: var(--heading-color);
	font-size: 1.05rem;
}

.visibility-form .permission-info small {
	color: var(--default-color);
	opacity: 0.7;
}

/* Switch */
.visibility-form .switch {
	position: relative;
	display: inline-block;
	width: 52px;
	height: 28px;
}

.visibility-form .switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.visibility-form .slider {
	position: absolute;
	cursor: pointer;
	inset: 0;
	background-color: #444;
	border-radius: 34px;
	transition: .3s;
}

.visibility-form .slider:before {
	position: absolute;
	content: "";
	height: 22px;
	width: 22px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	border-radius: 50%;
	transition: .3s;
}

.visibility-form input:checked + .slider {
	background-color: var(--accent-color);
}

.visibility-form input:checked + .slider:before {
	transform: translateX(24px);
}
/* .......................................................................... */



/* .......................................................................... */
/* Public Profile and Images Section                                          */
/* .......................................................................... */
.public-wrapper {margin:0; padding:0;}

.public-block {
	background: var(--surface-color);
	padding: 30px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 0 25px rgba(0,0,0,0.35);
	animation: fadeIn 0.6s ease;
}

.public-block h2 {
	font-size: 1.8rem;
	margin-bottom: 25px;
	color: var(--accent-color);
	letter-spacing: 1px;
	text-transform: uppercase;
}

.public-section {}

/* Each field row */
.public-field {
	padding: 14px 18px;
	margin-bottom: 12px;
	background: rgba(255,255,255,0.03);
	border-left: 3px solid var(--accent-color);
	border-radius: 6px;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: background 0.25s ease, transform 0.25s ease;
}

.public-field:hover {
	background: rgba(255,255,255,0.06);
	transform: translateX(4px);
}

/* Label */
.public-field strong {
	color: var(--heading-color);
	font-weight: 600;
	min-width: 140px;
	display: inline-block;
	opacity: 0.9;
}

/* Value */
.public-field span,
.public-field {
	color: var(--default-color);
	font-size: 1rem;
	opacity: 0.85;
}

/* Fade animation */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}

.public-image-card:not(:first-child) { margin-top: 35px; }
/* .......................................................................... */



/* .......................................................................... */
/* Public Profile - Dungeon runs                                              */ 
/* .......................................................................... */
/* Container general */
.public-section.dungeon-runs {
	margin-top: 40px;
}

/* Card individual */
.public-card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
	padding: 25px;
	margin-bottom: 35px;
	transition: 0.25s ease;
}

.public-card:hover {
	background: rgba(0,0,0,0.05);
	transform: translateY(-3px);
}

/* Titlul fiecărui run */
.public-card h3 {
	margin-bottom: 20px;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--accent-color, #9cc9ff);
}

/* Titlurile modurilor AI */
.public-ai-block h4 {
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.85;
}

/* Conținut AI */
.ai-content {
	background: rgba(255,255,255,0.02);
	border-left: 3px solid rgba(255,255,255,0.15);
	padding: 15px 20px;
	border-radius: 6px;
	margin-bottom: 20px;
}

/* Secțiuni interne */
.ai-section {
	margin-bottom: 20px;
}

.ai-section h3 {
	font-size: 1.05rem;
	margin-bottom: 8px;
	color: var(--accent-color, #9cc9ff);
}

/* Liste */
.ai-list {
	margin-left: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.ai-list li {
	margin-bottom: 6px;
	line-height: 1.4;
}

/* Paragrafe */
.ai-content p {
	margin-bottom: 10px;
	line-height: 1.55;
	opacity: 0.9;
}

/* Raw JSON */
.public-run-details summary {
	cursor: pointer;
	margin-top: 15px;
	font-size: 0.9rem;
	opacity: 0.8;
}

.public-run-details pre {
	background: rgba(0,0,0,0.4);
	padding: 15px;
	border-radius: 8px;
	margin-top: 10px;
	font-size: 0.8rem;
	max-height: 400px;
	overflow: auto;
}
/* .......................................................................... */



/* .......................................................................... */
/* Public Profile - chart smart text                                          */ 
/* .......................................................................... */
.public-section h2 {
	margin-bottom: 25px;
}

.public-card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 12px;
	padding: 25px;
	margin-bottom: 35px;
	transition: 0.25s ease;
}

.public-card:hover {
	background: rgba(255,255,255,0.06);
	transform: translateY(-3px);
}

.public-card h3 {
	margin-bottom: 15px;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--accent-color, #9cc9ff);
}

.public-chart-files {
	margin-top: 15px;
	margin-bottom: 0;
	padding-left: 20px;
}

.public-chart-files li {
	margin-bottom: 6px;
}

/* SMART analysis block */
.smart-analysis-block {
	background: rgba(255,255,255,0.03);
	border-left: 3px solid rgba(255,255,255,0.15);
	padding: 15px 20px;
	border-radius: 6px;
	margin-top: 20px;
}

.smart-analysis-block h4 {
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.85;
}

.smart-json {
	background: rgba(0,0,0,0.4);
	padding: 15px;
	border-radius: 8px;
	max-height: 400px;
	overflow: auto;
	font-size: 0.85rem;
}
/* .......................................................................... */




.btn_delete_account {display:inline-block; position: absolute;}



/* .......................................................................... */
/* spinner & countdown                                                        */
/* .......................................................................... */
.ai-loader {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 20rem;
	text-align: center;
}

.ai-loader.hidden {
	opacity: 0;
	pointer-events: none;
	display: none;
}
.ai-loader.visible {
	opacity: 1;
	pointer-events: auto;
	display: flex;
}

.ai-loader .spinner-container {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ai-loader .spinner-border {
	width: 5rem;
	height: 5rem;
	display: block;
	margin-bottom: 0;
	border-color: #ffd700 transparent #ffd700 transparent;
}

.ai-loader .ai-count-overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10rem;
	height: 10rem;
	display: flex;
	justify-content: center;
	align-items: center;
	pointer-events: none;
}

.ai-loader .ai-svg {
	position: absolute;
	width: 10rem;
	height: 10rem;
	transform: rotate(-90deg);
}

.ai-loader .ai-bg {
	fill: none;
	stroke: rgba(255, 255, 255, 0.15);
	stroke-width: 7;
}

.ai-loader .ai-progress {
	fill: none;
	stroke: var(--accent-color);
	stroke-width: 6;
	stroke-linecap: round;
	stroke-dasharray: 283;
	stroke-dashoffset: 283;
	transition: stroke-dashoffset 1s linear;
}

.ai-loader .ai-count-text {
	position: relative;
	font-size: 1.5rem;
	font-weight: 900;
	font-family: var(--heading-font);
	color: var(--heading-color);
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.6);
}
.ai-loader .action_text {display: block; margin-top: 5rem;}
/* .......................................................................... */



/* .......................................................................... */
/* public hub link                                                            */
/* .......................................................................... */
.public-hub-card {
	display: block;
	padding:50px;
	background: var(--surface-color);
	border-radius: 15px;
	border: 1px solid rgba(255,255,255,0.15);
	transition: 0.5s ease;
	position: relative;
	overflow: hidden;
}

.public-hub-card:hover {
	transform: translateY(-6px);
	border-color: var(--accent-color);
	box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

.public-hub-card h2 {
	font-size: 2rem;
	margin-bottom: 15px;
}

.public-hub-card h2 span {
	color: var(--accent-color);
}

.public-hub-card p {
	color: var(--default-color);
	font-size: 1.05rem;
}

.profile-count h1 {
	font-size: 3.5rem;
	font-weight: 700;
	color: var(--accent-color);
	margin: 0;
}

.profile-count p {
	font-size: 1rem;
	margin-top: 5px;
	color: var(--default-color);
}

.hub-icon {
	font-size: 5rem;
	color: var(--accent-color);
	transition: transform 0.5s ease;
}

.public-hub-card:hover .hub-icon {
	transform: rotate(360deg) scale(1.2);
}
/* .......................................................................... */




/* .......................................................................... */
/*   Public Profiles Cards (v2)                                               */
/* .......................................................................... */
/* clickable */
.profile-card-link {
	display: block;
	text-decoration: none;
}

/* card */
.profile-card {
	background: var(--surface-color);
	transition: all 0.5s ease;
	border: 1px solid rgba(255,255,255,0.05);
}
.profile-card:hover {
	border: 1px solid rgba(25,125,25,0.25);
}

.profile-card-link:hover .profile-card {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(0,0,0,0.5);
}

/* avatar */
.profile-avatar {
	width: 100px;
	min-width: 100px;
	height: 100px;
	border-radius: 15px;
	overflow: hidden;
	transition: transform 0.5s ease;
}

.profile-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.profile-stats {
	font-size: 0.95rem;
}

.public-counter {
	display: inline-flex;
	align-items: center;
	background: rgba(227,161,39,0.12);
	color: var(--accent-color);
	padding: 5px 15px;
	border-radius: 30px;
	font-weight: 600;
	transition: all 0.5s ease;
}

.profile-card-link:hover .public-counter {
	background: var(--accent-color);
	color: #111;
	transform: translateY(-5px);
}

/* zoom pe container */
.profile-card-link:hover .profile-avatar {
	transform: scale(1.05);
}

.profile-content {border-left:1px dotted var(--accent-color); padding-left:25px;}

/* text */
.profile-content h4 {
	color: var(--accent-color);
	font-size: 1.5rem;
}

.profile-meta {
	font-size: 1rem;
	color: var(--default-color);
	opacity: 0.85;
}

.profile-meta i {
	font-size: 1.15rem;
	transition: transform 0.25s ease;
}

.profile-card-link:hover .profile-meta i {
	transform: rotate(15deg);
	color: var(--recent-color);
}

/* badge */
.profile-badge i {
	font-size: 1.5rem;
}

/* mobile */
@media (max-width: 768px) {
	.profile-inner {
		flex-direction: column;
		text-align: center;
	}

	.profile-avatar {
		margin-bottom: 1rem;
	}

	.profile-content {
		border-left: none;
		padding-left: 0;
		padding-right: 0;
		padding-top: 10px; /* mic spacing vertical */
	}
}
/* .......................................................................... */



/* .......................................................................... */
/* CTA link on public index page                                              */
/* .......................................................................... */
.cta-fullwidth-link {
	background-color:#1e1e1e;
	color:#fff;
	padding:2.5rem;
	border-radius:0.5rem;
	transition:0.5s;
	border: 1px solid #000000;
}

.cta-fullwidth-link:hover {
	background-color: #000;
	transform: translateY(-2px);
	text-decoration: none;
	border: 1px solid #252525;
}
/* .......................................................................... */