/**
 * Santa Suite Premium – Public Stylesheet
 * Covers: Letter Generator (6 designs), Story Generator (6 bg),
 *         Nice List Checker (Free + Premium Certificates),
 *         Membership Portal, Downloads Hub, Email Signup, Blog Feed
 */

/* ============================================================
   CSS CUSTOM PROPERTIES — CHRISTMAS VILLAGE NIGHT THEME
   ============================================================ */
:root {
	/* Village night palette */
	--santa-night-sky:    #060D1F;
	--santa-night-deep:   #0B1526;
	--santa-night-mid:    #101E35;
	--santa-aurora-green: rgba(32, 178, 120, 0.18);
	--santa-aurora-teal:  rgba(56, 189, 248, 0.12);
	--santa-aurora-violet:rgba(139, 92, 246, 0.10);

	/* Cabin / warm indoor palette */
	--santa-cabin-bg:     #1E140A;
	--santa-cabin-warm:   #2A1C0E;
	--santa-cabin-border: rgba(212, 160, 60, 0.55);
	--santa-cabin-glow:   rgba(250, 180, 60, 0.22);

	/* Classic Christmas accent */
	--santa-red:          #C41E3A;
	--santa-red-dark:     #8B0000;
	--santa-red-light:    #FFF5F5;
	--santa-red-glow:     rgba(196, 30, 58, 0.35);
	--santa-green:        #1B4D3E;
	--santa-green-light:  #E8F5E9;
	--santa-green-accent: #2E7D32;

	/* Gold / amber */
	--santa-gold:         #D4AF37;
	--santa-gold-light:   #FFF8D6;
	--santa-gold-dark:    #B8860B;
	--santa-gold-glow:    rgba(212, 175, 55, 0.45);
	--santa-amber:        #F59E0B;
	--santa-amber-glow:   rgba(245, 158, 11, 0.35);

	/* Text */
	--santa-cream:        #FFFCF5;
	--santa-parchment:    #F7E9CF;
	--santa-parchment-dark: #D4A96A;
	--santa-text:         #EDE8DF;
	--santa-text-muted:   #A89F94;
	--santa-border:       rgba(212, 175, 55, 0.38);

	/* Shadows */
	--santa-shadow:       0 12px 40px rgba(6, 13, 31, 0.55);
	--santa-shadow-lg:    0 24px 60px rgba(196, 30, 58, 0.25);
	--santa-cabin-shadow: 0 8px 32px rgba(250, 180, 60, 0.18), 0 2px 8px rgba(0,0,0,0.5);

	/* Typography */
	--santa-font-body:        'Outfit', -apple-system, sans-serif;
	--santa-font-decorative:  'Cinzel Decorative', serif;
	--santa-font-christmas:   'Mountains of Christmas', cursive;
	--santa-font-signature:   'Great Vibes', cursive;

	/* Shape */
	--radius:     16px;
	--radius-sm:  10px;
	--radius-lg:  24px;
	--transition-fast:   0.2s cubic-bezier(0.4, 0, 0.2, 1);
	--transition-bounce: 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ============================================================
   BASE WRAPPER — NIGHT SKY / VILLAGE BACKGROUND
   ============================================================ */
.santa-suite-wrapper {
	font-family: var(--santa-font-body);
	color: var(--santa-text);
	max-width: 1320px;
	margin: 0 auto;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	background:
		radial-gradient(ellipse 120% 40% at 50% 0%, var(--santa-aurora-green), transparent 60%),
		radial-gradient(ellipse 80% 30% at 80% 10%, var(--santa-aurora-teal), transparent 55%),
		radial-gradient(ellipse 60% 25% at 20% 5%, var(--santa-aurora-violet), transparent 50%),
		linear-gradient(175deg, var(--santa-night-sky) 0%, var(--santa-night-deep) 45%, var(--santa-night-mid) 100%);
	border-radius: 20px;
	padding: 8px 8px 32px;
	position: relative;
	overflow: hidden;
}

/* Subtle star field overlay */
.santa-suite-wrapper::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(1px 1px at 12% 8%, rgba(255,255,255,0.7), transparent),
		radial-gradient(1px 1px at 34% 5%, rgba(255,255,255,0.5), transparent),
		radial-gradient(1.5px 1.5px at 56% 3%, rgba(255,255,255,0.8), transparent),
		radial-gradient(1px 1px at 74% 7%, rgba(255,255,255,0.6), transparent),
		radial-gradient(1px 1px at 88% 4%, rgba(255,255,255,0.5), transparent),
		radial-gradient(1px 1px at 22% 12%, rgba(255,255,255,0.4), transparent),
		radial-gradient(1px 1px at 45% 9%, rgba(255,255,255,0.6), transparent),
		radial-gradient(1px 1px at 67% 11%, rgba(255,255,255,0.5), transparent),
		radial-gradient(1px 1px at 90% 13%, rgba(255,255,255,0.4), transparent),
		radial-gradient(1.5px 1.5px at 5% 18%, rgba(255,255,255,0.3), transparent);
	pointer-events: none;
	z-index: 0;
	border-radius: inherit;
}

.santa-container {
	position: relative;
	padding: 20px 12px 50px;
	z-index: 1;
}

/* ============================================================
   REALISTIC 3D CHRISTMAS C9 LIGHT BULB GARLAND & STRAND
   ============================================================ */
.santa-top-lights-garland {
	position: absolute;
	top: -6px;
	left: 0;
	right: 0;
	width: 100%;
	height: 48px;
	pointer-events: none;
	z-index: 20;
	overflow: visible;
}

.santa-lights-strand {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 10px !important;
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

/* Wavy Wire across top */
.santa-top-lights-garland::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 0;
	width: 100%;
	height: 10px;
	border-bottom: 2px solid #1E293B;
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	pointer-events: none;
	opacity: 0.7;
}

/* Individual Christmas Light Bulb Container */
.santa-lights-strand li.light-bulb {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Metallic Black Socket Holder Cap (Matching Screenshot 2 Edison Socket) */
.santa-lights-strand li.light-bulb::before {
	content: '';
	display: block;
	width: 10px;
	height: 8px;
	background: linear-gradient(180deg, #475569 0%, #1E293B 60%, #0F172A 100%);
	border-radius: 3px 3px 1px 1px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
	z-index: 5;
	margin-bottom: -2px;
	border-top: 1.5px solid #64748B;
}

/* Straight & Symmetrical Incandescent Glass Light Bulb Shape */
.santa-lights-strand li.light-bulb .bulb-glass {
	display: block;
	width: 18px;
	height: 25px;
	/* Clean 100% symmetrical upright bulb curve: top cap attachment to smooth bottom tip */
	border-radius: 50% 50% 50% 50% / 45% 45% 55% 55% !important;
	position: relative;
	transition: all 0.3s ease;
	box-sizing: border-box;
	overflow: hidden;
	margin: 0 auto !important;
	transform: none !important;
}

/* Glowing Inner Incandescent Filament (Centered stem) */
.santa-lights-strand li.light-bulb .bulb-glass::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 10px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 0 5px #FFFFFF, 0 0 9px rgba(255, 235, 150, 0.95);
	border-radius: 2px;
	z-index: 3;
	pointer-events: none;
}

/* Centered Top Curved Glass Glare Reflection (No side tilt) */
.santa-lights-strand li.light-bulb .bulb-glass::after {
	content: '';
	position: absolute;
	top: 3px;
	left: 50%;
	transform: translateX(-50%);
	width: 8px;
	height: 4px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	filter: blur(0.3px);
	pointer-events: none;
	z-index: 4;
}

/* Color Variations & Glow Animations (100% Symmetrical 50% Center Radial Light with Vibrant 3D Neon Glow Halos) */
.santa-lights-strand li.light-bulb.c-red .bulb-glass {
	background: radial-gradient(circle at 50% 30%, #FF8A8A 0%, #FF2424 45%, #DC2626 75%, #991B1B 100%) !important;
	box-shadow: 0 4px 20px rgba(239, 68, 68, 0.9), 0 0 30px rgba(239, 68, 68, 0.6), inset 0 -2px 5px rgba(0, 0, 0, 0.4) !important;
	animation: bulbGlowRed 1.8s ease-in-out infinite alternate;
}

.santa-lights-strand li.light-bulb.c-gold .bulb-glass {
	background: radial-gradient(circle at 50% 30%, #FFF9A6 0%, #FFD700 45%, #F59E0B 75%, #B45309 100%) !important;
	box-shadow: 0 4px 20px rgba(245, 158, 11, 0.9), 0 0 30px rgba(245, 158, 11, 0.6), inset 0 -2px 5px rgba(0, 0, 0, 0.4) !important;
	animation: bulbGlowGold 2.1s ease-in-out infinite alternate;
}

.santa-lights-strand li.light-bulb.c-green .bulb-glass {
	background: radial-gradient(circle at 50% 30%, #A7F3D0 0%, #10B981 45%, #059669 75%, #064E3B 100%) !important;
	box-shadow: 0 4px 20px rgba(16, 185, 129, 0.9), 0 0 30px rgba(16, 185, 129, 0.6), inset 0 -2px 5px rgba(0, 0, 0, 0.4) !important;
	animation: bulbGlowGreen 1.9s ease-in-out infinite alternate;
}

.santa-lights-strand li.light-bulb.c-blue .bulb-glass {
	background: radial-gradient(circle at 50% 30%, #BAE6FD 0%, #38BDF8 45%, #0284C7 75%, #075985 100%) !important;
	box-shadow: 0 4px 20px rgba(56, 189, 248, 0.9), 0 0 30px rgba(56, 189, 248, 0.6), inset 0 -2px 5px rgba(0, 0, 0, 0.4) !important;
	animation: bulbGlowBlue 2.3s ease-in-out infinite alternate;
}

.santa-lights-strand li.light-bulb.c-pink .bulb-glass {
	background: radial-gradient(circle at 50% 30%, #FBCFE8 0%, #F43F5E 45%, #E11D48 75%, #881337 100%) !important;
	box-shadow: 0 4px 20px rgba(244, 63, 94, 0.9), 0 0 30px rgba(244, 63, 94, 0.6), inset 0 -2px 5px rgba(0, 0, 0, 0.4) !important;
	animation: bulbGlowPink 2.0s ease-in-out infinite alternate;
}

@keyframes bulbGlowRed {
	0%   { opacity: 0.75; filter: brightness(0.92); box-shadow: 0 3px 12px rgba(239,68,68,0.6), 0 0 20px rgba(239,68,68,0.4), inset 0 -2px 5px rgba(0,0,0,0.4); }
	100% { opacity: 1;    filter: brightness(1.35); box-shadow: 0 6px 30px rgba(239,68,68,1), 0 0 45px rgba(239,68,68,0.9), 0 0 60px rgba(255,100,100,0.7), inset 0 -2px 5px rgba(0,0,0,0.4); }
}
@keyframes bulbGlowGold {
	0%   { opacity: 0.78; filter: brightness(0.92); box-shadow: 0 3px 12px rgba(245,158,11,0.6), 0 0 20px rgba(245,158,11,0.4), inset 0 -2px 5px rgba(0,0,0,0.4); }
	100% { opacity: 1;    filter: brightness(1.38); box-shadow: 0 6px 30px rgba(245,158,11,1), 0 0 45px rgba(245,158,11,0.9), 0 0 60px rgba(255,235,120,0.75), inset 0 -2px 5px rgba(0,0,0,0.4); }
}
@keyframes bulbGlowGreen {
	0%   { opacity: 0.75; filter: brightness(0.92); box-shadow: 0 3px 12px rgba(16,185,129,0.6), 0 0 20px rgba(16,185,129,0.4), inset 0 -2px 5px rgba(0,0,0,0.4); }
	100% { opacity: 1;    filter: brightness(1.35); box-shadow: 0 6px 30px rgba(16,185,129,1), 0 0 45px rgba(16,185,129,0.9), 0 0 60px rgba(120,255,180,0.7), inset 0 -2px 5px rgba(0,0,0,0.4); }
}
@keyframes bulbGlowBlue {
	0%   { opacity: 0.76; filter: brightness(0.92); box-shadow: 0 3px 12px rgba(56,189,248,0.6), 0 0 20px rgba(56,189,248,0.4), inset 0 -2px 5px rgba(0,0,0,0.4); }
	100% { opacity: 1;    filter: brightness(1.38); box-shadow: 0 6px 30px rgba(56,189,248,1), 0 0 45px rgba(56,189,248,0.9), 0 0 60px rgba(180,230,255,0.75), inset 0 -2px 5px rgba(0,0,0,0.4); }
}
@keyframes bulbGlowPink {
	0%   { opacity: 0.75; filter: brightness(0.92); box-shadow: 0 3px 12px rgba(244,63,94,0.6), 0 0 20px rgba(244,63,94,0.4), inset 0 -2px 5px rgba(0,0,0,0.4); }
	100% { opacity: 1;    filter: brightness(1.35); box-shadow: 0 6px 30px rgba(244,63,94,1), 0 0 45px rgba(244,63,94,0.9), 0 0 60px rgba(255,160,200,0.7), inset 0 -2px 5px rgba(0,0,0,0.4); }
}

@keyframes santaSpin {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.santa-spinner-ring {
	width: 46px;
	height: 46px;
	border: 4px solid #FECACA !important;
	border-top: 4px solid #DC2626 !important;
	border-radius: 50% !important;
	animation: santaSpin 0.85s linear infinite !important;
	position: absolute !important;
	box-sizing: border-box !important;
}

/* Split View Grid for Letter Generator & Live Preview */
.santa-suite-wrapper {
	overflow: visible !important;
}

.santa-split-container {
	display: grid;
	grid-template-columns: 38% 1fr;
	gap: 28px;
	align-items: start;
	width: 100%;
	overflow: visible !important;
}

@media (max-width: 1080px) {
	.santa-split-container {
		grid-template-columns: 1fr;
	}
}

.santa-split-left-col {
	min-width: 0;
}

.santa-split-right-col {
	min-width: 0;
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 20px !important;
	align-self: start !important;
	z-index: 99 !important;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	padding-right: 4px;
}

.santa-accordion-header:hover {
	background: #f1f5f9 !important;
}

.santa-accordion-header:hover .santa-accordion-toggle-btn {
	border-color: #dc2626 !important;
	color: #dc2626 !important;
}

.santa-snow-canvas-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 0;
}

/* Twinkling Christmas Fairy Lights String */
.santa-fairy-lights {
	position: absolute;
	top: -10px;
	left: 20px;
	right: 20px;
	display: flex;
	justify-content: space-around;
	pointer-events: none;
	z-index: 5;
}

.santa-fairy-lights .bulb {
	width: 10px;
	height: 14px;
	border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
	box-shadow: 0 3px 10px currentColor;
	animation: fairyBulbTwinkle 1.8s infinite ease-in-out alternate;
}

.santa-fairy-lights .bulb-red   { color: #EF4444; background: #EF4444; animation-delay: 0s; }
.santa-fairy-lights .bulb-green { color: #10B981; background: #10B981; animation-delay: 0.4s; }
.santa-fairy-lights .bulb-gold  { color: #F59E0B; background: #F59E0B; animation-delay: 0.8s; }
.santa-fairy-lights .bulb-blue  { color: #3B82F6; background: #3B82F6; animation-delay: 1.2s; }

@keyframes fairyBulbTwinkle {
	0%   { opacity: 0.35; transform: scale(0.9); }
	100% { opacity: 1; transform: scale(1.15); filter: drop-shadow(0 0 8px currentColor); }
}

/* ============================================================
   CARDS & FORM LAYOUT — WARM CABIN INTERIOR FEEL
   ============================================================ */
.santa-form-card {
	/* Warm cabin interior — dark wood with amber glow */
	background: linear-gradient(150deg,
		rgba(34, 20, 8, 0.96) 0%,
		rgba(28, 17, 6, 0.98) 60%,
		rgba(22, 13, 4, 0.99) 100%);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1.5px solid var(--santa-cabin-border);
	border-radius: var(--radius-lg);
	padding: 40px 45px;
	margin-bottom: 32px;
	position: relative;
	overflow: hidden;
	box-shadow:
		0 0 0 1px rgba(212, 160, 60, 0.12),
		0 8px 32px rgba(250, 180, 60, 0.14),
		0 20px 60px rgba(0, 0, 0, 0.65),
		inset 0 1px 0 rgba(255, 220, 100, 0.08);
	z-index: 2;
	transition: var(--transition-fast);
}

/* Snow cap on top of each card */
.santa-form-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg,
		rgba(212, 175, 55, 0.7),
		rgba(245, 158, 11, 0.9) 30%,
		rgba(212, 175, 55, 0.7) 70%,
		rgba(245, 158, 11, 0.5));
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

/* Warm window glow effect (top-right corner) */
.santa-form-card::after {
	content: '';
	position: absolute;
	top: -40px;
	right: -40px;
	width: 200px;
	height: 200px;
	background: radial-gradient(circle at center, rgba(250, 180, 60, 0.18), transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.santa-form-card:hover {
	border-color: rgba(245, 158, 11, 0.75);
	box-shadow:
		0 0 0 1px rgba(245, 158, 11, 0.2),
		0 8px 32px rgba(250, 180, 60, 0.22),
		0 24px 70px rgba(0, 0, 0, 0.7);
}

.santa-card-decor {
	position: absolute;
	top: -30px;
	right: -30px;
	width: 160px;
	height: 160px;
	background: radial-gradient(circle at center, rgba(212, 175, 55, 0.15), transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.santa-form-header {
	margin-bottom: 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgba(212, 175, 55, 0.25);
}

.santa-form-header h2 {
	font-family: var(--santa-font-decorative);
	font-size: 1.7rem;
	color: var(--santa-parchment);
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	gap: 12px;
	letter-spacing: 0.5px;
	text-shadow: 0 2px 12px rgba(245, 158, 11, 0.4);
}

.santa-form-header h2 i {
	color: var(--santa-amber);
	filter: drop-shadow(0 2px 8px rgba(245, 158, 11, 0.6));
}

.santa-form-header p {
	color: var(--santa-text-muted);
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.6;
}

/* Grid helpers */
.santa-row {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.santa-col-6 {
	flex: 1 1 calc(50% - 10px);
	min-width: 220px;
}

.santa-col-12 {
	flex: 1 1 100%;
}

/* Form fields — cabin window dark-warm style */
.santa-form-card label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	color: var(--santa-parchment);
	font-size: 0.92rem;
}

.santa-form-card label i {
	margin-right: 6px;
	color: var(--santa-amber);
}

.santa-form-card input[type="text"],
.santa-form-card input[type="email"],
.santa-form-card input[type="number"],
.santa-form-card input[type="url"],
.santa-form-card input[type="password"],
.santa-form-card textarea,
.santa-form-card select {
	width: 100%;
	padding: 13px 18px;
	border: 1.5px solid rgba(212, 160, 60, 0.3);
	border-radius: var(--radius-sm);
	font-family: var(--santa-font-body);
	font-size: 0.98rem;
	background: rgba(15, 9, 3, 0.75);
	transition: var(--transition-fast);
	box-sizing: border-box;
	outline: none;
	color: var(--santa-parchment);
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.4);
}

.santa-form-card input::placeholder,
.santa-form-card textarea::placeholder {
	color: rgba(168, 159, 148, 0.55);
}

.santa-form-card input:focus,
.santa-form-card textarea:focus,
.santa-form-card select:focus {
	border-color: var(--santa-amber);
	background: rgba(20, 12, 4, 0.9);
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.22), inset 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Subsection boxes (pet, delivery) */
.santa-form-subsection {
	background: rgba(10, 6, 2, 0.55);
	border: 1px dashed rgba(212, 175, 55, 0.38);
	border-radius: var(--radius);
	padding: 22px 24px;
	margin-top: 22px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

.subsection-label {
	font-weight: 700;
	color: var(--santa-parchment);
	margin: 0 0 14px;
	font-size: 1rem;
	display: flex;
	align-items: center;
}

.subsection-label i {
	margin-right: 8px;
	color: var(--santa-gold);
	font-size: 1.1rem;
}

/* ============================================================
   BUTTONS — VILLAGE CABIN STYLE
   ============================================================ */
.santa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 26px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 0.95rem;
	cursor: pointer;
	text-decoration: none;
	border: none;
	transition: var(--transition-bounce);
	white-space: nowrap;
	position: relative;
	overflow: hidden;
}

.santa-btn-red {
	background: linear-gradient(135deg, #C41E3A 0%, #8B0000 100%);
	color: #FFF;
	box-shadow: 0 6px 20px rgba(196, 30, 58, 0.45), 0 2px 8px rgba(0,0,0,0.4);
}

.santa-btn-red:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 10px 28px rgba(196, 30, 58, 0.6);
	color: #FFF;
}

.santa-btn-gold {
	background: linear-gradient(135deg, #F4D03F 0%, #D4AF37 50%, #B8860B 100%);
	color: #1A0A00;
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5), 0 2px 8px rgba(0,0,0,0.4);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.3);
}

.santa-btn-gold:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 10px 28px rgba(212, 175, 55, 0.7);
	color: #1A0A00;
}

.santa-btn-secondary {
	background: rgba(255, 255, 255, 0.07);
	color: var(--santa-parchment);
	border: 1.5px solid rgba(212, 175, 55, 0.3);
}

.santa-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.12);
	color: var(--santa-cream);
	transform: translateY(-2px);
	border-color: rgba(212, 175, 55, 0.55);
}

/* High contrast View buttons for tables and portal lists */
.view-saved-item-btn,
.santa-btn-secondary.view-saved-item-btn,
.wp-list-table .view-saved-item-btn {
	background: #FFFBEB !important;
	color: #B45309 !important;
	border: 1.5px solid #F59E0B !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 6px rgba(245, 158, 11, 0.15) !important;
}

.view-saved-item-btn:hover,
.santa-btn-secondary.view-saved-item-btn:hover,
.wp-list-table .view-saved-item-btn:hover {
	background: #F59E0B !important;
	color: #FFFFFF !important;
	border-color: #D97706 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(245, 158, 11, 0.25) !important;
}

.view-saved-item-btn i,
.santa-btn-secondary.view-saved-item-btn i {
	color: inherit !important;
}

/* High contrast Print buttons for user dashboard tables */
.print-saved-item-btn,
.santa-btn-secondary.print-saved-item-btn,
.wp-list-table .print-saved-item-btn {
	background: linear-gradient(135deg, #FEF3C7, #FDE68A) !important;
	color: #B45309 !important;
	border: 1.5px solid #F59E0B !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 6px rgba(245, 158, 11, 0.18) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	border-radius: 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.print-saved-item-btn i,
.santa-btn-secondary.print-saved-item-btn i,
.wp-list-table .print-saved-item-btn i {
	color: #B45309 !important;
	font-size: 0.85rem !important;
	display: inline-block !important;
}

.print-saved-item-btn:hover,
.santa-btn-secondary.print-saved-item-btn:hover,
.wp-list-table .print-saved-item-btn:hover {
	background: #F59E0B !important;
	color: #FFFFFF !important;
	border-color: #D97706 !important;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4) !important;
	transform: translateY(-2px) !important;
}

.print-saved-item-btn:hover i,
.santa-btn-secondary.print-saved-item-btn:hover i,
.wp-list-table .print-saved-item-btn:hover i {
	color: #FFFFFF !important;
}

/* High contrast Delete buttons */
.delete-saved-item-btn,
.santa-btn-danger.delete-saved-item-btn,
.wp-list-table .delete-saved-item-btn {
	background: #FEF2F2 !important;
	color: #991B1B !important;
	border: 1.5px solid #FCA5A5 !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.12) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	border-radius: 20px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
}

.delete-saved-item-btn i,
.santa-btn-danger.delete-saved-item-btn i,
.wp-list-table .delete-saved-item-btn i {
	color: #991B1B !important;
	font-size: 0.85rem !important;
}

.delete-saved-item-btn:hover,
.santa-btn-danger.delete-saved-item-btn:hover,
.wp-list-table .delete-saved-item-btn:hover {
	background: #DC2626 !important;
	color: #FFFFFF !important;
	border-color: #B91C1C !important;
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3) !important;
	transform: translateY(-2px) !important;
}

.delete-saved-item-btn:hover i,
.santa-btn-danger.delete-saved-item-btn:hover i,
.wp-list-table .delete-saved-item-btn:hover i {
	color: #FFFFFF !important;
}

.santa-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 26px;
	flex-wrap: wrap;
	gap: 14px;
}

/* ============================================================
   STEP WIZARD INDICATOR
   ============================================================ */
.santa-steps-indicator {
	display: flex;
	gap: 10px;
	margin-bottom: 28px;
}

.santa-steps-indicator .step {
	flex: 1;
	text-align: center;
	padding: 10px 8px;
	border-radius: var(--radius-sm);
	font-size: 0.86rem;
	font-weight: 700;
	background: rgba(255, 255, 255, 0.04);
	color: var(--santa-text-muted);
	border: 1.5px solid rgba(212, 175, 55, 0.18);
	transition: var(--transition-fast);
}

.santa-steps-indicator .step.active {
	background: linear-gradient(135deg, #C41E3A, #8B0000);
	color: #FFF;
	border-color: #8B0000;
	box-shadow: 0 4px 15px rgba(196, 30, 58, 0.4);
}

/* ============================================================
   LETTER DESIGN PICKER
   ============================================================ */
.santa-design-picker {
	margin-bottom: 28px;
}

.design-picker-label {
	font-weight: 700;
	color: var(--santa-parchment);
	margin-bottom: 14px;
	font-size: 1rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.design-styles-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.design-style-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 14px 12px;
	border: 2px solid rgba(212, 175, 55, 0.2);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: var(--transition-bounce);
	background: rgba(255, 255, 255, 0.03);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.design-style-label input[type="radio"] {
	display: none;
}

.design-style-label.selected,
.design-style-label:hover {
	border-color: var(--santa-amber);
	background: rgba(245, 158, 11, 0.1);
	box-shadow: 0 6px 20px rgba(245, 158, 11, 0.25);
	transform: translateY(-2px);
}

.design-style-label .design-icon {
	font-size: 1.7rem;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.design-style-label .design-name {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--santa-parchment);
}

/* ============================================================
   CHECKBOX GRID & RADIO GRIDS
   ============================================================ */
.santa-checkbox-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	margin-bottom: 10px;
}

.santa-cb-label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: rgba(15, 9, 3, 0.75);
	border: 1.5px solid rgba(212, 160, 60, 0.3);
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-size: 0.9rem;
	color: var(--santa-parchment);
	transition: var(--transition-fast);
}

.santa-cb-label:hover {
	background: rgba(245, 158, 11, 0.12);
	border-color: var(--santa-amber);
	transform: translateY(-1px);
}

.santa-cb-label input:checked+span,
.santa-cb-label input:checked~* {
	color: var(--santa-amber);
	font-weight: 700;
}

.santa-radio-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 12px;
}

.santa-radio-btn-label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: rgba(15, 9, 3, 0.75);
	border: 1.5px solid rgba(212, 160, 60, 0.3);
	border-radius: var(--radius-sm);
	cursor: pointer;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--santa-parchment);
	transition: var(--transition-fast);
}

.santa-radio-btn-label:hover {
	background: rgba(245, 158, 11, 0.12);
	border-color: var(--santa-amber);
	transform: translateY(-1px);
}

.santa-radio-btn-label input[type="radio"] {
	accent-color: var(--santa-amber);
}

/* ============================================================
   DELIVERY OPTIONS
   ============================================================ */
.santa-delivery-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}

.delivery-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 18px 14px;
	border: 2px solid rgba(212, 160, 60, 0.25);
	border-radius: var(--radius);
	cursor: pointer;
	text-align: center;
	transition: var(--transition-bounce);
	background: rgba(15, 9, 3, 0.75);
	position: relative;
}

.delivery-option input[type="radio"] {
	display: none;
}

.delivery-option.selected,
.delivery-option:hover {
	border-color: var(--santa-amber);
	background: rgba(245, 158, 11, 0.12);
	box-shadow: 0 8px 25px rgba(245, 158, 11, 0.25);
	transform: translateY(-3px);
}

.delivery-option .delivery-icon {
	font-size: 2rem;
	color: var(--santa-amber);
	filter: drop-shadow(0 2px 6px rgba(245, 158, 11, 0.4));
}

.delivery-option .delivery-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
}

.delivery-option strong {
	font-size: 0.88rem;
	display: block;
	color: var(--santa-parchment);
}

.delivery-option span {
	font-size: 0.78rem;
	color: var(--santa-text-muted);
}

.delivery-price {
	font-weight: 800 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.5px;
}

.free-tag {
	background: #16A34A;
	color: #FFF;
	padding: 3px 10px;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(22, 163, 74, 0.3);
}

.paid-tag {
	background: linear-gradient(135deg, #D4AF37, #B8860B);
	color: #FFF;
	padding: 3px 10px;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(212, 175, 55, 0.35);
}

.mail-tag {
	background: #2563EB;
	color: #FFF;
	padding: 3px 10px;
	border-radius: 20px;
	box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
}

/* ============================================================
   LETTER OUTPUT – PARCHMENT PAPER
   ============================================================ */
.santa-parchment-outer {
	background: #FFF;
	border-radius: var(--radius-lg) !important;
	overflow: visible !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.18), 0 2px 10px rgba(0, 0, 0, 0.08);
	position: relative;
	margin-bottom: 25px;
}

.santa-parchment-inner {
	padding: 55px 40px 60px;
	position: relative;
	min-height: 620px;
	overflow: hidden !important;
	border-radius: inherit !important;
}

/* === LETTER DESIGN: CLASSIC === */
.letter-design-classic {
	background: linear-gradient(160deg, #FFFBF0 0%, #F5E6C8 100%);
	border-left: 8px solid var(--santa-red);
}

/* === LETTER DESIGN: ROYAL === */
.letter-design-royal {
	background: linear-gradient(160deg, #F0F4FF 0%, #E0E7FF 100%);
	border-left: 8px solid #1D4ED8;
	border-top: 5px solid #1D4ED8;
}

.letter-design-royal .letter-heading-title {
	color: #1D4ED8;
}

.letter-design-royal .santa-wax-seal {
	background: linear-gradient(135deg, #1D4ED8, #1E40AF);
}

.letter-design-royal .stamp-circular {
	border-color: #1D4ED8;
	color: #1D4ED8;
}

/* === LETTER DESIGN: SNOWFLAKE === */
.letter-design-snowflake {
	background: linear-gradient(160deg, #F0F9FF 0%, #E0F2FE 100%);
	border-left: 8px solid #0EA5E9;
}

.letter-design-snowflake .letter-heading-title {
	color: #0369A1;
}

/* === LETTER DESIGN: WOODLAND === */
.letter-design-woodland {
	background: linear-gradient(160deg, #F0FDF4 0%, #DCFCE7 100%);
	border-left: 8px solid #15803D;
}

.letter-design-woodland .letter-heading-title {
	color: #15803D;
}

.letter-design-woodland .santa-wax-seal {
	background: linear-gradient(135deg, #15803D, #166534);
}

/* === LETTER DESIGN: CANDY === */
.letter-design-candy {
	background: repeating-linear-gradient(-45deg,
			#FFF9F9,
			#FFF9F9 24px,
			#FFEAEA 24px,
			#FFEAEA 48px);
	border-left: 8px solid #E11D48;
}

.letter-design-candy .letter-heading-title {
	color: #E11D48;
}

/* === LETTER DESIGN: GOLD === */
.letter-design-gold {
	background: linear-gradient(160deg, #FEFCE8 0%, #FEF9C3 100%);
	border-left: 8px solid var(--santa-gold);
	border-right: 8px solid var(--santa-gold);
}

.letter-design-gold .letter-heading-title {
	color: var(--santa-gold-dark);
}

/* Letter inner elements */
.north-pole-header {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 28px;
}

.north-pole-stamp {
	flex-shrink: 0;
}

.stamp-circular {
	width: 85px;
	height: 85px;
	border-radius: 50%;
	border: 3px double var(--santa-red);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0.58rem;
	font-weight: 800;
	color: var(--santa-red);
	letter-spacing: 0.5px;
	padding: 6px;
	text-transform: uppercase;
	line-height: 1.35;
	box-shadow: 0 2px 8px rgba(196, 30, 58, 0.15);
}

.np-header-center {
	flex: 1;
}

.letter-heading-title {
	font-family: var(--santa-font-decorative);
	font-size: 1.45rem;
	color: var(--santa-red-dark);
	margin: 0 0 5px;
	letter-spacing: 0.5px;
}

.letter-heading-sub {
	font-size: 0.8rem;
	color: var(--santa-text-muted);
	margin: 0;
	font-style: italic;
}

.letter-divider-holly {
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--santa-red), var(--santa-gold), var(--santa-red), transparent);
	margin: 0 0 28px;
	opacity: 0.65;
}

.letter-date-line {
	color: var(--santa-text-muted);
	font-size: 0.88rem;
	margin-bottom: 8px;
	font-weight: 500;
}

.letter-dear-line {
	font-weight: 800;
	font-size: 1.15rem;
	margin-bottom: 18px;
	color: var(--santa-text);
}

.letter-content-paper {
	font-size: 1.02rem;
	line-height: 1.85;
	color: #2D3748;
}

.letter-content-paper p {
	margin: 0 0 16px;
}

/* Signature */
.santa-signature {
	margin-top: 40px;
	padding-top: 22px;
	border-top: 1.5px dashed rgba(196, 30, 58, 0.25);
	text-align: right;
}

.santa-signature p {
	margin: 0 0 4px;
	font-style: italic;
	color: var(--santa-text-muted);
	font-size: 0.92rem;
}

.signature-font {
	font-family: var(--santa-font-signature);
	color: var(--santa-red-dark);
	font-size: 2.2rem;
	margin: 6px 0 12px;
	line-height: 1.1;
}

.santa-wax-seal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: linear-gradient(135deg, #C41E3A 0%, #8B0000 100%);
	border-radius: 50%;
	color: #FFD700;
	font-size: 1.25rem;
	box-shadow: 0 4px 15px rgba(139, 0, 0, 0.4), inset 0 2px 4px rgba(255, 255, 255, 0.3);
	border: 2px solid rgba(255, 215, 0, 0.4);
}

.letter-from-location {
	font-size: 0.75rem;
	color: var(--santa-text-muted);
	margin-top: 8px;
}

.santa-letter-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 25px 0;
	flex-wrap: wrap;
}

/* Physical mail CTA */
.letter-delivery-cta {
	background: linear-gradient(135deg, #1E3A5F, #0F2040);
	border-radius: var(--radius);
	padding: 30px;
	margin-top: 20px;
	text-align: center;
	color: #fff;
}

.delivery-cta-inner .delivery-cta-icon {
	font-size: 2.5rem;
	color: var(--santa-gold);
	margin-bottom: 15px;
	display: block;
}

.letter-delivery-cta h3 {
	color: var(--santa-gold);
	margin: 0 0 10px;
}

.letter-delivery-cta p {
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 20px;
}

/* ============================================================
   NICE LIST CHECKER
   ============================================================ */
.santa-search-box-design {
	display: flex;
	gap: 12px;
	align-items: center;
}

.santa-search-box-design input {
	flex: 1;
	padding: 12px 18px;
	border: 2px solid #E5E7EB;
	border-radius: 50px;
	font-family: var(--santa-font-body);
	font-size: 1rem;
	outline: none;
	transition: border-color 0.2s;
}

.santa-search-box-design input:focus {
	border-color: var(--santa-red);
}

.nice-list-tip {
	font-size: 0.82rem;
	color: var(--santa-text-muted);
	margin-top: 12px;
}

/* Radar loader */
.santa-radar-container {
	width: 120px;
	height: 120px;
	border: 3px solid var(--santa-red);
	border-radius: 50%;
	position: relative;
	margin: 0 auto 20px;
	overflow: hidden;
	background: radial-gradient(circle, rgba(185, 28, 28, 0.05), transparent);
}

.radar-sweep {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(185, 28, 28, 0.8));
	transform-origin: left center;
	animation: sweep 1.8s linear infinite;
}

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

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

.radar-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 1.5rem;
}

/* Verdict cards */
.nice-verdict-card {
	border-radius: var(--radius-lg);
	padding: 35px 40px;
	margin-bottom: 25px;
}

.nice-bg {
	background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
	border: 2px solid #16A34A;
}

.nice-bg h3 {
	color: #15803D;
	font-family: var(--santa-font-decorative);
	font-size: 1.4rem;
}

.nice-bg h3 i {
	color: #16A34A;
	margin-right: 8px;
}

.naughty-bg {
	background: linear-gradient(135deg, #FFF7ED, #FED7AA);
	border: 2px solid #F97316;
}

.naughty-bg h3 {
	color: #C2410C;
	font-size: 1.2rem;
}

.naughty-icon {
	font-size: 3rem;
	color: #F97316;
	margin-bottom: 15px;
}

.santa-naughty-advise {
	background: rgba(255, 255, 255, 0.6);
	border-radius: var(--radius-sm);
	padding: 20px;
	margin: 20px 0;
}

.santa-naughty-advise h4 {
	margin: 0 0 8px;
	color: #C2410C;
}

/* Certificate chooser */
.cert-chooser {
	margin: 20px 0;
}

.cert-chooser-label {
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--santa-green);
}

.cert-options-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.cert-choice-btn {
	padding: 10px 18px;
	border: 2px solid #E5E7EB;
	border-radius: 50px;
	background: #fff;
	cursor: pointer;
	font-family: var(--santa-font-body);
	font-weight: 600;
	font-size: 0.88rem;
	transition: all 0.2s;
}

.cert-choice-btn:hover,
.cert-choice-btn.active-cert {
	border-color: var(--santa-gold);
	background: var(--santa-gold-light);
}

.cert-tier {
	font-size: 0.7rem;
	margin-left: 6px;
	padding: 2px 7px;
	border-radius: 10px;
	vertical-align: middle;
}

/* FREE Certificate */
.santa-certificate-printable {
	border-radius: var(--radius);
	overflow: hidden;
	margin: 20px 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
}

.santa-certificate-printable .cert-body-main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 10px 0;
}


.parchment-bg {
	background: linear-gradient(145deg, #FFF8E7, #F5E6C8);
}

.cert-border-outer {
	border: 8px double var(--santa-gold);
	margin: 15px;
}

.cert-border-inner {
	border: 2px solid var(--santa-gold);
	margin: 8px;
	padding: 35px 30px;
	text-align: center;
}

.cert-title {
	font-family: var(--santa-font-decorative);
	font-size: 1.8rem;
	color: var(--santa-red-dark);
	margin: 0 0 8px;
}

.cert-subtitle {
	color: var(--santa-text-muted);
	font-size: 0.9rem;
	margin: 0 0 15px;
}

.cert-child-name {
	font-family: var(--santa-font-signature);
	font-size: 2rem;
	color: var(--santa-red);
	margin: 0 0 15px;
}

.cert-body {
	font-size: 0.9rem;
	line-height: 1.6;
	max-width: 400px;
	margin: 0 auto 25px;
}

.cert-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	border-top: 1px solid var(--santa-parchment-dark);
	padding-top: 20px;
}

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

.sign-title {
	font-size: 0.75rem;
	color: var(--santa-text-muted);
	margin: 0 0 4px;
}

.signature-font-elf {
	font-family: var(--santa-font-signature);
	color: var(--santa-green);
	font-size: 1.2rem;
	margin: 0;
}

.cert-seal {
	display: flex;
	align-items: center;
	justify-content: center;
}

.seal-inner {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	border: 3px dotted var(--santa-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	font-weight: 800;
	text-align: center;
	line-height: 1.3;
	color: var(--santa-gold-dark);
	text-transform: uppercase;
}

.cert-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 20px;
	flex-wrap: wrap;
}

/* PREMIUM Certificate */
.cert-premium {
	position: relative;
	background: linear-gradient(145deg, #1A0A2E, #2D1B69);
	color: #fff;
}

.premium-cert-bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 20% 80%, rgba(212, 175, 55, 0.1), transparent 50%),
		radial-gradient(ellipse at 80% 20%, rgba(185, 28, 28, 0.08), transparent 50%);
	pointer-events: none;
}

.premium-cert-inner {
	padding: 45px 50px;
	text-align: center;
	position: relative;
	z-index: 1;
}

.premium-cert-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-bottom: 25px;
}

.premium-cert-stars {
	color: var(--santa-gold);
	font-size: 1.2rem;
	letter-spacing: 8px;
}

.premium-holly-border {
	height: 2px;
	width: 200px;
	background: linear-gradient(90deg, transparent, var(--santa-gold), transparent);
}

.premium-cert-heading {
	font-family: var(--santa-font-decorative);
	font-size: 1.5rem;
	color: var(--santa-gold);
	margin: 0 0 6px;
}

.premium-cert-authority {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.85rem;
	margin: 0 0 5px;
}

.premium-cert-year {
	color: var(--santa-gold);
	font-weight: 700;
	margin: 0 0 15px;
}

.premium-cert-certifies-that {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.9rem;
	margin: 0 0 10px;
}

.premium-cert-child-name {
	font-family: var(--santa-font-signature);
	font-size: 2.2rem;
	color: #fff;
	margin: 0 0 15px;
	text-shadow: 0 0 20px rgba(212, 175, 55, 0.5);
}

.premium-cert-details {
	max-width: 400px;
	margin: 0 auto 30px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.9rem;
	line-height: 1.6;
	font-style: italic;
}

.premium-cert-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 20px;
	border-top: 1px solid rgba(212, 175, 55, 0.3);
}

.prem-sign-line {
	text-align: center;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.8rem;
}

.prem-signature {
	display: block;
	font-family: var(--santa-font-signature);
	color: var(--santa-gold);
	font-size: 1.2rem;
	margin-bottom: 4px;
}

.prem-gold-seal {
	width: 80px;
	height: 80px;
	background: radial-gradient(circle, var(--santa-gold), #B8860B);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.2rem;
	box-shadow: 0 0 25px rgba(212, 175, 55, 0.5);
}

.prem-gold-seal span {
	font-size: 0.55rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Mail CTA */
.nice-mail-cta {
	margin: 20px 0;
}

.mail-cta-card {
	background: linear-gradient(135deg, #1E3A5F, #0F2040);
	border-radius: var(--radius);
	padding: 35px;
	text-align: center;
	color: #fff;
}

.mail-cta-icon {
	font-size: 3rem;
	color: var(--santa-gold);
	margin-bottom: 15px;
	display: block;
}

.mail-cta-card h3 {
	color: var(--santa-gold);
	margin: 0 0 10px;
}

.mail-cta-card p {
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: 20px;
}

/* ============================================================
   STORY GENERATOR
   ============================================================ */
.story-design-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.story-design-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 12px 8px;
	border: 2px solid #E5E7EB;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: all 0.2s;
	background: #fff;
	text-align: center;
}

.story-design-label input[type="radio"] {
	display: none;
}

.story-design-label.selected,
.story-design-label:hover {
	border-color: var(--santa-red);
	background: var(--santa-red-light);
}

.story-design-label .design-icon {
	font-size: 1.4rem;
}

.story-design-label .design-name {
	font-size: 0.76rem;
	font-weight: 600;
}

/* Story book */
.santa-storybook-outer {
	border-radius: var(--radius-lg);
	overflow: hidden;
	position: relative;
}

.santa-storybook-inner {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	box-sizing: border-box !important;
	min-height: 500px;
	position: relative;
	border-radius: var(--radius-lg);
	overflow: hidden;
}

/* Story background designs */
.story-bg-snowforest {
	background: linear-gradient(135deg, #064e3b 0%, #047857 40%, #065f46 100%) !important;
	color: #f0fdf4 !important;
	box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.4);
	border: 3px double #34d399 !important;
}
.story-bg-snowforest .book-title {
	color: #fef08a !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}
.story-bg-snowforest .book-content-text,
.story-bg-snowforest .book-content-text h4,
.story-bg-snowforest .book-content-text p,
.story-bg-snowforest .book-content-text strong {
	color: #ecfdf5 !important;
}
.story-bg-snowforest .story-header-emblem,
.story-bg-snowforest .story-footer-container span {
	color: #fef08a !important;
}
.story-bg-snowforest .story-drop-cap {
	color: #fef08a !important;
}

.story-bg-parchment {
	background: radial-gradient(circle at center, #fffbeb 0%, #fef3c7 60%, #fde68a 100%) !important;
	color: #78350f !important;
	border: 3px double #b45309 !important;
	box-shadow: inset 0 0 35px rgba(180, 83, 9, 0.15);
}
.story-bg-parchment .book-title {
	color: #991b1b !important;
	text-shadow: none !important;
}
.story-bg-parchment .book-content-text,
.story-bg-parchment .book-content-text h4,
.story-bg-parchment .book-content-text p,
.story-bg-parchment .book-content-text strong {
	color: #451a03 !important;
}
.story-bg-parchment .story-header-emblem,
.story-bg-parchment .story-footer-container span {
	color: #991b1b !important;
}
.story-bg-parchment .story-drop-cap {
	color: #991b1b !important;
}

.story-bg-midnight {
	background: linear-gradient(135deg, #0b132b 0%, #1c2541 50%, #3a506b 100%) !important;
	color: #f1f5f9 !important;
	border: 3px double #38bdf8 !important;
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.6);
}
.story-bg-midnight .book-title {
	color: #7dd3fc !important;
	text-shadow: 0 0 12px rgba(56, 189, 248, 0.5);
}
.story-bg-midnight .book-content-text,
.story-bg-midnight .book-content-text h4,
.story-bg-midnight .book-content-text p,
.story-bg-midnight .book-content-text strong {
	color: #f8fafc !important;
}
.story-bg-midnight .story-header-emblem,
.story-bg-midnight .story-footer-container span {
	color: #7dd3fc !important;
}
.story-bg-midnight .story-drop-cap {
	color: #38bdf8 !important;
}

.story-bg-golden {
	background: linear-gradient(135deg, #78350f 0%, #451a03 50%, #78350f 100%) !important;
	color: #fef3c7 !important;
	border: 3px double #f59e0b !important;
	box-shadow: inset 0 0 45px rgba(0, 0, 0, 0.5), 0 0 20px rgba(245, 158, 11, 0.2);
}
.story-bg-golden .book-title {
	color: #fde047 !important;
	text-shadow: 0 2px 12px rgba(234, 179, 8, 0.4);
}
.story-bg-golden .book-content-text,
.story-bg-golden .book-content-text h4,
.story-bg-golden .book-content-text p,
.story-bg-golden .book-content-text strong {
	color: #fef9c3 !important;
}
.story-bg-golden .story-header-emblem,
.story-bg-golden .story-footer-container span {
	color: #fde047 !important;
}
.story-bg-golden .story-drop-cap {
	color: #fde047 !important;
}

.story-bg-cozynight {
	background: linear-gradient(135deg, #450a0a 0%, #7f1d1d 50%, #881337 100%) !important;
	color: #fff1f2 !important;
	border: 3px double #f59e0b !important;
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.6), 0 0 20px rgba(245, 158, 11, 0.25);
}
.story-bg-cozynight .book-title {
	color: #fef08a !important;
	text-shadow: 0 2px 12px rgba(251, 191, 36, 0.4);
}
.story-bg-cozynight .book-content-text,
.story-bg-cozynight .book-content-text h4,
.story-bg-cozynight .book-content-text p,
.story-bg-cozynight .book-content-text strong {
	color: #fff1f2 !important;
}
.story-bg-cozynight .story-header-emblem,
.story-bg-cozynight .story-footer-container span {
	color: #fef08a !important;
}
.story-bg-cozynight .story-drop-cap {
	color: #fef08a !important;
}

/* ============================================================
   AI LOADER BOX CONTRAST FIX FOR WHITE CARD BACKGROUND
   ============================================================ */
.santa-ai-loading-box,
.santa-ai-loading-box h4,
.santa-ai-loading-box h4.santa-loader-title,
.book-content-text .santa-ai-loading-box h4,
.story-bg-snowforest .book-content-text .santa-ai-loading-box h4,
.story-bg-midnight .book-content-text .santa-ai-loading-box h4,
.story-bg-golden .book-content-text .santa-ai-loading-box h4,
.story-bg-cozynight .book-content-text .santa-ai-loading-box h4,
.story-bg-parchment .book-content-text .santa-ai-loading-box h4 {
	color: #0f172a !important;
	text-shadow: none !important;
}

.santa-ai-loading-box p,
.santa-ai-loading-box p.santa-loader-subtitle,
.book-content-text .santa-ai-loading-box p,
.story-bg-snowforest .book-content-text .santa-ai-loading-box p,
.story-bg-midnight .book-content-text .santa-ai-loading-box p,
.story-bg-golden .book-content-text .santa-ai-loading-box p,
.story-bg-cozynight .book-content-text .santa-ai-loading-box p,
.story-bg-parchment .book-content-text .santa-ai-loading-box p {
	color: #334155 !important;
	text-shadow: none !important;
}

.book-spine {
	width: 20px;
	background: linear-gradient(180deg, var(--santa-red), var(--santa-red-dark));
	flex-shrink: 0;
	border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.book-pages-panel {
	flex: 1;
	padding: 40px 45px;
	position: relative;
	z-index: 1;
}

.book-header-decor {
	margin-bottom: 20px;
}

.book-star-border {
	text-align: center;
	font-size: 0.9rem;
	color: var(--santa-red);
	letter-spacing: 8px;
}

.book-title {
	font-family: var(--santa-font-decorative);
	font-size: 1.5rem;
	color: var(--santa-red-dark);
	text-align: center;
	margin: 0 0 25px;
}

.book-content-text {
	font-size: 0.97rem;
	line-height: 1.85;
	font-family: Georgia, serif;
}

.book-content-text p {
	margin: 0 0 15px;
}

.book-footer-decor {
	margin-top: 25px;
}

.book-footer-sig {
	text-align: center;
	font-size: 0.8rem;
	color: var(--santa-text-muted);
	font-style: italic;
	margin-top: 8px;
}

/* ============================================================
   EMAIL SIGNUP
   ============================================================ */
.santa-signup-card {
	background: linear-gradient(135deg, var(--santa-dark-bg), var(--santa-dark-card));
	border-radius: var(--radius-lg);
	padding: 45px 40px;
	text-align: center;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.santa-signup-card::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(ellipse at center, rgba(212, 175, 55, 0.06), transparent 60%);
	pointer-events: none;
}

.santa-signup-inner {
	position: relative;
	z-index: 1;
}

.signup-badges-festive {
	margin-bottom: 18px;
}

.ribbon-decor {
	background: linear-gradient(135deg, var(--santa-gold), #B8860B);
	color: #fff;
	padding: 6px 20px;
	border-radius: 50px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 1px;
}

.santa-signup-card h3 {
	font-family: var(--santa-font-decorative);
	font-size: 1.5rem;
	margin: 0 0 12px;
	color: var(--santa-gold);
}

.santa-signup-card p {
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 25px;
}

.santa-signup-card form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.santa-signup-card input {
	width: 100%;
	max-width: 420px;
	padding: 13px 20px;
	border: 2px solid rgba(255, 255, 255, 0.1);
	border-radius: 50px;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-family: var(--santa-font-body);
	font-size: 0.95rem;
	outline: none;
	transition: border-color 0.2s;
}

.santa-signup-card input::placeholder {
	color: rgba(255, 255, 255, 0.45);
}

.santa-signup-card input:focus {
	border-color: var(--santa-gold);
}

.sub-desc {
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.4);
	margin-top: 8px;
}

/* ============================================================
   DOWNLOADS HUB
   ============================================================ */
.santa-downloads-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.santa-download-item {
	background: linear-gradient(145deg, #fff, #fafaf0);
	border: 1.5px solid var(--santa-border);
	border-radius: var(--radius);
	padding: 28px 22px;
	text-align: center;
	position: relative;
	transition: all 0.25s;
}

.santa-download-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 25px var(--santa-shadow);
	border-color: var(--santa-gold);
}

.santa-download-item.download-paid {
	border-color: var(--santa-gold);
	background: linear-gradient(145deg, #fffdf0, #fff8e0);
}

.dl-badge {
	position: absolute;
	top: 12px;
	right: 12px;
}

.dl-free-badge {
	background: #22C55E;
	color: #fff;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 0.7rem;
	font-weight: 800;
}

.dl-paid-badge {
	background: var(--santa-gold);
	color: #fff;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 0.7rem;
	font-weight: 800;
}

.dl-icon {
	font-size: 2.5rem;
	color: var(--santa-red);
	margin-bottom: 14px;
}

.santa-download-item h4 {
	font-size: 0.95rem;
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--santa-text);
}

.santa-download-item p {
	font-size: 0.82rem;
	color: var(--santa-text-muted);
	margin: 0 0 18px;
	line-height: 1.5;
}

/* ============================================================
   GIFT CATALOG CARDS
   ============================================================ */
.santa-catalogue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.santa-catalog-card {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: var(--radius);
	overflow: hidden;
	transition: all 0.2s;
}

.santa-catalog-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

.catalog-card-details {
	padding: 22px 20px;
}

.price-badge {
	display: inline-block;
	background: var(--santa-red);
	color: #fff;
	padding: 4px 12px;
	border-radius: 50px;
	font-size: 0.85rem;
	font-weight: 700;
	margin-bottom: 12px;
}

.catalog-card-details h4 {
	font-size: 0.95rem;
	margin: 0 0 8px;
}

.catalog-card-details p {
	font-size: 0.82rem;
	color: var(--santa-text-muted);
	margin: 0 0 16px;
	line-height: 1.5;
}

.buy-aff-btn {
	background: linear-gradient(135deg, #FF9900, #E07B00);
	color: #fff;
	padding: 8px 16px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 0.82rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s;
}

.buy-aff-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(255, 153, 0, 0.3);
}

.gift-results-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.gift-results-header h3 {
	margin: 0;
	font-family: var(--santa-font-decorative);
}

.gift-empty-state {
	grid-column: 1 / -1;
	text-align: center;
	padding: 50px 20px;
	color: var(--santa-text-muted);
}

.gift-empty-state i {
	font-size: 2.5rem;
	margin-bottom: 12px;
	display: block;
	color: var(--santa-gold);
}

/* ============================================================
   MEMBERSHIP PORTAL
   ============================================================ */
.santa-membership-info-box {
	display: flex;
	gap: 25px;
	align-items: center;
	background: linear-gradient(135deg, #FFF8F0, #FFF);
	border: 1px solid var(--santa-border);
	border-radius: var(--radius);
	padding: 22px 25px;
	margin-bottom: 22px;
}

.mem-details p {
	margin: 0 0 8px;
	font-size: 0.92rem;
}

.mem-details p:last-child {
	margin-bottom: 0;
}

.mem-badge-art {
	font-size: 3rem;
	color: var(--santa-gold);
	flex-shrink: 0;
}

/* History */
.mem-history-section {
	margin-top: 25px;
}

.mem-history-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 15px;
}

.mem-history-tab {
	padding: 8px 18px;
	border: 1.5px solid #E5E7EB;
	border-radius: 50px;
	background: #F1F5F9;
	cursor: pointer;
	font-family: var(--santa-font-body);
	font-size: 0.88rem;
	font-weight: 600;
	transition: all 0.2s;
}

.mem-history-tab.active {
	background: var(--santa-red);
	color: #fff;
	border-color: var(--santa-red);
}

.history-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.history-entry {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 15px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: var(--radius-sm);
}

.history-entry-icon {
	font-size: 1.3rem;
	color: var(--santa-red);
	flex-shrink: 0;
}

.history-entry-details {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.history-entry-details strong {
	font-size: 0.92rem;
}

.history-entry-details span {
	font-size: 0.8rem;
	color: var(--santa-text-muted);
}

.history-entry-details small {
	font-size: 0.75rem;
	color: #94A3B8;
}

.history-entry-badge {
	font-size: 0.72rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 20px;
	flex-shrink: 0;
}

.badge-free {
	background: #DCFCE7;
	color: #15803D;
}

.badge-premium {
	background: var(--santa-gold-light);
	color: var(--santa-gold-dark);
}

.badge-mail {
	background: #DBEAFE;
	color: #1D4ED8;
}

.history-empty {
	text-align: center;
	padding: 20px;
	color: var(--santa-text-muted);
	font-size: 0.88rem;
}

.history-empty a {
	color: var(--santa-red);
	font-weight: 600;
	text-decoration: none;
}

/* Upgrade card */
.premium-upgrade-card {
	background: linear-gradient(135deg, #1A0A2E, #2D1B69);
	color: #fff;
	border-radius: var(--radius);
	padding: 28px 30px;
	margin-top: 20px;
}

.premium-upgrade-card h4 {
	color: var(--santa-gold);
	margin: 0 0 15px;
	font-size: 1.1rem;
}

.premium-upgrade-card i {
	margin-right: 6px;
}

.premium-benefits-list {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.premium-benefits-list li {
	font-size: 0.88rem;
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(255, 255, 255, 0.85);
}

.premium-benefits-list .fa-check {
	color: var(--santa-gold);
}

/* Membership plans preview */
.mem-plans-preview {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-bottom: 25px;
}

.mem-plan-card {
	border: 1.5px solid #E5E7EB;
	border-radius: var(--radius);
	padding: 20px;
	text-align: center;
	position: relative;
}

.mem-plan-premium {
	border-color: var(--santa-gold);
	background: linear-gradient(135deg, #fffdf0, #fff);
}

.mem-plan-badge {
	position: absolute;
	top: -10px;
	right: 15px;
	background: var(--santa-gold);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
	padding: 3px 10px;
	border-radius: 20px;
}

.mem-plan-icon {
	font-size: 2rem;
	margin-bottom: 8px;
	display: block;
}

.mem-plan-card h4 {
	margin: 0 0 12px;
	font-size: 1rem;
}

.mem-plan-card ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: left;
}

.mem-plan-card li {
	font-size: 0.82rem;
	padding: 4px 0;
	display: flex;
	align-items: center;
	gap: 6px;
}

.mem-plan-card .fa-check {
	color: var(--santa-green);
}

.santa-membership-tabs-nav {
	display: flex;
	justify-content: center;
	gap: 20px;
	border-bottom: 2px solid #E2E8F0;
	margin-bottom: 28px;
	font-weight: 700;
}

.mem-tab {
	padding: 8px 20px;
	cursor: pointer;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s;
	font-size: 0.95rem;
}

.mem-tab.active {
	border-bottom-color: var(--santa-red);
	color: var(--santa-red);
}

.mem-tab:hover {
	color: var(--santa-red);
}

/* Status badges */
.santa-status-badge {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 20px;
	font-size: 0.78rem;
	font-weight: 700;
}

.status-nice {
	background: var(--santa-green-light);
	color: var(--santa-green);
}

.status-naughty {
	background: #FEE2E2;
	color: var(--santa-red);
}

.status-gold {
	background: var(--santa-gold-light);
	color: var(--santa-gold-dark);
}

/* ============================================================
   LOCKED SCREEN
   ============================================================ */
.santa-locked-card {
	background: linear-gradient(135deg, var(--santa-dark-bg), var(--santa-dark-card));
	border-radius: var(--radius-lg);
	padding: 60px 40px;
	text-align: center;
	color: #fff;
}

.santa-locked-inner h2 {
	color: var(--santa-gold);
	font-family: var(--santa-font-decorative);
	margin-bottom: 15px;
}

.santa-locked-inner p {
	color: rgba(255, 255, 255, 0.75);
	margin-bottom: 25px;
}

.santa-lock-icon {
	margin-bottom: 20px;
}

.santa-lock-icon i {
	font-size: 3rem;
}

.santa-gold-glow {
	color: var(--santa-gold);
	filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.7));
	animation: goldPulse 2s ease-in-out infinite;
}

@keyframes goldPulse {

	0%,
	100% {
		filter: drop-shadow(0 0 8px rgba(212, 175, 55, 0.7));
	}

	50% {
		filter: drop-shadow(0 0 15px rgba(212, 175, 55, 1));
	}
}

/* ============================================================
   BLOG FEED
   ============================================================ */
.santa-blog-header {
	text-align: center;
	margin-bottom: 35px;
}

.santa-blog-header h2 {
	font-family: var(--santa-font-decorative);
	font-size: 1.6rem;
	color: var(--santa-red-dark);
	margin: 0 0 8px;
}

.santa-blog-header p {
	color: var(--santa-text-muted);
}

.santa-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.santa-blog-card {
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
	background: #fff;
	transition: transform 0.25s;
}

.santa-blog-card:hover {
	transform: translateY(-4px);
}

.blog-card-img {
	height: 180px;
	background-size: cover;
	background-position: center;
	position: relative;
}

.blog-card-date {
	position: absolute;
	top: 12px;
	right: 12px;
	background: var(--santa-red);
	color: #fff;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 700;
}

.blog-card-details {
	padding: 20px;
}

.blog-card-details h3 {
	font-size: 0.95rem;
	margin: 0 0 8px;
	line-height: 1.4;
}

.blog-card-details h3 a {
	color: var(--santa-text);
	text-decoration: none;
}

.blog-card-details h3 a:hover {
	color: var(--santa-red);
}

.blog-card-details p {
	font-size: 0.82rem;
	color: var(--santa-text-muted);
	margin: 0 0 14px;
	line-height: 1.5;
}

.blog-read-more {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--santa-red);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: gap 0.2s;
}

.blog-read-more:hover {
	gap: 8px;
}

/* ============================================================
   PRINT MEDIA QUERY
   ============================================================ */
@media print {

	.no-print,
	.santa-steps-indicator,
	.santa-actions,
	.santa-form-card:not(#letter-form-wrapper ~ *),
	#letter-form-wrapper,
	#letter-loading-view,
	#story-form-card-view,
	#story-generating-loading,
	#letter-action-buttons,
	#letter-delivery-cta,
	.cert-buttons,
	.cert-chooser,
	#story-action-btns,
	.santa-letter-buttons {
		display: none !important;
	}

	body {
		background: #fff;
	}

	.santa-parchment-inner,
	.santa-certificate-printable,
	.santa-storybook-inner {
		box-shadow: none !important;
		border-radius: 0 !important;
	}

	.printable-paper {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 680px) {
	.santa-form-card {
		padding: 25px 20px;
	}

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

	.santa-col-6 {
		flex: 1 1 100%;
		min-width: unset;
	}

	.design-styles-grid,
	.story-design-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.santa-delivery-grid {
		grid-template-columns: 1fr;
	}

	.mem-plans-preview {
		grid-template-columns: 1fr;
	}

	.santa-parchment-inner {
		padding: 25px 20px;
	}

	.santa-checkbox-grid {
		grid-template-columns: 1fr;
	}

	.premium-benefits-list {
		grid-template-columns: 1fr;
	}

	.cert-footer,
	.premium-cert-footer {
		flex-direction: column;
		gap: 20px;
	}
}

/* ============================================================
   REAL-TIME LIVE PREVIEW & SPLIT VIEW LAYOUT
   ============================================================ */


@media (max-width: 960px) {
	.santa-split-container {
		grid-template-columns: 1fr;
	}
}

.santa-live-preview-card {
	position: sticky;
	top: 30px;
	background: var(--santa-cream);
	border: 2px solid var(--santa-gold);
	border-radius: var(--radius-lg);
	padding: 20px;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
	z-index: 5;
}

.live-preview-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 12px;
	margin-bottom: 15px;
	border-bottom: 1px dashed var(--santa-border);
	font-weight: 700;
	font-size: 0.85rem;
	color: var(--santa-red-dark);
}

.live-preview-status {
	font-size: 0.75rem;
	color: var(--santa-text-muted);
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

/* Free / Premium Badges on Options */
.item-badge-badge {
	margin-left: auto;
	font-size: 0.68rem;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 20px;
}

.badge-free {
	background: #DCFCE7 !important;
	color: #15803D !important;
	border: 1px solid #86EFAC !important;
}

.badge-premium {
	background: #FEF9C3 !important;
	color: #854D0E !important;
	border: 1px solid #FDE047 !important;
}

/* Nice Score Meter */
.nice-score-circle {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: radial-gradient(circle, #FFF 0%, #FEF3C7 100%);
	border: 4px solid var(--santa-gold);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
	animation: popIn 0.5s ease-out;
}

.nice-score-number {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--santa-red-dark);
	line-height: 1;
}

.nice-score-label {
	font-size: 0.65rem;
	font-weight: 700;
	color: var(--santa-gold-dark);
	letter-spacing: 0.5px;
}

/* ============================================================
   UNIVERSAL PUBLIC TOAST NOTIFICATIONS
   ============================================================ */
#santa-toast-container {
	position: fixed;
	top: 25px;
	right: 25px;
	z-index: 999999;
	display: flex;
	flex-direction: column;
	gap: 10px;
	pointer-events: none;
}

.santa-toast {
	pointer-events: auto;
	min-width: 280px;
	max-width: 400px;
	background: #ffffff;
	border-radius: 12px;
	padding: 14px 18px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #1e293b !important;
	border: 1px solid #E2E8F0;
	animation: toastSlideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes toastSlideIn {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.95);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.santa-toast.toast-success {
	border-left: 4px solid #22C55E;
}

.santa-toast.toast-success i {
	color: #22C55E;
}

.santa-toast.toast-error {
	border-left: 4px solid #EF4444;
}

.santa-toast.toast-error i {
	color: #EF4444;
}

.santa-toast.toast-warning {
	border-left: 4px solid #EAB308;
}

.santa-toast.toast-warning i {
	color: #EAB308;
}

.santa-toast.toast-info {
	border-left: 4px solid #3B82F6;
}

.santa-toast.toast-info i {
	color: #3B82F6;
}

/* ============================================================
   MODALS (FIREBASE AUTH & STRIPE CHECKOUT)
   ============================================================ */
.santa-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(11, 19, 43, 0.75);
	backdrop-filter: blur(8px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.santa-modal-card {
	background: #ffffff;
	border-radius: var(--radius-lg);
	padding: 35px;
	max-width: 480px;
	width: 100%;
	position: relative;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
	animation: modalZoomIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalZoomIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.santa-modal-close {
	position: absolute;
	top: 18px;
	right: 18px;
	background: none;
	border: none;
	font-size: 1.2rem;
	cursor: pointer;
	color: var(--santa-text-muted);
}

.santa-modal-header {
	text-align: center;
	margin-bottom: 24px;
}

.modal-santa-icon i {
	font-size: 2.5rem;
	margin-bottom: 10px;
}

.santa-btn-google {
	background: #ffffff;
	color: #374151 !important;
	border: 1.5px solid #E5E7EB;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
	width: 100%;
}

.santa-auth-divider {
	text-align: center;
	margin: 18px 0;
	position: relative;
}

.santa-auth-divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: #E2E8F0;
}

.santa-auth-divider span {
	position: relative;
	background: #fff;
	padding: 0 12px;
	font-size: 0.72rem;
	color: var(--santa-text-muted);
	font-weight: 700;
}

.pass-strength-meter {
	height: 4px;
	background: #E2E8F0;
	border-radius: 4px;
	margin-top: 6px;
	overflow: hidden;
}

.pass-strength-bar {
	height: 100%;
	width: 0%;
	background: #EF4444;
	transition: width 0.3s ease, background-color 0.3s ease;
}

.santa-pricing-switch-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	margin-top: 20px;
}

.pricing-plan-box {
	border: 2px solid #E2E8F0;
	border-radius: 12px;
	padding: 16px;
	text-align: center;
	cursor: pointer;
	position: relative;
	transition: all 0.2s ease;
}

.pricing-plan-box.selected {
	border-color: var(--santa-gold);
	background: #FFFDE7;
}

.plan-badge-disc {
	position: absolute;
	top: -10px;
	right: 10px;
	background: var(--santa-red);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 800;
	padding: 2px 8px;
	border-radius: 20px;
}

.email-suggestions-list {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-top: 6px;
}

.email-suggest-chip {
	font-size: 0.75rem;
	background: #F1F5F9;
	color: var(--santa-text);
	padding: 3px 8px;
	border-radius: 12px;
	cursor: pointer;
	border: 1px solid #CBD5E1;
}

.email-suggest-chip:hover {
	background: var(--santa-red);
	color: #fff;
}

/* High visibility form labels across public frontend shortcodes */
.santa-suite-wrapper label,
.santa-form-card label,
.santa-accordion-card label,
.santa-row label,
#santa-story-app label,
#santa-letter-app label {
	color: #1e293b !important;
	font-weight: 700 !important;
	font-size: 0.88rem !important;
	margin-bottom: 6px !important;
	display: block !important;
}

/* Letter Generator Color Themes Live Preview */
.santa-parchment-inner.letter-theme-red {
	background: radial-gradient(circle at center, #ffffff 0%, #fff5f5 100%) !important;
	border: 3px double #dc2626 !important;
}
.santa-parchment-inner.letter-theme-green {
	background: radial-gradient(circle at center, #ffffff 0%, #f0fdf4 100%) !important;
	border: 3px double #059669 !important;
}
.santa-parchment-inner.letter-theme-gold {
	background: radial-gradient(circle at center, #ffffff 0%, #fef3c7 100%) !important;
	border: 3px double #d97706 !important;
}
.santa-parchment-inner.letter-theme-blue {
	background: radial-gradient(circle at center, #ffffff 0%, #f0f9ff 100%) !important;
	border: 3px double #0284c7 !important;
}
.santa-parchment-inner.letter-theme-cozy {
	background: radial-gradient(circle at center, #ffffff 0%, #fffbeb 100%) !important;
	border: 3px double #b45309 !important;
}

@keyframes santaLoaderProgress {
	0% { transform: translateX(-100%); }
	50% { transform: translateX(0%); }
	100% { transform: translateX(100%); }
}

/* ============================================================
   SCREENSHOT DESIGN MATCHING & REAL-TIME PREVIEW ACTION BAR
   ============================================================ */

/* Top Action Bar above Preview */
.santa-preview-top-actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 20px;
	padding: 12px 18px;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid var(--santa-border);
	border-radius: var(--radius);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.santa-act-btn {
	font-family: var(--santa-font-body);
	font-size: 0.82rem;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
	text-decoration: none;
}

.santa-act-edit {
	background: #E6F4EA;
	color: #137333;
	border: 1px solid #CEEAD6;
}

.santa-act-regen {
	background: #00875A;
	color: #ffffff;
}

.santa-act-fav {
	background: #FCE8E6;
	color: #C5221F;
	border: 1px solid #FAD2CF;
}

.santa-act-copy {
	background: #1E293B;
	color: #ffffff;
}

.santa-act-print {
	background: #0284C7;
	color: #ffffff;
}

.santa-act-pdf {
	background: #059669;
	color: #ffffff;
}

.santa-act-email {
	background: #DC2626;
	color: #ffffff;
}

.santa-act-btn:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

/* Template Cards Grid */
.santa-template-cards-grid,
.santa-color-theme-cards,
.santa-font-cards-grid,
.santa-layout-cards-grid,
.santa-element-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 12px;
	margin-top: 10px;
}

.santa-card-option {
	background: #FFFFFF !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 15px 14px !important;
	cursor: pointer;
	text-align: left;
	position: relative;
	overflow: hidden;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
}

.santa-card-option:hover {
	border-color: #FCA5A5 !important;
	background: #FFFDFD !important;
	transform: translateY(-3px) !important;
	box-shadow: 0 10px 22px rgba(220, 38, 38, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

.santa-card-option.selected {
	border-color: #DC2626 !important;
	background: linear-gradient(145deg, #FFF5F5 0%, #FEF2F2 100%) !important;
	box-shadow: 0 8px 20px rgba(220, 38, 38, 0.18), inset 0 0 0 1px rgba(220, 38, 38, 0.2) !important;
	transform: translateY(-2px) !important;
}

.santa-card-option h5 {
	margin: 2px 0 3px !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	line-height: 1.3 !important;
	transition: color 0.2s ease !important;
}

.santa-card-option.selected h5 {
	color: #991B1B !important;
}

.santa-card-option.selected h5::after {
	content: " ✓" !important;
	font-weight: 800 !important;
	color: #DC2626 !important;
	display: inline-block !important;
	font-size: 0.95rem !important;
}

.santa-card-option p {
	margin: 0 !important;
	font-size: 0.74rem !important;
	color: #64748B !important;
	line-height: 1.35 !important;
	font-weight: 400 !important;
}

.santa-card-option .opt-badge {
	font-size: 0.62rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.4px !important;
	text-transform: uppercase !important;
	padding: 3px 9px !important;
	border-radius: 99px !important;
	display: inline-block !important;
	margin-bottom: 6px !important;
}

.badge-popular {
	background: #FEE2E2 !important;
	color: #DC2626 !important;
}

.badge-official {
	background: #E0E7FF !important;
	color: #4F46E5 !important;
}

.badge-fun {
	background: #FCE7F3 !important;
	color: #DB2777 !important;
}

.badge-wintry {
	background: #E0F2FE !important;
	color: #0284C7 !important;
}

.badge-nostalgic {
	background: #FEF3C7 !important;
	color: #D97706 !important;
}

/* Font Size Switcher */
.font-size-switcher {
	display: inline-flex;
	gap: 4px;
	background: #F1F5F9;
	padding: 4px;
	border-radius: 8px;
	margin-left: auto;
}

.size-btn {
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 700;
	cursor: pointer;
	border: none;
	background: transparent;
	color: #64748B;
}

.size-btn.active {
	background: #DC2626;
	color: #ffffff;
}

/* Drop-cap Ho */
.letter-drop-cap {
	background: #DC2626;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: 800;
	padding: 2px 10px;
	border-radius: 6px;
	display: inline-block;
	margin-right: 6px;
	font-family: serif;
}

/* Header Workshop Banner inside Parchment */
.santa-workshop-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom: 15px;
	border-bottom: 1px dashed rgba(212, 175, 55, 0.4);
	margin-bottom: 15px;
}

.workshop-title-group h3 {
	margin: 0;
	font-family: var(--santa-font-decorative);
	font-size: 1.1rem;
	color: var(--santa-red-dark);
}

.workshop-title-group p {
	margin: 2px 0 0;
	font-size: 0.75rem;
	color: #64748B;
	font-style: italic;
}

.workshop-stamps-group {
	display: flex;
	gap: 8px;
	align-items: center;
}

.stamp-north-pole-red {
	border: 2px dashed #DC2626;
	color: #DC2626;
	padding: 4px 8px;
	border-radius: 8px;
	font-size: 0.65rem;
	font-weight: 800;
	text-align: center;
	transform: rotate(-3deg);
}

.stamp-elf-passed-gold {
	background: radial-gradient(circle, #FDE047 0%, #D97706 100%);
	color: #78350F;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-size: 0.55rem;
	font-weight: 900;
	box-shadow: 0 2px 6px rgba(217, 119, 6, 0.4);
	transform: rotate(5deg);
}

/* Evidence Kit & Elf Report Cards */
.santa-evidence-card,
.santa-elf-report-card {
	background: #ffffff;
	border: 2px solid var(--santa-gold);
	border-radius: var(--radius-lg);
	padding: 30px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.santa-license-card {
	background: linear-gradient(135deg, #1E293B, #0F172A);
	color: #ffffff;
	border-radius: 16px;
	padding: 24px;
	border: 2px solid var(--santa-gold);
	max-width: 420px;
	margin: 0 auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* ============================================================
   INTERACTIVE QUESTIONNAIRE & LEDGER SCANNING STYLES (LIGHT FESTIVE THEME)
   ============================================================ */

/* Outer App Light Festive Background */
/* Outer App Light Festive Background & Dark Overlay Suppression */
#santa-nice-checker-app,
.santa-suite-wrapper#santa-nice-checker-app,
div#santa-nice-checker-app.santa-suite-wrapper {
	background: linear-gradient(135deg, #FFFDF5 0%, #FEF9C3 35%, #FFF7ED 70%, #FEF2F2 100%) !important;
	border: 2.5px solid #FCD34D !important;
	box-shadow: 0 15px 45px rgba(245, 158, 11, 0.15) !important;
}

div#santa-nice-checker-app.santa-suite-wrapper::before,
#santa-nice-checker-app::before {
	display: none !important;
	background: none !important;
}

#santa-nice-checker-app .santa-form-card {
	background: #FFFFFF !important;
	color: #0F172A !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 24px !important;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.05) !important;
}

/* Visually Appealing Quiz Option Cards for Kids & Teens (Up to 17 y/o) */
div#santa-nice-checker-app .quiz-opt-card,
.quiz-opt-card {
	background: #FFFFFF !important;
	border: 2px solid #E2E8F0 !important;
	border-radius: 16px !important;
	padding: 16px 22px !important;
	color: #0F172A !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
	position: relative !important;
	overflow: hidden !important;
}

div#santa-nice-checker-app .quiz-opt-card .opt-text,
.quiz-opt-card .opt-text,
.quiz-opt-card span {
	color: #0F172A !important;
	font-weight: 700 !important;
}

div#santa-nice-checker-app .quiz-opt-card .opt-arrow-btn,
.quiz-opt-card .opt-arrow-btn {
	color: #64748B !important;
	background: #F1F5F9 !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	aspect-ratio: 1 / 1 !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.25s ease !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
}

div#santa-nice-checker-app .quiz-opt-card .opt-arrow-btn i,
.quiz-opt-card .opt-arrow-btn i {
	background: transparent !important;
	border-radius: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	font-size: 0.9rem !important;
	color: inherit !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

div#santa-nice-checker-app .quiz-opt-card:hover,
.quiz-opt-card:hover {
	background: linear-gradient(135deg, #FFFBEB 0%, #FEF2F2 100%) !important;
	border-color: #EF4444 !important;
	transform: translateY(-3px) scale(1.01) !important;
	box-shadow: 0 12px 28px rgba(239, 68, 68, 0.18) !important;
}

div#santa-nice-checker-app .quiz-opt-card:hover .opt-text,
.quiz-opt-card:hover .opt-text,
.quiz-opt-card:hover span {
	color: #991B1B !important;
}

div#santa-nice-checker-app .quiz-opt-card:hover .opt-arrow-btn,
.quiz-opt-card:hover .opt-arrow-btn {
	color: #FFFFFF !important;
	background: #EF4444 !important;
	transform: translateX(4px) scale(1.1) !important;
	box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4) !important;
	border-radius: 50% !important;
}

div#santa-nice-checker-app .quiz-opt-card:active,
.quiz-opt-card:active {
	transform: translateY(-1px) scale(0.99) !important;
}

/* Scanning Ledger Pulse Glow (Screenshot 2 Match) */
@keyframes pulseGlow {
	0% {
		box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
	}

	70% {
		box-shadow: 0 0 0 20px rgba(239, 68, 68, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
	}
}

.opt-emoji-badge {
	border: 1.5px solid rgba(0, 0, 0, 0.08) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

/* 8 Certificate Styles (Screenshot 3 Match) */
/* Certificate Styles Scroll List Options (Visually Appealing & High Contrast) */
.cert-styles-scroll-list {
	padding: 8px 18px 8px 6px !important;
	overflow-x: hidden !important;
	box-sizing: border-box !important;
}

.cert-styles-scroll-list .santa-card-option {
	background: #FFFFFF !important;
	border: 1.5px solid #E2E8F0 !important;
	border-radius: 14px !important;
	padding: 12px 14px !important;
	margin-bottom: 8px !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
	min-height: 58px !important;
	height: auto !important;
	box-sizing: border-box !important;
	width: calc(100% - 2px) !important;
	overflow: visible !important;
}

.cert-styles-scroll-list .santa-card-option:hover {
	border-color: #F59E0B !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(245, 158, 11, 0.18) !important;
}

.cert-styles-scroll-list .santa-card-option.selected {
	border: 2px solid #DC2626 !important;
	box-shadow: 0 6px 18px rgba(220, 38, 38, 0.16) !important;
}

.cert-styles-scroll-list .santa-card-option h5 {
	font-family: var(--santa-font-body) !important;
	font-size: 0.85rem !important;
	font-weight: 700 !important;
	color: #0F172A !important;
	margin: 0 0 2px 0 !important;
	line-height: 1.3 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
}

.cert-styles-scroll-list .santa-card-option.selected h5::after {
	content: none !important;
}

.cert-styles-scroll-list .santa-card-option p {
	font-size: 0.75rem !important;
	color: #64748B !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	font-weight: 500 !important;
}

.cert-styles-scroll-list .badge-premium-tag {
	background: linear-gradient(135deg, #F59E0B, #D97706) !important;
	color: #FFFFFF !important;
	font-size: 0.62rem !important;
	padding: 2px 7px !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.4px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	box-shadow: 0 2px 6px rgba(217, 119, 6, 0.25) !important;
	vertical-align: middle !important;
}

.cert-styles-scroll-list .badge-free-tag {
	background: #DCFCE7 !important;
	color: #15803D !important;
	font-size: 0.62rem !important;
	padding: 2px 7px !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.4px !important;
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
}

/* 8 Certificate Styles (Ultra-Premium Visual Themes & Distinct Designs) */
.cert-style-scroll {
	border: 7px double #D97706 !important;
	outline: none !important;
	background: linear-gradient(135deg, #FFFDF5 0%, #FEF3C7 50%, #FDE68A 100%) !important;
	box-shadow: 0 18px 45px rgba(217, 119, 6, 0.22) !important;
}
.cert-style-scroll .cert-executive-decree { color: #92400E !important; }
.cert-style-scroll .cert-main-head { color: #78350F !important; }
.cert-style-scroll .cert-recipient-name { color: #991B1B !important; }
.cert-style-scroll .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #FFF066 0%, #F59E0B 60%, #B45309 100%) !important; color: #78350F !important; border-color: #FEF08A !important; }
.cert-style-scroll .cert-audit-box { background: rgba(255, 255, 255, 0.75) !important; border-color: rgba(217, 119, 6, 0.4) !important; }

.cert-style-grand {
	border: 7px solid #059669 !important;
	outline: 2px dashed #34D399 !important;
	outline-offset: -10px !important;
	background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 50%, #A7F3D0 100%) !important;
	box-shadow: 0 18px 45px rgba(5, 150, 105, 0.22) !important;
}
.cert-style-grand .cert-executive-decree { color: #047857 !important; }
.cert-style-grand .cert-main-head { color: #065F46 !important; }
.cert-style-grand .cert-bestowed-subtitle { color: #047857 !important; }
.cert-style-grand .cert-recipient-name { color: #047857 !important; }
.cert-style-grand .cert-recipient-location { color: #065F46 !important; }
.cert-style-grand .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #A7F3D0 0%, #059669 60%, #064E3B 100%) !important; color: #FFFFFF !important; border-color: #A7F3D0 !important; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45) !important; }
.cert-style-grand .cert-audit-box { background: rgba(236, 253, 245, 0.88) !important; border-color: #059669 !important; }

.cert-style-sleigh {
	border: 7px solid #DC2626 !important;
	outline: 2px solid #F59E0B !important;
	outline-offset: -9px !important;
	background: linear-gradient(135deg, #FFF5F5 0%, #FEE2E2 50%, #FEF3C7 100%) !important;
	box-shadow: 0 18px 45px rgba(220, 38, 38, 0.22) !important;
}
.cert-style-sleigh .cert-executive-decree { color: #991B1B !important; }
.cert-style-sleigh .cert-main-head { color: #991B1B !important; }
.cert-style-sleigh .cert-bestowed-subtitle { color: #B91C1C !important; }
.cert-style-sleigh .cert-recipient-name { color: #B91C1C !important; }
.cert-style-sleigh .cert-recipient-location { color: #991B1B !important; }
.cert-style-sleigh .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #FCA5A5 0%, #DC2626 60%, #881337 100%) !important; color: #FFFFFF !important; border-color: #FECDD3 !important; box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45) !important; }
.cert-style-sleigh .cert-audit-box { background: rgba(254, 242, 242, 0.88) !important; border-color: #DC2626 !important; }

.cert-style-elf {
	border: 7px solid #16A34A !important;
	outline: 2px dotted #84CC16 !important;
	outline-offset: -9px !important;
	background: linear-gradient(135deg, #F7FEE7 0%, #ECFDF5 50%, #D1FAE5 100%) !important;
	box-shadow: 0 18px 45px rgba(22, 163, 74, 0.22) !important;
}
.cert-style-elf .cert-executive-decree { color: #14532D !important; }
.cert-style-elf .cert-main-head { color: #14532D !important; }
.cert-style-elf .cert-bestowed-subtitle { color: #15803D !important; }
.cert-style-elf .cert-recipient-name { color: #15803D !important; }
.cert-style-elf .cert-recipient-location { color: #14532D !important; }
.cert-style-elf .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #BEF264 0%, #16A34A 60%, #14532D 100%) !important; color: #FFFFFF !important; border-color: #D9F99D !important; box-shadow: 0 6px 20px rgba(22, 163, 74, 0.45) !important; }
.cert-style-elf .cert-audit-box { background: rgba(247, 254, 231, 0.88) !important; border-color: #16A34A !important; }

.cert-style-citation {
	border: 7px solid #7C3AED !important;
	outline: 2px dashed #C4B5FD !important;
	outline-offset: -9px !important;
	background: linear-gradient(135deg, #FAF5FF 0%, #F3E8FF 50%, #DDD6FE 100%) !important;
	box-shadow: 0 18px 45px rgba(124, 58, 237, 0.22) !important;
}
.cert-style-citation .cert-executive-decree { color: #5B21B6 !important; }
.cert-style-citation .cert-main-head { color: #5B21B6 !important; }
.cert-style-citation .cert-bestowed-subtitle { color: #6D28D9 !important; }
.cert-style-citation .cert-recipient-name { color: #6D28D9 !important; }
.cert-style-citation .cert-recipient-location { color: #5B21B6 !important; }
.cert-style-citation .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #DDD6FE 0%, #7C3AED 60%, #4C1D95 100%) !important; color: #FFFFFF !important; border-color: #DDD6FE !important; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45) !important; }
.cert-style-citation .cert-audit-box { background: rgba(245, 243, 255, 0.88) !important; border-color: #7C3AED !important; }

/* PRO STYLE 1: Golden Star Executive Decree (Ultra-Luxe 24K Gold Foil Theme) */
.cert-style-decree {
	border: 8px solid #F59E0B !important;
	outline: 3px double #FEF08A !important;
	outline-offset: -12px !important;
	background: linear-gradient(135deg, #FFFDF0 0%, #FEF08A 30%, #F59E0B 75%, #B45309 100%) !important;
	box-shadow: 0 25px 60px rgba(245, 158, 11, 0.45), inset 0 0 40px rgba(255, 255, 255, 0.6) !important;
}
.cert-style-decree .cert-executive-decree { color: #78350F !important; text-shadow: 0 1px 3px rgba(254, 240, 138, 0.9) !important; font-weight: 900 !important; }
.cert-style-decree .cert-main-head { color: #78350F !important; text-shadow: 0 2px 8px rgba(254, 240, 138, 0.9), 0 0 15px rgba(245, 158, 11, 0.5) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; font-variant-ligatures: none !important; }
.cert-style-decree .cert-bestowed-subtitle { color: #92400E !important; font-weight: 700 !important; }
.cert-style-decree .cert-recipient-name { color: #92400E !important; text-shadow: 0 3px 10px rgba(146, 64, 14, 0.3) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; }
.cert-style-decree .cert-recipient-location { color: #78350F !important; font-weight: 700 !important; }
.cert-style-decree .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #FFFFFF 0%, #FFF066 30%, #F59E0B 70%, #78350F 100%) !important; color: #78350F !important; border: 3px solid #FFF066 !important; box-shadow: 0 0 30px rgba(245, 158, 11, 0.8), inset 0 3px 6px #FFFFFF !important; font-size: 2.2rem !important; }
.cert-style-decree .cert-audit-box { background: rgba(255, 253, 240, 0.92) !important; border: 2px solid #F59E0B !important; box-shadow: 0 6px 20px rgba(245, 158, 11, 0.25) !important; }
.cert-style-decree .cert-official-wax-seal { background: radial-gradient(circle at 35% 30%, #F59E0B 0%, #D97706 50%, #78350F 100%) !important; border: 3px double #FFF066 !important; box-shadow: 0 8px 25px rgba(217, 119, 6, 0.6) !important; }

/* PRO STYLE 2: Winter Wonderland Order (Frosty Crystalline Aurora Theme) */
.cert-style-winter {
	border: 8px solid #0284C7 !important;
	outline: 3px dashed #BAE6FD !important;
	outline-offset: -12px !important;
	background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 30%, #7DD3FC 75%, #0369A1 100%) !important;
	box-shadow: 0 25px 60px rgba(2, 132, 199, 0.42), inset 0 0 40px rgba(255, 255, 255, 0.6) !important;
}
.cert-style-winter .cert-executive-decree { color: #0C4A6E !important; text-shadow: 0 1px 3px rgba(186, 230, 253, 0.9) !important; font-weight: 900 !important; }
.cert-style-winter .cert-main-head { color: #0C4A6E !important; text-shadow: 0 2px 8px rgba(186, 230, 253, 0.9), 0 0 15px rgba(2, 132, 199, 0.4) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; font-variant-ligatures: none !important; }
.cert-style-winter .cert-bestowed-subtitle { color: #0284C7 !important; font-weight: 700 !important; }
.cert-style-winter .cert-recipient-name { color: #0284C7 !important; text-shadow: 0 3px 10px rgba(2, 132, 199, 0.3) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; }
.cert-style-winter .cert-recipient-location { color: #075985 !important; font-weight: 700 !important; }
.cert-style-winter .cert-gold-star-medallion { background: radial-gradient(circle at 35% 35%, #FFFFFF 0%, #E0F2FE 30%, #38BDF8 70%, #0C4A6E 100%) !important; color: #FFFFFF !important; border: 3px solid #BAE6FD !important; box-shadow: 0 0 30px rgba(56, 189, 248, 0.8), inset 0 3px 6px #FFFFFF !important; font-size: 2.2rem !important; }
.cert-style-winter .cert-audit-box { background: rgba(240, 249, 255, 0.92) !important; border: 2px solid #38BDF8 !important; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.25) !important; }
.cert-style-winter .cert-official-wax-seal { background: radial-gradient(circle at 35% 30%, #38BDF8 0%, #0284C7 50%, #0C4A6E 100%) !important; border: 3px double #E0F2FE !important; box-shadow: 0 8px 25px rgba(2, 132, 199, 0.6) !important; }

/* PRO STYLE 3: Vintage Heritage Scroll (Antique Royal Mahogany Theme) */
.cert-style-vintage {
	border: 9px double #78350F !important;
	outline: 2px dotted #B45309 !important;
	outline-offset: -12px !important;
	background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 30%, #FDE68A 75%, #B45309 100%) !important;
	box-shadow: 0 25px 60px rgba(120, 53, 15, 0.42), inset 0 0 40px rgba(254, 243, 199, 0.7) !important;
}
.cert-style-vintage .cert-executive-decree { color: #451A03 !important; text-shadow: 0 1px 3px rgba(253, 230, 138, 0.9) !important; font-weight: 900 !important; }
.cert-style-vintage .cert-main-head { color: #451A03 !important; text-shadow: 0 2px 8px rgba(253, 230, 138, 0.9), 0 0 15px rgba(180, 83, 9, 0.4) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; font-variant-ligatures: none !important; }
.cert-style-vintage .cert-bestowed-subtitle { color: #78350F !important; font-weight: 700 !important; }
.cert-style-vintage .cert-recipient-name { color: #78350F !important; text-shadow: 0 3px 10px rgba(120, 53, 15, 0.3) !important; font-weight: 700 !important; letter-spacing: 0.5px !important; }
.cert-style-vintage .cert-recipient-location { color: #451A03 !important; font-weight: 700 !important; }
.cert-style-vintage .cert-gold-star-medallion { background-color: #F59E0B !important; background-image: linear-gradient(135deg, #FFFFFF 0%, #FDE68A 30%, #B45309 70%, #451A03 100%) !important; color: #FFFFFF !important; border: 3px solid #FDE68A !important; box-shadow: 0 0 30px rgba(180, 83, 9, 0.8), inset 0 3px 6px #FFFFFF !important; font-size: 2.2rem !important; }
.cert-style-vintage .cert-audit-box { background: rgba(255, 251, 235, 0.94) !important; border: 2px dashed #B45309 !important; box-shadow: 0 6px 20px rgba(180, 83, 9, 0.25) !important; }
.cert-style-vintage .cert-official-wax-seal { background-color: #B45309 !important; background-image: linear-gradient(135deg, #B45309 0%, #78350F 50%, #451A03 100%) !important; border: 3px double #FDE68A !important; box-shadow: 0 8px 25px rgba(120, 53, 15, 0.6) !important; }

/* ============================================================
   LETTER TEMPLATES & REALISTIC CHRISTMAS PARCHMENT STYLING
   ============================================================ */
.santa-parchment-outer {
	position: relative;
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.22), 0 4px 15px rgba(0, 0, 0, 0.08);
	overflow: visible !important;
	margin-bottom: 30px;
}

.santa-parchment-inner {
	position: relative;
	padding: 55px 45px 60px;
	border-radius: 18px;
	min-height: 650px;
	box-sizing: border-box;
	transition: all 0.3s ease;
	background-color: #FFFDF5;
	box-shadow: inset 0 0 60px rgba(180, 140, 80, 0.12);
}

/* 3D Wax Seal Badge */
.santa-wax-seal-badge {
	position: absolute;
	bottom: 25px;
	right: 35px;
	z-index: 10;
	width: 78px;
	height: 78px;
	background: radial-gradient(circle, #DC2626 0%, #991B1B 70%, #7F1D1D 100%);
	border-radius: 50%;
	box-shadow: 0 8px 20px rgba(153, 27, 27, 0.45), inset 0 2px 4px rgba(255, 255, 255, 0.4), inset 0 -3px 6px rgba(0, 0, 0, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 3px solid #F59E0B;
	transform: rotate(-6deg);
	transition: transform 0.3s ease;
}

.santa-wax-seal-badge:hover {
	transform: rotate(0deg) scale(1.05);
}

.wax-seal-inner {
	text-align: center;
	color: #FEF3C7;
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1;
}

.wax-seal-inner .wax-crown {
	font-size: 0.9rem;
	color: #FBBF24;
	margin-bottom: 3px;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
}

.wax-seal-inner .wax-text {
	font-size: 0.55rem;
	font-weight: 900;
	letter-spacing: 0.8px;
	text-transform: uppercase;
}

.wax-seal-inner .wax-subtext {
	font-size: 0.48rem;
	font-weight: 700;
	color: #FDE68A;
	margin-top: 2px;
	letter-spacing: 0.5px;
}

/* Corner Flourishes */
.parchment-corner {
	position: absolute;
	width: 32px;
	height: 32px;
	pointer-events: none;
	opacity: 0.5;
}

.corner-top-left { top: 12px; left: 12px; border-top: 3px double #D4AF37; border-left: 3px double #D4AF37; }
.corner-top-right { top: 12px; right: 12px; border-top: 3px double #D4AF37; border-right: 3px double #D4AF37; }
.corner-bottom-left { bottom: 12px; left: 12px; border-bottom: 3px double #D4AF37; border-left: 3px double #D4AF37; }
.corner-bottom-right { bottom: 12px; right: 12px; border-bottom: 3px double #D4AF37; border-right: 3px double #D4AF37; }

/* Workshop Banner & Postmark Header */
.santa-workshop-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 2px dashed rgba(185, 28, 28, 0.25);
	padding-bottom: 18px;
	margin-bottom: 20px;
	flex-wrap: wrap;
	gap: 15px;
}

.workshop-brand-group {
	display: flex;
	align-items: center;
	gap: 16px;
}

.santa-avatar-emblem {
	font-size: 2.8rem;
	background: #FEF2F2;
	border: 2px solid #FCA5A5;
	border-radius: 50%;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(220, 38, 38, 0.15);
}

.workshop-title-group h3 {
	margin: 0;
	font-family: 'Cinzel Decorative', 'Outfit', serif;
	font-size: 1.35rem;
	font-weight: 800;
	color: #991B1B;
	letter-spacing: 0.5px;
}

.workshop-subtitle {
	margin: 3px 0 0;
	font-size: 0.8rem;
	color: #64748B;
	font-weight: 600;
}

.workshop-stamps-group {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Circular Postmark Stamp */
.stamp-circular-postmark {
	border: 2px dashed #991B1B;
	border-radius: 50%;
	width: 64px;
	height: 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #991B1B;
	text-align: center;
	font-weight: 800;
	transform: rotate(-12deg);
	background: rgba(254, 242, 242, 0.6);
	box-shadow: inset 0 0 4px rgba(153, 27, 27, 0.2);
}

.postmark-top { font-size: 0.52rem; letter-spacing: 0.5px; }
.postmark-date { font-size: 0.75rem; font-weight: 900; margin: 1px 0; color: #DC2626; }
.postmark-bottom { font-size: 0.48rem; letter-spacing: 0.3px; }

.stamp-north-pole-red {
	border: 2px solid #DC2626;
	color: #DC2626;
	background: rgba(220, 38, 38, 0.06);
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 0.68rem;
	font-weight: 800;
	text-align: center;
	letter-spacing: 0.8px;
	transform: rotate(4deg);
}

.stamp-elf-passed-gold {
	border: 2px solid #D97706;
	color: #B45309;
	background: rgba(251, 191, 36, 0.1);
	padding: 6px 12px;
	border-radius: 8px;
	font-size: 0.68rem;
	font-weight: 800;
	text-align: center;
	letter-spacing: 0.8px;
	transform: rotate(-3deg);
}

/* Illustrations Row & Dividers */
.live-illustrations-row {
	text-align: center;
	margin: 15px 0 10px;
	font-size: 1.6rem;
	letter-spacing: 16px;
}

.festive-letter-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 15px 0 25px;
	color: #D4AF37;
}

.festive-letter-divider .div-line {
	height: 1px;
	flex: 1;
	background: linear-gradient(90deg, transparent, #D4AF37, transparent);
}

.festive-letter-divider .div-icon {
	font-size: 0.95rem;
}

/* Salutation & Body Typography */
.letter-content-paper {
	margin-top: 10px;
	color: #1E293B;
}

.letter-dear-line {
	font-size: 1.25rem;
	font-weight: 800;
	color: #991B1B;
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.letter-drop-cap {
	font-family: 'Cinzel Decorative', 'Playfair Display', Georgia, serif;
	font-size: 2.2rem;
	font-weight: 900;
	color: #991B1B;
	background: #FEF2F2;
	border: 2px solid #FCA5A5;
	border-radius: 8px;
	padding: 2px 10px;
	line-height: 1;
	margin-right: 4px;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.15);
}

.letter-body-formatted p {
	margin-bottom: 16px;
	line-height: 1.75;
}

/* Signature & Official Stamps */
.santa-signature {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 35px;
	padding-top: 22px;
	border-top: 2px dashed rgba(212, 175, 55, 0.4);
	flex-wrap: wrap;
	gap: 20px;
}

.sig-opening {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: #334155;
}

.sig-from {
	margin: 2px 0 8px;
	font-weight: 800;
	color: #991B1B;
	font-size: 0.9rem;
}

.santa-signature .signature-font {
	font-family: 'Great Vibes', cursive, 'Mountains of Christmas';
	font-size: 3.2rem;
	color: #991B1B;
	margin: 0;
	line-height: 1;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.08);
}

.signature-seals {
	display: flex;
	gap: 14px;
	align-items: center;
}

.seal-rudolph-approved {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #FEF2F2;
	border: 2px solid #EF4444;
	border-radius: 12px;
	padding: 8px 12px;
	transform: rotate(-4deg);
	box-shadow: 0 4px 10px rgba(239, 68, 68, 0.15);
}

.seal-rudolph-approved .nose-dot {
	font-size: 1.2rem;
	animation: rudolphNoseGlow 2s infinite ease-in-out;
}

@keyframes rudolphNoseGlow {
	0%, 100% { transform: scale(1); filter: drop-shadow(0 0 2px #EF4444); }
	50% { transform: scale(1.2); filter: drop-shadow(0 0 8px #EF4444); }
}

.seal-rudolph-approved .seal-text {
	font-size: 0.65rem;
	font-weight: 900;
	color: #991B1B;
	line-height: 1.1;
	letter-spacing: 0.5px;
}

.seal-north-pole-gold {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #FEF9C3;
	border: 2px solid #D97706;
	color: #B45309;
	border-radius: 12px;
	padding: 8px 12px;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.5px;
	transform: rotate(3deg);
}

/* ============================================================
   LETTER TEMPLATE STYLES (6 Designs)
   ============================================================ */
.letter-template-classic {
	background: #FFFDF7 !important;
	border: 5px double #DC2626 !important;
	border-radius: 16px !important;
}

.letter-template-express {
	background: repeating-linear-gradient(-45deg,
			#FFFDF5,
			#FFFDF5 20px,
			#F0F6FF 20px,
			#F0F6FF 40px) !important;
	border: 5px solid #1D4ED8 !important;
	border-radius: 14px !important;
}

.letter-template-express .workshop-title-group h3,
.letter-template-express .letter-dear-line,
.letter-template-express .letter-drop-cap,
.letter-template-express .signature-font {
	color: #1D4ED8 !important;
}

.letter-template-luxury {
	background: linear-gradient(145deg, #FEFCE8 0%, #FEF9C3 100%) !important;
	border: 6px double #D97706 !important;
	border-radius: 20px !important;
	box-shadow: inset 0 0 40px rgba(217, 119, 6, 0.2), 0 15px 35px rgba(0, 0, 0, 0.12) !important;
}

.letter-template-luxury .workshop-title-group h3,
.letter-template-luxury .letter-dear-line,
.letter-template-luxury .letter-drop-cap,
.letter-template-luxury .signature-font {
	color: #B45309 !important;
}

.letter-template-cute {
	background: #FFF5F7 !important;
	border: 4px dashed #EC4899 !important;
	border-radius: 24px !important;
}

.letter-template-cute .workshop-title-group h3,
.letter-template-cute .letter-dear-line,
.letter-template-cute .letter-drop-cap,
.letter-template-cute .signature-font {
	color: #DB2777 !important;
}

.letter-template-snow {
	background: linear-gradient(160deg, #F0F9FF 0%, #E0F2FE 100%) !important;
	border: 5px solid #0284C7 !important;
	border-radius: 18px !important;
}

.letter-template-snow .workshop-title-group h3,
.letter-template-snow .letter-dear-line,
.letter-template-snow .letter-drop-cap,
.letter-template-snow .signature-font {
	color: #0369A1 !important;
}

.letter-template-vintage {
	background: #F5E6CA !important;
	border: 6px double #78350F !important;
	border-radius: 14px !important;
	box-shadow: inset 0 0 50px rgba(120, 53, 15, 0.25) !important;
}

.letter-template-vintage .workshop-title-group h3,
.letter-template-vintage .letter-dear-line,
.letter-template-vintage .letter-drop-cap,
.letter-template-vintage .signature-font {
	color: #78350F !important;
}

/* ============================================================
   TYPOGRAPHY SIZE DYNAMIC SCALING
   ============================================================ */
.font-size-sm,
.font-size-sm .letter-content-paper,
.font-size-sm #live-letter-dynamic-body,
.font-size-sm #live-letter-dynamic-body p {
	font-size: 0.85rem !important;
	line-height: 1.5 !important;
}

.font-size-sm .letter-dear-line {
	font-size: 1.05rem !important;
}

.font-size-md,
.font-size-md .letter-content-paper,
.font-size-md #live-letter-dynamic-body,
.font-size-md #live-letter-dynamic-body p {
	font-size: 1rem !important;
	line-height: 1.7 !important;
}

.font-size-md .letter-dear-line {
	font-size: 1.25rem !important;
}

.font-size-lg,
.font-size-lg .letter-content-paper,
.font-size-lg #live-letter-dynamic-body,
.font-size-lg #live-letter-dynamic-body p {
	font-size: 1.18rem !important;
	line-height: 1.8 !important;
}

.font-size-lg .letter-dear-line {
	font-size: 1.45rem !important;
}

.font-size-xl,
.font-size-xl .letter-content-paper,
.font-size-xl #live-letter-dynamic-body,
.font-size-xl #live-letter-dynamic-body p {
	font-size: 1.35rem !important;
	line-height: 1.9 !important;
}

.font-size-xl .letter-dear-line {
	font-size: 1.65rem !important;
}

/* ============================================================
   PAGE LAYOUT TRANSFORMATION STYLES (PREVIEW PAPER FORMATS)
   ============================================================ */

/* 1. Portrait Standard Format */
.layout-portrait#santa-letter-parchment,
.santa-parchment-outer.layout-portrait {
	width: 100%;
	max-width: 100%;
	border-radius: 18px !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18), 0 0 30px rgba(212, 175, 55, 0.08) !important;
	transition: all 0.3s ease !important;
}

/* 2. Landscape Wide Format */
.layout-landscape#santa-letter-parchment,
.santa-parchment-outer.layout-landscape {
	max-width: 100% !important;
	border-radius: 20px !important;
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.2), 0 0 35px rgba(212, 175, 55, 0.12) !important;
}

.layout-landscape#live-preview-paper,
.layout-landscape .santa-parchment-inner {
	padding: 40px 50px !important;
	min-height: 480px !important;
	border: 3px double #D4AF37 !important;
	border-radius: 16px !important;
}

/* 3. Folded Letter Format (Vintage Mail Creases) */
.layout-folded#santa-letter-parchment,
.santa-parchment-outer.layout-folded {
	position: relative !important;
	border-radius: 14px !important;
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22) !important;
	overflow: hidden !important;
}

.layout-folded#live-preview-paper,
.layout-folded .santa-parchment-inner {
	background-image: linear-gradient(180deg,
			transparent 31%,
			rgba(120, 53, 15, 0.14) 32%,
			rgba(255, 255, 255, 0.35) 33%,
			transparent 34%,
			transparent 64%,
			rgba(120, 53, 15, 0.14) 65%,
			rgba(255, 255, 255, 0.35) 66%,
			transparent 67%) !important;
	box-shadow: inset 0 0 40px rgba(120, 53, 15, 0.1) !important;
}

/* 4. Ancient Scroll Format Styling (3D Carved Mahogany Rollers) */
.layout-scroll#santa-letter-parchment,
.santa-parchment-outer.layout-scroll {
	position: relative !important;
	background: linear-gradient(160deg, #FAF0D7 0%, #F5E4C3 100%) !important;
	border-radius: 14px !important;
	box-shadow: inset 0 0 50px rgba(120, 53, 15, 0.28), 0 22px 50px rgba(0, 0, 0, 0.26) !important;
	padding: 28px 14px !important;
	margin-top: 22px !important;
	margin-bottom: 25px !important;
	overflow: visible !important;
}

/* 3D Wooden Top Scroll Roller Bar with Carved Handle Ends */
.layout-scroll#santa-letter-parchment::before,
.santa-parchment-outer.layout-scroll::before {
	content: '' !important;
	position: absolute !important;
	top: -15px !important;
	left: -14px !important;
	right: -14px !important;
	height: 30px !important;
	background: linear-gradient(180deg, #2D1202 0%, #6E310C 20%, #B86824 45%, #6E310C 75%, #210D01 100%) !important;
	border-radius: 15px !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.48), inset 0 2px 3px rgba(255, 255, 255, 0.35) !important;
	z-index: 10 !important;
}

/* 3D Wooden Bottom Scroll Roller Bar with Carved Handle Ends */
.layout-scroll#santa-letter-parchment::after,
.santa-parchment-outer.layout-scroll::after {
	content: '' !important;
	position: absolute !important;
	bottom: -15px !important;
	left: -14px !important;
	right: -14px !important;
	height: 30px !important;
	background: linear-gradient(180deg, #2D1202 0%, #6E310C 20%, #B86824 45%, #6E310C 75%, #210D01 100%) !important;
	border-radius: 15px !important;
	box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.48), inset 0 -2px 3px rgba(255, 255, 255, 0.35) !important;
	z-index: 10 !important;
}

.layout-scroll #live-preview-paper,
.layout-scroll .santa-parchment-inner {
	background: #FAF0D7 !important;
	border: 2px dashed #B46522 !important;
	border-radius: 10px !important;
	box-shadow: inset 0 0 35px rgba(180, 101, 34, 0.14) !important;
	padding: 42px 36px !important;
}

/* 5. Good List Certificate Format (Royal Gold Crest & Centered Layout) */
.layout-certificate#santa-letter-parchment,
.santa-parchment-outer.layout-certificate {
	border: 8px double #D4AF37 !important;
	border-radius: 20px !important;
	background: #FFFDF7 !important;
	box-shadow: 0 22px 60px rgba(212, 175, 55, 0.3), 0 6px 18px rgba(0, 0, 0, 0.12) !important;
}

.layout-certificate #live-preview-paper,
.layout-certificate .santa-parchment-inner {
	text-align: center !important;
	border: 2px solid #D4AF37 !important;
	background: linear-gradient(180deg, #FFFDF7 0%, #FAF4E4 100%) !important;
	border-radius: 12px !important;
	padding: 50px 40px !important;
}

.layout-certificate .santa-signature {
	text-align: center !important;
	margin: 25px auto 0 auto !important;
}

.layout-certificate .workshop-title-group {
	text-align: center !important;
}

/* ============================================================
   ULTRA-REALISTIC 3D GLOSSY & BRIGHTENED TOP CHRISTMAS LIGHTS
   ============================================================ */
.santa-suite-wrapper {
	position: relative;
}

.santa-top-lights-garland {
	position: absolute;
	top: -22px;
	left: 0;
	right: 0;
	height: 44px;
	z-index: 99;
	pointer-events: none;
	overflow: visible;
}

.santa-top-lights-garland .garland-wire-svg {
	position: absolute;
	top: 8px;
	left: 0;
	right: 0;
	height: 14px;
	border-bottom: 2px solid #1E293B;
	border-radius: 0 0 50% 50% / 0 0 100% 100%;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
}

.santa-lights-strand {
	list-style: none;
	margin: 0;
	padding: 0 16px;
	display: flex;
	justify-content: space-around;
	width: 100%;
	position: relative;
	z-index: 2;
}

/* Redundant legacy light-bulb overrides removed to enforce strict symmetrical top garland bulbs */

@keyframes santa3DLightTwinkle {
	0% {
		opacity: 0.6;
		transform: scale(0.92) translateY(0);
		filter: brightness(0.95);
	}
	100% {
		opacity: 1;
		transform: scale(1.22) translateY(2px);
		filter: brightness(1.75);
		box-shadow: 0 0 24px currentColor, 0 0 42px currentColor, 0 0 60px currentColor;
	}
}

/* Completely Disable Side Curtain Lights */
.santa-curtain-lights {
	display: none !important;
}

@media (max-width: 768px) {
	.santa-curtain-lights {
		display: none;
	}
}

/* ============================================================
   FRONTEND CORNER FLOATING MASCOT WIDGET
   ============================================================ */
.santa-public-corner-mascot {
	position: fixed;
	bottom: 24px;
	right: 28px;
	z-index: 99999;
	pointer-events: auto;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	animation: santaPublicMascotFloat 4s infinite ease-in-out;
}

@keyframes santaPublicMascotFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-7px); }
}

.santa-public-corner-mascot .mascot-card-inner {
	background: rgba(15, 23, 42, 0.92);
	border: 1px solid rgba(212, 175, 55, 0.4);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 0 0 22px rgba(212, 175, 55, 0.3);
	border-radius: 18px;
	padding: 10px;
	width: 140px;
	text-align: center;
	position: relative;
	backdrop-filter: blur(12px);
	overflow: hidden;
	cursor: pointer;
}

.santa-public-corner-mascot .mascot-img-container {
	width: 120px;
	height: 120px;
	margin: 0 auto;
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.santa-public-corner-mascot .mascot-avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.santa-public-corner-mascot:hover .mascot-avatar-img {
	transform: scale(1.06);
}

.santa-public-corner-mascot .mascot-badge-banner {
	margin-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.santa-public-corner-mascot .mascot-badge-title {
	font-size: 0.72rem;
	font-weight: 800;
	color: #F59E0B;
	line-height: 1.1;
}

.santa-public-corner-mascot .mascot-badge-sub {
	font-size: 0.65rem;
	font-weight: 600;
	color: #94A3B8;
}

.santa-public-corner-mascot .mascot-toggle-btn {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #DC2626;
	color: #ffffff;
	border: 2px solid #0F172A;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.68rem;
	cursor: pointer;
	z-index: 15;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	transition: all 0.2s ease;
}

.santa-public-corner-mascot .mascot-toggle-btn:hover {
	transform: scale(1.15);
	background: #ef4444;
}

/* Festive Speech Bubble Tooltip */
.santa-public-corner-mascot .mascot-speech-bubble {
	position: absolute;
	bottom: calc(100% + 14px);
	right: 0;
	width: 230px;
	background: rgba(15, 23, 42, 0.95);
	border: 1px solid rgba(212, 175, 55, 0.5);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 20px rgba(212, 175, 55, 0.3);
	border-radius: 14px;
	padding: 12px 14px;
	backdrop-filter: blur(14px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px) scale(0.95);
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	z-index: 25;
	pointer-events: none;
}

.santa-public-corner-mascot .mascot-speech-bubble.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-content {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-icon {
	font-size: 1.3rem;
	line-height: 1;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-text {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
	color: #F8FAFC;
	flex: 1;
	padding-right: 12px;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-close-btn {
	position: absolute;
	top: 6px;
	right: 6px;
	background: transparent;
	border: none;
	color: #94A3B8;
	font-size: 0.75rem;
	cursor: pointer;
	padding: 2px 4px;
	border-radius: 4px;
	transition: color 0.2s ease;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-close-btn:hover {
	color: #EF4444;
}

.santa-public-corner-mascot .mascot-speech-bubble .bubble-pointer {
	position: absolute;
	bottom: -6px;
	right: 32px;
	width: 10px;
	height: 10px;
	background: rgba(15, 23, 42, 0.95);
	border-right: 1px solid rgba(212, 175, 55, 0.5);
	border-bottom: 1px solid rgba(212, 175, 55, 0.5);
	transform: rotate(45deg);
}

/* Minimized State */
.santa-public-corner-mascot.is-minimized .mascot-card-inner {
	width: 52px;
	height: 52px;
	padding: 4px;
	border-radius: 50%;
}

.santa-public-corner-mascot.is-minimized .mascot-img-container {
	width: 44px;
	height: 44px;
	border-radius: 50%;
}

.santa-public-corner-mascot.is-minimized .mascot-badge-banner {
	display: none;
}

/* Responsive adjustment for small screens */
@media (max-width: 768px) {
	.santa-public-corner-mascot {
		bottom: 16px;
		right: 16px;
	}
	.santa-public-corner-mascot .mascot-card-inner {
		width: 110px;
	}
	.santa-public-corner-mascot .mascot-img-container {
		width: 90px;
		height: 90px;
	}
	.santa-public-corner-mascot .mascot-speech-bubble {
		width: 200px;
		right: -10px;
	}
}

/* ============================================================
   ELF MEMBER PORTAL SIDEBAR & DASHBOARD GRID
   ============================================================ */
.santa-portal-grid {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 30px;
	margin-top: 20px;
}

@media (max-width: 820px) {
	.santa-portal-grid {
		grid-template-columns: 1fr;
	}
}

.santa-portal-sidebar {
	display: flex;
	flex-direction: column;
	gap: 8px;
	border-right: 1px solid #E2E8F0;
	padding-right: 20px;
}

@media (max-width: 820px) {
	.santa-portal-sidebar {
		border-right: none;
		padding-right: 0;
		flex-direction: row;
		flex-wrap: wrap;
		border-bottom: 1px solid #E2E8F0;
		padding-bottom: 15px;
	}
}

.santa-portal-tab-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 8px;
	background: transparent;
	border: 1px solid transparent;
	color: var(--santa-text-muted);
	font-family: var(--santa-font-body);
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	text-align: left;
	transition: all 0.2s ease;
	width: 100%;
}

.santa-portal-tab-btn i {
	font-size: 1rem;
	width: 20px;
	text-align: center;
	color: var(--santa-text-muted);
}

.santa-portal-tab-btn:hover {
	background: #FFF5F5;
	color: var(--santa-red);
}

.santa-portal-tab-btn:hover i {
	color: var(--santa-red);
}

.santa-portal-tab-btn.active {
	background: var(--santa-red);
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(185, 28, 28, 0.15);
}

.santa-portal-tab-btn.active i {
	color: #ffffff !important;
}

/* Dashboard Metrics Card */
.santa-portal-metrics {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 15px;
	margin-bottom: 25px;
}

.santa-portal-metric-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 20px;
	text-align: center;
}

.santa-portal-metric-val {
	display: block;
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--santa-red);
	line-height: 1;
	margin-bottom: 6px;
}

.santa-portal-metric-lbl {
	font-size: 0.78rem;
	text-transform: uppercase;
	color: var(--santa-text-muted);
	font-weight: 700;
	letter-spacing: 0.5px;
}

/* ============================================================
   ADMIN DASHBOARD MATCHING LIGHT THEME FOR PORTAL & AUTH PAGES
   ============================================================ */
#santa-portal,
#santa-auth-page-wrapper {
	background: #f8fafc !important;
	border-radius: 20px !important;
	padding: 25px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
}

#santa-portal .santa-form-card,
#santa-auth-page-wrapper .santa-form-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.05) !important;
	color: #1e293b !important;
}

/* Sidebar styling matching Admin Dashboard */
.santa-portal-sidebar {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 16px !important;
}

.santa-portal-tab-btn {
	color: #475569 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 12px 18px !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	transition: all 0.2s ease !important;
	text-align: left !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
}

.santa-portal-tab-btn:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
}

.santa-portal-tab-btn.active {
	background: #c5221f !important;
	color: #ffffff !important;
	box-shadow: 0 4px 15px rgba(197, 34, 31, 0.3) !important;
}

.santa-portal-tab-btn.active i {
	color: #ffffff !important;
}

/* Content cards & metrics */
.santa-portal-metric-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 22px !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
}

.santa-portal-metric-val {
	color: #c5221f !important;
}

.santa-portal-metric-lbl {
	color: #64748b !important;
}

/* Tables inside dashboard */
.santa-portal-content table {
	width: 100%;
	border-collapse: collapse;
	background: #ffffff !important;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid #e2e8f0 !important;
}

.santa-portal-content th {
	background: #f8fafc !important;
	color: #1e293b !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	text-transform: uppercase !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

.santa-portal-content td {
	color: #334155 !important;
	font-size: 0.92rem !important;
	padding: 14px 18px !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

.santa-portal-content h3,
.santa-portal-content h4:not(.santa-fomo-title) {
	color: #0f172a !important;
}

.santa-portal-content .santa-fomo-banner h4,
.santa-portal-content .santa-fomo-title,
.santa-portal-content .santa-vip-title {
	color: #ffffff !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
}

.santa-portal-content .santa-fomo-desc {
	color: #f8fafc !important;
}

.santa-portal-content .santa-vip-perk-badge {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.1) !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
}

/* Auth Cards Styling */
.santa-auth-page-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	color: #1e293b !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08) !important;
}

.santa-auth-page-card input[type="text"],
.santa-auth-page-card input[type="email"],
.santa-auth-page-card input[type="password"] {
	background: #f8fafc !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	color: #0f172a !important;
}

.santa-auth-page-card input:focus {
	border-color: #c5221f !important;
	box-shadow: 0 0 0 3px rgba(197, 34, 31, 0.15) !important;
	background: #ffffff !important;
}

.santa-auth-page-card label {
	color: #334155 !important;
}

.santa-auth-page-card .santa-pass-toggle {
	color: #64748b !important;
}

.santa-auth-page-card .santa-auth-submit-btn {
	background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3) !important;
}

.santa-auth-page-card .santa-google-signin-btn {
	background: #ffffff !important;
	border: 1.5px solid #cbd5e1 !important;
	color: #1e293b !important;
}

.santa-auth-page-card .santa-google-signin-btn:hover {
	background: #f8fafc !important;
	border-color: #94a3b8 !important;
}

.santa-auth-divider span {
	background: #ffffff !important;
	color: #64748b !important;
}

.santa-auth-divider::before {
	background: #e2e8f0 !important;
}

.santa-otp-input:focus {
	border-color: #c5221f !important;
	box-shadow: 0 0 0 3px rgba(197, 34, 31, 0.15) !important;
	background: #ffffff !important;
}

/* ============================================================
   STEP 1: UNIVERSAL SANTA HEADER BAR
   ============================================================ */
.santa-header-frame {
	margin-bottom: 24px !important;
	padding: 14px 24px !important;
	background: linear-gradient(180deg, #1e130a 0%, #120b05 100%) !important;
	border: 2px solid var(--santa-gold) !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6), inset 0 0 15px rgba(212, 175, 55, 0.2) !important;
}

.santa-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	z-index: 2;
}

.santa-header-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
}

.santa-brand-emblem {
	font-size: 2.2rem;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: radial-gradient(circle, #c41e3a 0%, #7a0016 100%);
	border: 2px solid var(--santa-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 12px var(--santa-gold-glow);
}

.santa-brand-text {
	display: flex;
	flex-direction: column;
}

.santa-brand-title {
	font-family: var(--santa-font-decorative);
	color: var(--santa-gold);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	line-height: 1.1;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
}

.santa-brand-subtitle {
	font-family: var(--santa-font-signature);
	color: var(--santa-cream);
	font-size: 1.1rem;
	line-height: 1;
}

.santa-header-nav {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.santa-header-nav .nav-link {
	color: #e2e8f0;
	text-decoration: none !important;
	font-size: 0.88rem;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 20px;
	transition: all 0.25s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 1px solid transparent;
}

.santa-header-nav .nav-link i {
	color: var(--santa-gold);
	font-size: 0.82rem;
}

.santa-header-nav .nav-link:hover,
.santa-header-nav .nav-link.active {
	color: var(--santa-gold-light);
	background: rgba(212, 175, 55, 0.15);
	border-color: var(--santa-gold);
	box-shadow: 0 0 10px var(--santa-gold-glow);
}

.santa-header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.santa-btn-sm {
	padding: 8px 16px !important;
	font-size: 0.85rem !important;
}

.santa-mobile-nav-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--santa-gold);
	color: var(--santa-gold);
	font-size: 1.2rem;
	padding: 6px 12px;
	border-radius: 8px;
	cursor: pointer;
}

@media (max-width: 992px) {
	.santa-mobile-nav-toggle {
		display: block;
	}
	.santa-header-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #180d05;
		border: 2px solid var(--santa-gold);
		flex-direction: column;
		align-items: stretch;
		padding: 16px;
		margin-top: 10px;
		border-radius: 12px;
		box-shadow: 0 10px 30px rgba(0,0,0,0.9);
	}
	.santa-header-nav.nav-open {
		display: flex;
	}
}

/* ============================================================
   STEP 1: UNIVERSAL SANTA FOOTER BAR
   ============================================================ */
.santa-footer-frame {
	margin-top: 40px !important;
	padding: 40px 24px 20px !important;
	background: linear-gradient(180deg, #180d05 0%, #0c0602 100%) !important;
	border: 2px solid var(--santa-gold) !important;
	box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.6), inset 0 0 20px rgba(212, 175, 55, 0.15) !important;
}

.santa-footer-inner {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.3fr;
	gap: 30px;
	position: relative;
	z-index: 2;
	margin-bottom: 30px;
}

@media (max-width: 992px) {
	.santa-footer-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.santa-footer-inner {
		grid-template-columns: 1fr;
	}
}

.footer-santa-badge {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.santa-avatar-large {
	font-size: 2.8rem;
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: radial-gradient(circle, #c41e3a 0%, #7a0016 100%);
	border: 2px solid var(--santa-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 0 15px var(--santa-gold-glow);
}

.santa-quote-bubble {
	background: rgba(247, 233, 207, 0.08);
	border: 1px solid var(--santa-border);
	padding: 12px 16px;
	border-radius: 12px;
	position: relative;
}

.santa-quote-bubble p {
	font-family: var(--santa-font-signature);
	color: var(--santa-cream);
	font-size: 1.15rem;
	margin: 0 0 4px;
	line-height: 1.3;
}

.santa-quote-bubble span {
	font-size: 0.78rem;
	color: var(--santa-gold);
	font-weight: 700;
	text-transform: uppercase;
}

.footer-col-title {
	font-family: var(--santa-font-decorative);
	color: var(--santa-gold);
	font-size: 1.05rem;
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	letter-spacing: 0.5px;
}

.footer-links-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.footer-links-list a {
	color: #cbd5e1;
	text-decoration: none !important;
	font-size: 0.88rem;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.footer-links-list a i {
	font-size: 0.7rem;
	color: var(--santa-gold);

}

.footer-links-list a:hover {
	color: var(--santa-gold);
	transform: translateX(4px);
}

.footer-news-text {
	font-size: 0.85rem;
	color: #94a3b8;
	margin: 0 0 14px;
	line-height: 1.4;
}

.news-input-wrap {
	display: flex;
	gap: 8px;
}

.santa-news-input {
	flex: 1;
	background: rgba(15, 23, 42, 0.8) !important;
	border: 1px solid var(--santa-gold) !important;
	color: #ffffff !important;
	padding: 10px 14px !important;
	border-radius: 8px !important;
	font-size: 0.85rem !important;
}

.santa-footer-bottom-bar {
	border-top: 1px solid rgba(212, 175, 55, 0.25);
	padding-top: 20px;
}

.bottom-bar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 0.82rem;
	color: #94a3b8;
}

.bottom-bar-links a {
	color: #94a3b8;
	text-decoration: none !important;
	transition: color 0.2s;
}

.bottom-bar-links a:hover {
	color: var(--santa-gold);
}

/* ============================================================
   STEP 1: REUSABLE PARCHMENT POPUP MODAL ENGINE
   ============================================================ */
.santa-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(6, 13, 31, 0.85);
	backdrop-filter: blur(8px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: modalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes modalFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

.santa-parchment-modal {
	background: radial-gradient(circle at center, #fffdf7 0%, #f7e9cf 100%);
	border: 3px solid var(--santa-gold);
	border-radius: 20px;
	width: 100%;
	max-width: 580px;
	padding: 30px 30px 25px 30px;
	position: relative;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 30px rgba(212, 175, 55, 0.4);
	color: #2b1704;
	animation: modalPopIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
	box-sizing: border-box;
}

@keyframes modalPopIn {
	from { transform: scale(0.85); opacity: 0; }
	to { transform: scale(1); opacity: 1; }
}

.santa-modal-close-btn {
	position: absolute;
	top: 16px;
	right: 18px;
	background: #dc2626 !important;
	color: #ffffff !important;
	border: 2px solid #ffffff !important;
	width: 36px;
	height: 36px;
	border-radius: 50% !important;
	font-size: 1.3rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	line-height: 1 !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35) !important;
	z-index: 99 !important;
	outline: none !important;
	padding: 0 !important;
}

.santa-modal-close-btn:hover {
	transform: scale(1.12) !important;
	background: #b91c1c !important;
	color: #ffffff !important;
	box-shadow: 0 6px 18px rgba(185, 28, 28, 0.5) !important;
}

.santa-modal-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 12px;
	padding-right: 40px;
	border-bottom: 2px dashed rgba(184, 134, 11, 0.4);
}

.santa-modal-icon-badge {
	font-size: 2.2rem;
}

.santa-modal-title {
	font-family: var(--santa-font-decorative);
	color: #7a0016;
	font-size: 1.4rem;
	margin: 0;
	font-weight: 800;
}

.santa-modal-body {
	font-size: 0.98rem;
	line-height: 1.6;
	color: #381f08;
	margin-bottom: 20px;
}

.santa-modal-footer {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin-top: 15px;
	position: relative;
	z-index: 10;
}

/* High Contrast Buttons Inside Parchment Popups */
.santa-parchment-modal .santa-btn-secondary {
	background: #ffffff !important;
	color: #334155 !important;
	border: 1.5px solid #cbd5e1 !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	padding: 10px 22px !important;
	border-radius: 30px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
}

.santa-parchment-modal .santa-btn-secondary:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
	border-color: #94a3b8 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

/* Snow Globe Shake Animation */
.globe-shaking {
	animation: globeShake 0.4s ease-in-out infinite;
}

@keyframes globeShake {
	0% { transform: rotate(0deg) scale(1); }
	20% { transform: rotate(-8deg) scale(1.05); }
	40% { transform: rotate(8deg) scale(1.05); }
	60% { transform: rotate(-5deg) scale(1.03); }
	80% { transform: rotate(5deg) scale(1.03); }
	100% { transform: rotate(0deg) scale(1); }
}

.hotspot-building-item:hover {
	transform: scale(1.1);
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
	z-index: 20;
}

.disc-card:hover {
	border-color: var(--santa-gold) !important;
	background: rgba(212, 175, 55, 0.15) !important;
	transform: translateY(-2px);
}

/* ============================================================
   SCREENSHOT 1 RICH SANTA CASTLE HERO CHAMBER STYLING
   ============================================================ */
.santa-castle-hero-stage {
	position: relative;
	padding: 0 !important;
	border-radius: 20px;
	overflow: hidden;
}

.castle-chamber-frame {
	position: relative;
	min-height: 520px;
	background:
		radial-gradient(ellipse 70% 50% at 50% 40%, rgba(250, 160, 40, 0.28), rgba(196, 30, 58, 0.15) 60%, transparent 90%),
		radial-gradient(circle at 15% 20%, rgba(255, 215, 0, 0.2), transparent 40%),
		linear-gradient(180deg, #1c0d04 0%, #120702 40%, #0c0401 100%);
	border: 4px solid var(--santa-gold);
	border-radius: 20px;
	padding: 40px 30px 25px;
	box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.9), 0 15px 40px rgba(0, 0, 0, 0.8);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Header inside Chamber */
.castle-chamber-header {
	text-align: center;
	max-width: 650px;
	margin: 0 auto 30px;
}

.welcome-tag {
	font-family: var(--santa-font-signature);
	color: #fff5d6;
	font-size: 2.2rem;
	display: block;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
}

.castle-main-title {
	font-family: var(--santa-font-decorative);
	color: var(--santa-gold);
	font-size: 3.2rem;
	margin: -5px 0 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-shadow: 0 4px 15px rgba(0, 0, 0, 0.9), 0 0 25px rgba(212, 175, 55, 0.5);
}

.castle-subtitle {
	font-family: var(--santa-font-signature);
	color: var(--santa-cream);
	font-size: 1.35rem;
	margin: 0 0 24px;
	line-height: 1.2;
}

.castle-cta-buttons {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.santa-btn-emerald {
	background: linear-gradient(180deg, #1e6b4c 0%, #0d3826 100%) !important;
	color: #ffffff !important;
	border: 2px solid var(--santa-gold) !important;
	box-shadow: 0 6px 20px rgba(13, 56, 38, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
	font-size: 1rem !important;
	padding: 12px 26px !important;
}

.santa-btn-crimson {
	background: linear-gradient(180deg, #b91c1c 0%, #6b0d0d 100%) !important;
	color: #ffffff !important;
	border: 2px solid var(--santa-gold) !important;
	box-shadow: 0 6px 20px rgba(185, 28, 28, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
	font-size: 1rem !important;
	padding: 12px 26px !important;
}

/* Today's Magic Scroll (Right Box) */
.todays-magic-scroll {
	position: absolute;
	top: 40px;
	right: 40px;
	background: linear-gradient(135deg, #f7e9cf 0%, #e6d0a7 100%);
	border: 2px solid var(--santa-gold);
	border-radius: 12px;
	padding: 16px 20px;
	max-width: 220px;
	color: #381f08;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), inset 0 0 15px rgba(212, 175, 55, 0.3);
	text-align: center;
}

.todays-magic-scroll h3 {
	font-family: var(--santa-font-decorative);
	color: #7a0016;
	font-size: 1.05rem;
	margin: 4px 0 6px;
}

.todays-magic-scroll p {
	font-size: 0.8rem;
	line-height: 1.3;
	margin: 0 0 8px;
}

.scroll-pin {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.2rem;
}

/* Desk Plaque Badge */
.santa-desk-plaque {
	align-self: flex-start;
	background: linear-gradient(180deg, #4a2810 0%, #251206 100%);
	border: 2px solid var(--santa-gold);
	border-radius: 20px;
	padding: 6px 24px;
	color: var(--santa-gold);
	font-family: var(--santa-font-signature);
	font-size: 1.4rem;
	margin-bottom: 20px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

/* Desk Nav Tiles Grid (Bottom Row) */
.castle-desk-nav-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 12px;
	margin-top: auto;
}

@media (max-width: 1024px) {
	.castle-desk-nav-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.todays-magic-scroll {
		position: static;
		margin: 0 auto 20px;
	}
}

@media (max-width: 600px) {
	.castle-desk-nav-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.desk-nav-tile {
	background: linear-gradient(180deg, rgba(42, 22, 8, 0.9) 0%, rgba(20, 10, 4, 0.95) 100%);
	border: 2px solid var(--santa-gold);
	border-radius: 14px;
	padding: 12px 8px;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.6);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

.tile-icon-frame {
	font-size: 1.8rem;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: radial-gradient(circle, #7a0016 0%, #3d000a 100%);
	border: 1px solid var(--santa-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
}

.tile-label {
	color: #fff8d6;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.1;
}

.desk-nav-tile:hover {
	transform: translateY(-5px) scale(1.04);
	border-color: #ffffff;
	box-shadow: 0 10px 25px rgba(212, 175, 55, 0.5);
}

/* Completely Hide Falling Elements & Snow Canvases */
.santa-snow-canvas,
.santa-snow-canvas-container {
	display: none !important;
	pointer-events: none !important;
}

/* ============================================================
   BACKGROUND ARTWORK FOR VILLAGE MAP, CASTLE ROOM & GLOBE ROOM
   ============================================================ */
.village-map-stage {
	background: url('../images/santa_village_map_bg.jpg') center center / cover no-repeat !important;
	border: 3px solid var(--santa-gold) !important;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.9), inset 0 0 30px rgba(0, 0, 0, 0.5) !important;
}

.castle-chamber-frame {
	background: url('../images/santa_castle_bg.jpg') center center / cover no-repeat !important;
	border: 4px solid var(--santa-gold) !important;
	box-shadow: 0 15px 50px rgba(0, 0, 0, 0.9) !important;
}

.globe-center-stage {
	background: url('../images/santa_globe_room_bg.jpg') center center / cover no-repeat !important;
	border: 3px solid var(--santa-gold) !important;
}

/* Hide floating emojis from map canvas so artwork displays clearly */
.v-building-icon {
	display: none !important;
}

/* Clean Sign Badges on Map Canvas (Matching Screenshot 3) */
.v-clean-sign {
	background: linear-gradient(135deg, #c41e3a 0%, #7a0016 100%) !important;
	color: #ffffff !important;
	border: 2px solid var(--santa-gold) !important;
	border-radius: 20px !important;
	padding: 5px 12px !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.7), 0 0 10px rgba(212, 175, 55, 0.4) !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	white-space: nowrap !important;
}

.v-clean-sign:hover {
	transform: scale(1.12);
	border-color: #ffffff !important;
	box-shadow: 0 10px 25px rgba(212, 175, 55, 0.8) !important;
}

.v-clean-sign strong {
	background: var(--santa-gold) !important;
	color: #120b05 !important;
	border-radius: 50% !important;
	width: 18px !important;
	height: 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
}

/* Hotspot Pin Group matching Screenshot 3 */
.hotspot-pin-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 10;
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hotspot-pin-group:hover {
	transform: scale(1.15);
	z-index: 50;
}

.pin-circle-badge {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: radial-gradient(circle, #c41e3a 0%, #7a0016 100%);
	border: 2px solid var(--santa-gold);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.85rem;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.6), 0 0 10px rgba(212, 175, 55, 0.4);
	margin-bottom: -4px;
	z-index: 2;
}

.pin-parchment-box {
	background: linear-gradient(180deg, #fffdf7 0%, #f7e9cf 100%);
	border: 2px solid var(--santa-gold);
	border-radius: 10px;
	padding: 3px 10px;
	color: #381f08;
	font-size: 0.78rem;
	font-weight: 700;
	white-space: nowrap;
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.7);
	display: flex;
	align-items: center;
	gap: 5px;
}

/* ============================================================
   USER PORTAL / PROFILE SETTINGS FORM STYLING (HIGH LEGIBILITY)
   ============================================================ */
#santa-portal label,
.santa-portal-tab-content label,
#santa-profile-form label,
#santa-password-form label {
	color: #334155 !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	display: block !important;
	margin-bottom: 8px !important;
}

#santa-portal input[type="text"],
#santa-portal input[type="email"],
#santa-portal input[type="password"],
#santa-portal select,
#santa-portal textarea,
.santa-portal-tab-content input[type="text"],
.santa-portal-tab-content input[type="email"],
.santa-portal-tab-content input[type="password"],
.santa-portal-tab-content select,
.santa-portal-tab-content textarea {
	background: #ffffff !important;
	color: #0f172a !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 0.95rem !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#santa-portal input:focus,
.santa-portal-tab-content input:focus {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

/* ============================================================
   LIGHT THEME OVERRIDE FOR SANTA LETTER GENERATOR & FORM CARDS
   ============================================================ */
#santa-letter-app,
#santa-letter-app.santa-suite-wrapper,
#santa-story-app,
#santa-blog-app,
#santa-auth-page-wrapper {
	background: #f8fafc !important;
	color: #1e293b !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
}

#santa-letter-app .santa-form-card,
#santa-letter-app #letter-form-wrapper,
#santa-story-app .santa-form-card {
	background: #ffffff !important;
	color: #1e293b !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 20px !important;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06) !important;
}

#santa-letter-app h2,
#santa-letter-app h3,
#santa-letter-app h4,
#santa-letter-app h5,
#santa-letter-app .santa-form-header h2 {
	color: #1e293b !important;
	font-weight: 800 !important;
}

#santa-letter-app p,
#santa-letter-app small,
#santa-letter-app .description {
	color: #64748b !important;
}

#santa-letter-app label {
	color: #334155 !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	display: block !important;
	margin-bottom: 8px !important;
}

#santa-letter-app input[type="text"],
#santa-letter-app input[type="number"],
#santa-letter-app input[type="email"],
#santa-letter-app input[type="password"],
#santa-letter-app select,
#santa-letter-app textarea,
#santa-story-app input[type="text"],
#santa-story-app input[type="number"],
#santa-story-app input[type="email"],
#santa-story-app input[type="password"],
#santa-story-app select,
#santa-story-app textarea {
	background: #ffffff !important;
	color: #0f172a !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	font-size: 0.95rem !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

#santa-letter-app input:focus,
#santa-letter-app select:focus,
#santa-letter-app textarea:focus {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15) !important;
}

#santa-story-app input:focus,
#santa-story-app select:focus,
#santa-story-app textarea:focus {
	border-color: #d97706 !important;
	box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.15) !important;
}

#santa-letter-app .santa-card-option {
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	color: #0f172a !important;
}

#santa-letter-app .santa-card-option h5 {
	color: #0f172a !important;
}

#santa-letter-app .santa-card-option p {
	color: #64748b !important;
}

#santa-letter-app .santa-card-option.selected {
	background: linear-gradient(145deg, #fff5f5 0%, #fef2f2 100%) !important;
	border-color: #dc2626 !important;
}

#santa-letter-app .santa-card-option.selected h5 {
	color: #991b1b !important;
}

.pin-num {
	color: #7a0016;
	font-weight: 800;
	font-size: 0.82rem;
}

.pin-title {
	color: #2b1704;
}

/* ============================================================
   SANTA FOMO BANNER STYLES
   ============================================================ */
.santa-fomo-banner {
	position: relative;
	border-radius: 16px;
	padding: 24px;
	color: #ffffff;
	box-sizing: border-box;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.santa-fomo-banner.santa-fomo-upgrade {
	background: linear-gradient(135deg, #7f1d1d 0%, #1e1b4b 55%, #0f172a 100%);
	border: 2px solid #f59e0b;
	box-shadow: 0 10px 30px rgba(220, 38, 38, 0.25), 0 0 20px rgba(245, 158, 11, 0.15);
}

.santa-fomo-banner.santa-fomo-vip-active {
	background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 45%, #172554 100%);
	border: 2px solid #eab308;
	box-shadow: 0 10px 30px rgba(234, 179, 8, 0.2), inset 0 0 30px rgba(245, 158, 11, 0.08);
}

.santa-fomo-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.santa-fomo-tag {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	padding: 5px 14px;
	border-radius: 20px;
	letter-spacing: 0.6px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.santa-fomo-tag-flash {
	background: linear-gradient(90deg, #ef4444, #dc2626);
	color: #ffffff;
	box-shadow: 0 0 12px rgba(239, 68, 68, 0.5);
	animation: santaFomoPulse 2s infinite;
}

.santa-fomo-tag-vip {
	background: linear-gradient(90deg, #f59e0b, #eab308);
	color: #0f172a;
	box-shadow: 0 0 14px rgba(245, 158, 11, 0.4);
}

.santa-fomo-timer {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	font-size: 0.85rem;
	color: #fde047;
	background: rgba(0, 0, 0, 0.45);
	padding: 5px 14px;
	border-radius: 20px;
	border: 1px solid rgba(253, 224, 71, 0.3);
}

.santa-fomo-clock {
	font-family: monospace, monospace;
	font-size: 0.95rem;
	letter-spacing: 1px;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.15);
	padding: 2px 8px;
	border-radius: 6px;
}

.santa-fomo-status-live {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 0.85rem;
	color: #4ade80;
	background: rgba(0, 0, 0, 0.45);
	padding: 5px 14px;
	border-radius: 20px;
	border: 1px solid rgba(74, 222, 128, 0.3);
}

.santa-live-pulse-dot {
	width: 8px;
	height: 8px;
	background: #22c55e;
	border-radius: 50%;
	display: inline-block;
	box-shadow: 0 0 10px #22c55e;
	animation: santaPulseDot 1.5s infinite;
}

.santa-fomo-ticker {
	background: rgba(0, 0, 0, 0.3);
	border: 1px dashed rgba(249, 115, 22, 0.4);
	border-radius: 10px;
	padding: 10px 14px;
	margin-bottom: 16px;
	font-size: 0.88rem;
	color: #fef08a;
	display: flex;
	align-items: center;
	gap: 10px;
}

.santa-fomo-title {
	color: #ffffff !important;
	font-size: 1.35rem;
	font-weight: 800;
	margin: 0 0 10px 0;
	display: flex;
	align-items: center;
	gap: 10px;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.santa-fomo-title.santa-vip-title {
	color: #ffffff !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.santa-fomo-desc {
	margin: 0 0 16px 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: #cbd5e1;
}

.santa-fomo-banner .premium-benefits-list {
	list-style: none;
	padding: 0;
	margin: 0 0 18px 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
}

.santa-fomo-banner .premium-benefits-list li {
	font-size: 0.88rem;
	color: #f8fafc;
	display: flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.06);
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.santa-fomo-banner .premium-benefits-list i {
	color: #f59e0b;
	font-size: 1rem;
}

.santa-vip-perks-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.santa-vip-perk-badge {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 0.88rem;
	font-weight: 600;
	color: #f8fafc;
	display: flex;
	align-items: center;
	gap: 8px;
}

.santa-fomo-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.santa-fomo-cta {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
	color: #0f172a !important;
	font-weight: 800 !important;
	font-size: 0.98rem !important;
	padding: 12px 24px !important;
	border-radius: 10px !important;
	border: none !important;
	box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4) !important;
	transition: all 0.2s ease !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.santa-fomo-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(245, 158, 11, 0.6) !important;
}

.santa-fomo-guarantee {
	font-size: 0.82rem;
	color: #94a3b8;
	display: flex;
	align-items: center;
	gap: 6px;
}

.santa-vip-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

@keyframes santaFomoPulse {
	0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
	70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
	100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

@keyframes santaPulseDot {
	0% { transform: scale(0.95); opacity: 0.8; }
	50% { transform: scale(1.25); opacity: 1; }
	100% { transform: scale(0.95); opacity: 0.8; }
}

/* ==========================================================================
   High-Visibility Password Toggle Buttons (Vibrant Red & Interactive Eye)
   ========================================================================== */
.santa-pass-toggle {
	position: absolute !important;
	right: 14px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	background: transparent !important;
	border: none !important;
	color: #dc2626 !important;
	font-size: 1.15rem !important;
	z-index: 10 !important;
	cursor: pointer !important;
	padding: 4px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: color 0.2s, transform 0.2s !important;
}

.santa-pass-toggle:hover {
	color: #991b1b !important;
	transform: translateY(-50%) scale(1.15) !important;
}

.santa-pass-toggle i {
	color: #dc2626 !important;
	font-size: 1.15rem !important;
	pointer-events: none !important;
}

/* ==========================================================================
   Font Awesome Font-Family Priority & Icon Display Fix
   ========================================================================== */
.fa, .fas, .far, .fal, .fad, .fab,
.fa-solid, .fa-regular, .fa-light, .fa-duotone, .fa-brands {
	font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome", sans-serif !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	line-height: 1 !important;
	-webkit-font-smoothing: antialiased !important;
}

/* ==========================================================================
   User Dashboard Sidebar Navigation Tabs with High-Visibility Vector Icons
   ========================================================================== */
.santa-portal-sidebar {
	max-height: 560px !important;
	overflow-y: auto !important;
	padding-right: 6px !important;
	box-sizing: border-box !important;
}

.santa-portal-sidebar::-webkit-scrollbar {
	width: 5px !important;
}
.santa-portal-sidebar::-webkit-scrollbar-track {
	background: #f1f5f9 !important;
	border-radius: 10px !important;
}
.santa-portal-sidebar::-webkit-scrollbar-thumb {
	background: #047857 !important;
	border-radius: 10px !important;
}
.santa-portal-sidebar::-webkit-scrollbar-thumb:hover {
	background: #065f46 !important;
}

.santa-portal-tab-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 10px 14px !important;
	border-radius: 12px !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: #475569 !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	text-align: left !important;
	box-sizing: border-box !important;
	margin-bottom: 4px !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.santa-portal-tab-btn .santa-tab-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.santa-portal-tab-btn .santa-tab-label i {
	font-size: 1.05rem !important;
	width: 20px !important;
	min-width: 20px !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #64748b !important;
	transition: transform 0.2s ease, color 0.2s ease !important;
}

.santa-nav-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 26px !important;
	height: 26px !important;
	padding: 0 6px !important;
	border-radius: 50% !important;
	background: #E0F2FE !important;
	color: #0369A1 !important;
	border: 1.5px solid #BAE6FD !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	margin-left: auto !important;
	flex-shrink: 0 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}

.santa-portal-tab-btn:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
}

.santa-portal-tab-btn:hover .santa-tab-label i {
	transform: scale(1.15) !important;
	color: #dc2626 !important;
}

.santa-portal-tab-btn.active {
	background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3) !important;
}

.santa-portal-tab-btn.active .santa-tab-label i {
	color: #ffffff !important;
}

.santa-portal-tab-btn.active .santa-nav-badge {
	background: rgba(255, 255, 255, 0.25) !important;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.45) !important;
	box-shadow: none !important;
}

.santa-portal-tab-btn.santa-upgrade-tab-btn {
	color: #ea580c !important;
	border: 1px dashed rgba(234, 88, 12, 0.4) !important;
	background: rgba(234, 88, 12, 0.05) !important;
}

.santa-portal-tab-btn.santa-upgrade-tab-btn i {
	color: #ea580c !important;
}

.santa-portal-tab-btn.santa-portal-logout-btn {
	margin-top: 6px !important;
	color: #dc2626 !important;
	border: 1px solid transparent !important;
	background: transparent !important;
}

.santa-portal-tab-btn.santa-portal-logout-btn:hover {
	background: #fef2f2 !important;
	color: #991b1b !important;
}

.santa-portal-tab-btn.santa-portal-logout-btn i {
	color: #dc2626 !important;
}

/* ============================================================
   SANTA AI 3-STEP DYNAMIC LOADER ANIMATIONS & STYLES
   ============================================================ */
@keyframes santaLoaderShimmer {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.santa-ai-loading-box {
	animation: santaLoaderFadeIn 0.35s ease-in-out;
}

@keyframes santaLoaderFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   RESPONSIVE LAYOUT & LAPTOP/MOBILE COMPATIBILITY STYLES
   ============================================================ */
.santa-split-container {
	display: grid;
	grid-template-columns: minmax(350px, 38%) 1fr;
	gap: 24px;
	align-items: start;
	width: 100%;
}

@media (max-width: 1200px) {
	.santa-split-container {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.santa-split-right-col {
		position: relative !important;
		top: 0 !important;
		max-height: none !important;
		z-index: 1 !important;
	}
}

/* Form Row Flexibility */
.santa-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 16px;
}

.santa-col-6 {
	flex: 1 1 calc(50% - 16px);
	min-width: 240px;
}

.santa-col-12 {
	flex: 1 1 100%;
	width: 100%;
}

@media (max-width: 640px) {
	.santa-col-6 {
		flex: 1 1 100%;
		min-width: 100%;
	}
	.santa-suite-wrapper {
		padding: 16px !important;
		border-radius: 12px !important;
	}
}

/* User Dashboard & Portal Tables Responsiveness */
.santa-portal-wrapper,
.santa-user-dashboard-wrapper,
.santa-membership-wrapper {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

.santa-portal-table,
.santa-saved-items-table {
	width: 100%;
	min-width: 650px;
	border-collapse: collapse;
}

/* Auth Modals & Mobile Center Scaling */
.santa-auth-modal-dialog,
.santa-login-box,
.santa-register-box {
	max-width: 480px;
	width: 92%;
	margin: 0 auto;
	box-sizing: border-box;
}

@media (max-width: 480px) {
	.santa-auth-modal-dialog,
	.santa-login-box,
	.santa-register-box {
		padding: 20px 16px !important;
	}
}

/* Universal High Contrast Protection for Santa Error Boxes */
.santa-error-box,
.santa-error-box p,
.santa-error-box h4,
.santa-error-box div,
.santa-error-box span,
#live-letter-dynamic-body .santa-error-box,
#live-letter-dynamic-body .santa-error-box p,
#live-story-dynamic-body .santa-error-box,
#live-story-dynamic-body .santa-error-box p,
.book-content-text .santa-error-box,
.book-content-text .santa-error-box p,
.santa-parchment-inner .santa-error-box,
.santa-parchment-inner .santa-error-box p {
	color: #7f1d1d !important;
	font-weight: 700 !important;
}

.santa-error-box i,
#live-letter-dynamic-body .santa-error-box i,
#live-story-dynamic-body .santa-error-box i,
.book-content-text .santa-error-box i,
.santa-parchment-inner .santa-error-box i {
	color: #b91c1c !important;
}