/* === Memoria Virtuelle Kerzen v2 === */

/* === Variables === */
:root {
	--mk-gold:       #c8973a;
	--mk-gold-light: #f5c97a;
	--mk-dark:       #1a1208;
	--mk-bg:         #0e0a04;
	--mk-text:       #e8d5b0;
	--mk-muted:      #9a8060;
	--mk-border:     rgba(200,151,58,0.2);
	--mk-radius:     12px;
}

/* === Section === */
.mk-section {
	font-family: Georgia, 'Times New Roman', serif;
	background: linear-gradient(160deg, #0e0a04 0%, #1c1208 60%, #0e0a04 100%);
	border: 1px solid var(--mk-border);
	border-radius: 20px;
	padding: 3rem 2rem 2.5rem;
	margin: 3rem 0;
	position: relative;
	overflow: hidden;
	scroll-margin-top: 80px;
}

.mk-section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 0%, rgba(200,151,58,0.07) 0%, transparent 70%);
	pointer-events: none;
}

/* === Banners === */
.mk-banner {
	border-radius: 10px;
	padding: 0.9rem 1.2rem;
	margin-bottom: 1.8rem;
	font-size: 0.9rem;
	text-align: center;
}

.mk-banner--success {
	background: rgba(80,160,80,0.15);
	border: 1px solid rgba(80,160,80,0.4);
	color: #8fca8f;
}

.mk-banner--cancel {
	background: rgba(200,100,60,0.12);
	border: 1px solid rgba(200,100,60,0.35);
	color: #d4956a;
}

/* === Header === */
.mk-header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.mk-header h2 {
	font-size: clamp(1.4rem, 3vw, 2rem);
	color: var(--mk-gold-light);
	font-weight: 400;
	letter-spacing: 0.08em;
	margin: 0 0 0.4rem;
	text-shadow: 0 0 30px rgba(245,201,122,0.4);
}

.mk-header p {
	color: var(--mk-muted);
	font-size: 0.95rem;
	margin: 0;
	font-style: italic;
}

.mk-count {
	display: inline-block;
	margin-top: 0.6rem;
	font-size: 0.85rem;
	color: var(--mk-gold);
	letter-spacing: 0.05em;
	background: rgba(200,151,58,0.1);
	padding: 0.2rem 0.9rem;
	border-radius: 20px;
	border: 1px solid var(--mk-border);
}

/* === Form Wrap === */
.mk-form-wrap {
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--mk-border);
	border-radius: var(--mk-radius);
	padding: 2rem;
	max-width: 580px;
	margin: 0 auto 3rem;
}

.mk-form-wrap h3 {
	color: var(--mk-gold-light);
	font-size: 1.05rem;
	font-weight: 400;
	letter-spacing: 0.06em;
	margin: 0 0 1.6rem;
	text-align: center;
}

/* === Candle Type Selector === */
.mk-type-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.75rem;
	margin-bottom: 1.8rem;
}

.mk-type-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.mk-type-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	border: 2px solid rgba(200,151,58,0.2);
	border-radius: 10px;
	padding: 0.75rem 0.4rem 0.65rem;
	background: rgba(255,255,255,0.02);
	transition: border-color 0.2s, background 0.2s, transform 0.15s;
	position: relative;
	user-select: none;
}

.mk-type-card:hover {
	border-color: rgba(200,151,58,0.5);
	background: rgba(200,151,58,0.06);
	transform: translateY(-2px);
}

.mk-type-card.is-selected {
	border-color: var(--mk-gold);
	background: rgba(200,151,58,0.1);
	box-shadow: 0 0 18px rgba(200,151,58,0.2);
}

.mk-type-img-wrap {
	position: relative;
	width: 52px;
	height: 80px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.mk-type-img {
	width: auto;
	max-width: 52px;
	max-height: 80px;
	object-fit: contain;
	position: relative;
	z-index: 1;
	filter: drop-shadow(0 4px 12px rgba(200,151,58,0.3));
	transition: filter 0.3s;
}

.mk-type-card.is-selected .mk-type-img {
	filter: drop-shadow(0 6px 18px rgba(245,180,50,0.6));
}

.mk-type-glow {
	position: absolute;
	bottom: -4px;
	left: 50%;
	transform: translateX(-50%);
	width: 48px;
	height: 16px;
	background: radial-gradient(ellipse, rgba(245,180,50,0.4) 0%, transparent 70%);
	border-radius: 50%;
	filter: blur(4px);
	opacity: 0;
	transition: opacity 0.3s;
}

.mk-type-card.is-selected .mk-type-glow {
	opacity: 1;
	animation: mk-glow-pulse 2s ease-in-out infinite alternate;
}

.mk-type-meta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
}

.mk-type-duration {
	font-size: 0.75rem;
	color: var(--mk-text);
	letter-spacing: 0.04em;
}

.mk-type-price {
	font-size: 0.8rem;
	color: var(--mk-gold-light);
	font-weight: 600;
}

.mk-free {
	color: #8fca8f;
	font-size: 0.75rem;
}

/* Check icon (only visible when selected) */
.mk-type-check {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 18px;
	height: 18px;
	color: var(--mk-gold);
	opacity: 0;
	transition: opacity 0.2s;
}

.mk-type-card.is-selected .mk-type-check {
	opacity: 1;
}

/* === Form Fields === */
.mk-form-row {
	margin-bottom: 1rem;
}

.mk-form-row label {
	display: block;
	color: var(--mk-muted);
	font-size: 0.8rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin-bottom: 0.35rem;
}

.mk-form-row input[type="text"],
.mk-form-row textarea {
	width: 100%;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(200,151,58,0.25);
	border-radius: 8px;
	padding: 0.65rem 0.9rem;
	color: var(--mk-text);
	font-family: inherit;
	font-size: 0.95rem;
	transition: border-color 0.2s, box-shadow 0.2s;
	box-sizing: border-box;
	resize: vertical;
}

.mk-form-row input:focus,
.mk-form-row textarea:focus {
	outline: none;
	border-color: var(--mk-gold);
	box-shadow: 0 0 0 3px rgba(200,151,58,0.12);
}

.mk-form-row input::placeholder,
.mk-form-row textarea::placeholder {
	color: rgba(154,128,96,0.6);
}

.mk-form-row textarea {
	min-height: 80px;
}

/* === Checkboxes === */
.mk-checkboxes {
	display: flex;
	flex-direction: column;
	gap: 0.7rem;
	margin-bottom: 1.2rem;
}

.mk-checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	cursor: pointer;
	font-size: 0.85rem;
	color: var(--mk-muted);
	line-height: 1.45;
}

.mk-checkbox-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.mk-cb-box {
	flex-shrink: 0;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	border: 1.5px solid rgba(200,151,58,0.4);
	border-radius: 4px;
	background: rgba(255,255,255,0.04);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s, background 0.2s;
	position: relative;
}

.mk-checkbox-label input:checked ~ .mk-cb-box {
	border-color: var(--mk-gold);
	background: rgba(200,151,58,0.2);
}

.mk-cb-box::after {
	content: '';
	display: none;
	width: 10px;
	height: 6px;
	border-left: 2px solid var(--mk-gold);
	border-bottom: 2px solid var(--mk-gold);
	transform: rotate(-45deg) translate(1px, -1px);
}

.mk-checkbox-label input:checked ~ .mk-cb-box::after {
	display: block;
}

.mk-checkbox-label a {
	color: var(--mk-gold-light);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mk-checkbox-label a:hover {
	color: #fff;
}

/* === Paid info bar === */
.mk-paid-info {
	background: rgba(200,151,58,0.07);
	border: 1px solid rgba(200,151,58,0.2);
	border-radius: 8px;
	padding: 0.6rem 0.9rem;
	font-size: 0.8rem;
	color: var(--mk-muted);
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.8rem;
}

.mk-paid-info svg {
	flex-shrink: 0;
	opacity: 0.7;
}

/* === Button === */
.mk-btn-light {
	width: 100%;
	background: linear-gradient(135deg, #c8973a 0%, #e8b84a 50%, #c8973a 100%);
	background-size: 200% 200%;
	border: none;
	border-radius: 8px;
	padding: 0.85rem 1.5rem;
	color: #0e0a04;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: background-position 0.4s, transform 0.15s, box-shadow 0.2s;
	box-shadow: 0 4px 20px rgba(200,151,58,0.3);
}

.mk-btn-light:hover {
	background-position: right center;
	box-shadow: 0 6px 28px rgba(200,151,58,0.5);
	transform: translateY(-1px);
}

.mk-btn-light:active { transform: translateY(0); }

.mk-btn-light:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

/* === Notices === */
.mk-notice {
	margin-top: 0.9rem;
	padding: 0.7rem 1rem;
	border-radius: 8px;
	font-size: 0.88rem;
	text-align: center;
	display: none;
}

.mk-notice.success {
	background: rgba(80,160,80,0.15);
	border: 1px solid rgba(80,160,80,0.4);
	color: #8fca8f;
	display: block;
}

.mk-notice.error {
	background: rgba(200,60,60,0.15);
	border: 1px solid rgba(200,60,60,0.4);
	color: #e08080;
	display: block;
}

/* === Divider === */
.mk-divider {
	border: none;
	border-top: 1px solid var(--mk-border);
	margin: 2rem 0;
}

/* === Candle Gallery Grid === */
.mk-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 1.8rem;
	justify-items: center;
}

/* === Single Candle (image-based) === */
.mk-candle {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 130px;
	animation: mk-appear 0.6s ease both;
}

.mk-candle-img-wrap {
	position: relative;
	width: 60px;
	height: 62px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.mk-candle-img {
	width: auto;
	max-width: 60px;
	max-height: 100px;
	object-fit: contain;
	position: relative;
	z-index: 1;
	filter: drop-shadow(0 0 14px rgba(245,180,50,0.5));
	animation: mk-candle-flicker 3s ease-in-out infinite alternate;
}

.mk-candle-flame-overlay {
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 16px;
	height: 22px;
	background: radial-gradient(ellipse at 50% 80%, rgba(255,220,100,0.9) 0%, rgba(255,180,50,0.6) 40%, transparent 80%);
	border-radius: 50% 50% 30% 30% / 60% 60% 40% 40%;
	animation: mk-flame-anim 2.2s ease-in-out infinite alternate;
	z-index: 2;
	pointer-events: none;
}

.mk-candle-glow-img {
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 20px;
	background: radial-gradient(ellipse, rgba(245,180,50,0.3) 0%, transparent 70%);
	border-radius: 50%;
	filter: blur(6px);
	animation: mk-glow-pulse 2.5s ease-in-out infinite alternate;
	pointer-events: none;
}

/* === Candle Info === */
.mk-candle-info {
	margin-top: 0.7rem;
	text-align: center;
	width: 100%;
}

.mk-candle-name {
	font-size: 0.8rem;
	color: var(--mk-gold-light);
	letter-spacing: 0.04em;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 124px;
}

.mk-candle-message {
	font-size: 0.72rem;
	color: var(--mk-muted);
	font-style: italic;
	margin-top: 0.2rem;
	line-height: 1.4;
	/*display: -webkit-box;*/
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.mk-candle-date {
	font-size: 0.68rem;
	color: rgba(154,128,96,0.5);
	margin-top: 0.15rem;
}

/* === Load More === */
.mk-load-more-wrap {
	text-align: center;
	margin-top: 2.5rem;
}

.mk-btn-more {
	background: transparent;
	border: 1px solid var(--mk-border);
	border-radius: 8px;
	padding: 0.6rem 1.8rem;
	color: var(--mk-gold);
	font-family: inherit;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
}

.mk-btn-more:hover {
	background: rgba(200,151,58,0.08);
	border-color: var(--mk-gold);
}

/* === Empty === */
.mk-empty {
	text-align: center;
	padding: 2.5rem 1rem;
	color: var(--mk-muted);
	font-style: italic;
	font-size: 0.95rem;
}

/* === New candle appear animation === */
.mk-candle.mk-new {
	animation: mk-light-up 1s ease both;
}

/* === Keyframes === */
@keyframes mk-appear {
	from { opacity: 0; transform: translateY(14px) scale(0.93); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes mk-light-up {
	0%  { opacity: 0; transform: scale(0.7); filter: brightness(4); }
	50% { filter: brightness(1.8); }
	100%{ opacity: 1; transform: scale(1); filter: brightness(1); }
}

@keyframes mk-candle-flicker {
	0%   { filter: drop-shadow(0 0 10px rgba(245,180,50,0.4)); }
	30%  { filter: drop-shadow(0 0 18px rgba(245,180,50,0.7)); }
	60%  { filter: drop-shadow(0 0 8px  rgba(245,180,50,0.3)); }
	100% { filter: drop-shadow(0 0 16px rgba(245,180,50,0.6)); }
}

@keyframes mk-flame-anim {
	0%   { transform: translateX(-50%) scaleY(1) scaleX(1) rotate(-1deg); opacity: 0.9; }
	33%  { transform: translateX(-50%) scaleY(1.15) scaleX(0.9) rotate(1deg); opacity: 1; }
	66%  { transform: translateX(-50%) scaleY(0.9) scaleX(1.1) rotate(-1.5deg); opacity: 0.8; }
	100% { transform: translateX(-50%) scaleY(1.1) scaleX(0.95) rotate(0.5deg); opacity: 0.95; }
}

@keyframes mk-glow-pulse {
	from { opacity: 0.5; transform: translateX(-50%) scaleX(0.85); }
	to   { opacity: 1;   transform: translateX(-50%) scaleX(1.15); }
}

/* === Reduced Motion === */
@media (prefers-reduced-motion: reduce) {
	.mk-candle-img,
	.mk-candle-flame-overlay,
	.mk-candle-glow-img,
	.mk-type-glow,
	.mk-candle,
	.mk-candle.mk-new,
	.mk-btn-light {
		animation: none !important;
		transition: none !important;
	}
}

/* === Responsive === */
@media (max-width: 540px) {
	.mk-section { padding: 2rem 1rem; }
	.mk-form-wrap { padding: 1.4rem; }
	.mk-type-grid { grid-template-columns: repeat(2, 1fr); gap: 0.6rem; }
	.mk-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 1.2rem; }
	.mk-candle { width: 100px; }
}
