/* ==========================================================================
   ExamDisha Education Formats & TinyMCE Styles
   ========================================================================== */

/* --- 1. Study Callout Boxes --- */
.ed-style-box {
	padding: 16px 20px;
	margin: 20px 0;
	border-radius: 12px;
	font-size: 16px;
	line-height: 1.6;
	position: relative;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.ed-box-note {
	background-color: #ecfdf5;
	border-left: 5px solid #10b981;
	color: #065f46;
}

.ed-box-tip {
	background-color: #fffbeb;
	border-left: 5px solid #f59e0b;
	color: #92400e;
}

.ed-box-info {
	background-color: #eff6ff;
	border-left: 5px solid #3b82f6;
	color: #1e40af;
}

.ed-box-warning {
	background-color: #fef2f2;
	border-left: 5px solid #ef4444;
	color: #991b1b;
}

/* --- 2. Standard Action Buttons --- */
a.ed-style-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	margin: 10px 8px 10px 0;
	border-radius: 8px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none !important;
	transition: all 0.3s ease;
	cursor: pointer;
	box-sizing: border-box;
}

a.ed-btn-primary {
	background-color: #10b981;
	color: #ffffff !important;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
a.ed-btn-primary:hover {
	background-color: #059669;
	transform: translateY(-2px);
}

a.ed-btn-quiz {
	background-color: #f59e0b;
	color: #111827 !important;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
a.ed-btn-quiz:hover {
	background-color: #d97706;
	transform: translateY(-2px);
}

a.ed-btn-pdf {
	background-color: #ef4444;
	color: #ffffff !important;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
a.ed-btn-pdf:hover {
	background-color: #dc2626;
	transform: translateY(-2px);
}

/* --- 2B. Uiverse Custom Action Buttons --- */

/* 1) AI Glow Sparkle Button (prikshit_1236) */
a.ed-style-btn.ed-btn-ai {
	position: relative;
	padding: 14px 32px;
	border-radius: 999px;
	color: #ffffff !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.3px;
	background: linear-gradient(180deg, #a67dff 0%, #7a45ff 45%, #5d24ff 100%);
	box-shadow: 0 0 0 6px rgba(125, 71, 255, 0.12), 0 10px 30px rgba(98, 43, 255, 0.35), inset 0 2px 10px rgba(255, 255, 255, 0.22);
	overflow: hidden;
	isolation: isolate;
}
a.ed-style-btn.ed-btn-ai::before {
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.05) 45%, rgba(255, 255, 255, 0));
	z-index: 1;
	pointer-events: none;
}
a.ed-style-btn.ed-btn-ai:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 0 0 10px rgba(125, 71, 255, 0.16), 0 16px 40px rgba(98, 43, 255, 0.42), inset 0 2px 10px rgba(255, 255, 255, 0.28);
}

/* 2) Slide Fill Indigo Button (Itskrish01) */
a.ed-style-btn.ed-btn-slide {
	position: relative;
	padding: 12px 28px;
	overflow: hidden;
	font-weight: 600;
	background-color: #6366f1;
	border-radius: 8px;
	color: #ffffff !important;
	z-index: 1;
}
a.ed-style-btn.ed-btn-slide::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: all 0.5s ease-in-out;
	transform: translateX(-100%);
	background-color: #4f46e5;
	border-radius: 8px;
	z-index: -1;
}
a.ed-style-btn.ed-btn-slide:hover::before {
	transform: translateX(0);
}
a.ed-style-btn.ed-btn-slide:hover {
	box-shadow: 0 8px 20px rgba(79, 70, 229, 0.35);
}

/* 3) Ripple Circle Hover Button (yaasiinaxmed) */
a.ed-style-btn.ed-btn-ripple {
	--color: #0077ff;
	position: relative;
	padding: 10px 24px;
	overflow: hidden;
	color: var(--color) !important;
	border: 2px solid var(--color);
	border-radius: 8px;
	background: transparent;
	z-index: 1;
}
a.ed-style-btn.ed-btn-ripple::before {
	position: absolute;
	content: "";
	background: var(--color);
	width: 250px;
	height: 250px;
	z-index: -1;
	border-radius: 50%;
	top: 100%;
	left: 100%;
	transition: 0.4s all ease;
}
a.ed-style-btn.ed-btn-ripple:hover {
	color: #ffffff !important;
}
a.ed-style-btn.ed-btn-ripple:hover::before {
	top: -50px;
	left: -50px;
}

/* 4) Beating Heart 3D Button (LilaRest) */
@keyframes movingBorders {
	0% { border-color: #fce4e4; }
	50% { border-color: #ffd8d8; }
	90% { border-color: #fce4e4; }
}
a.ed-style-btn.ed-btn-heart {
	padding: 14px 28px;
	box-shadow: rgba(10, 37, 64, 0.25) 0px -2px 6px 0px inset;
	background-color: #f3f4f6;
	border-color: #ffe2e2;
	border-style: solid;
	border-width: 6px;
	border-radius: 35px;
	font-size: 16px;
	font-weight: 900;
	color: #ef4444 !important;
	font-family: monospace;
	transition: transform 400ms cubic-bezier(0.68, -0.55, 0.27, 2.5), border-color 400ms ease-in-out, background-color 400ms ease-in-out;
}
a.ed-style-btn.ed-btn-heart:hover {
	background-color: #ffffff;
	transform: scale(1.05);
	animation: movingBorders 3s infinite;
}

/* 5) Social Pill Hover Button (mrhyddenn) */
a.ed-style-btn.ed-btn-pill {
	background: transparent;
	position: relative;
	padding: 10px 24px;
	border: 2px solid #2890f1;
	border-radius: 25px;
	color: #2890f1 !important;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease;
}
a.ed-style-btn.ed-btn-pill::before {
	position: absolute;
	top: 0;
	left: -5em;
	right: 0;
	bottom: 0;
	margin: auto;
	content: '';
	border-radius: 50%;
	width: 20em;
	height: 20em;
	transition: box-shadow 0.5s ease-out;
	z-index: -1;
}
a.ed-style-btn.ed-btn-pill:hover {
	color: #ffffff !important;
}
a.ed-style-btn.ed-btn-pill:hover::before {
	box-shadow: inset 0 0 0 10em #2890f1;
}

/* 6) Alert Shake Button (gharsh11032000) */
@keyframes edShake {
	0% { transform: rotate(0deg); }
	33% { transform: rotate(5deg); }
	66% { transform: rotate(-5deg); }
	100% { transform: rotate(5deg); }
}
a.ed-style-btn.ed-btn-shake {
	position: relative;
	padding: 12px 28px;
	background-color: #212121;
	color: #e8e8e8 !important;
	border-radius: 50px;
	overflow: hidden;
	z-index: 1;
}
a.ed-style-btn.ed-btn-shake::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transform: translateY(105%);
	background-color: #f53844;
	transition: all 0.3s cubic-bezier(0.23, 1, 0.320, 1);
	z-index: -1;
}
a.ed-style-btn.ed-btn-shake:hover {
	animation: edShake 0.2s linear 1;
}
a.ed-style-btn.ed-btn-shake:hover::before {
	transform: translateY(0);
}

/* --- 3. Styled Lists --- */
ul.ed-style-list,
ol.ed-style-list,
div.ed-style-list {
	list-style: none !important;
	padding-left: 5px !important;
	margin: 16px 0;
}

.ed-style-list li,
.ed-style-list p,
li.ed-style-list,
p.ed-style-list {
	position: relative;
	padding-left: 32px !important;
	margin-bottom: 12px;
	line-height: 1.6;
	list-style: none !important;
}

.ed-list-check li::before, .ed-list-check p::before, li.ed-list-check::before, p.ed-list-check::before {
	content: "✓";
	position: absolute;
	left: 4px;
	top: 0;
	color: #10b981;
	font-weight: 900;
}

.ed-list-arrow li::before, .ed-list-arrow p::before, li.ed-list-arrow::before, p.ed-list-arrow::before {
	content: "➡️";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-star li::before, .ed-list-star p::before, li.ed-list-star::before, p.ed-list-star::before {
	content: "⭐";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-hand li::before, .ed-list-hand p::before, li.ed-list-hand::before, p.ed-list-hand::before {
	content: "👉";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-pin li::before, .ed-list-pin p::before, li.ed-list-pin::before, p.ed-list-pin::before {
	content: "📌";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-target li::before, .ed-list-target p::before, li.ed-list-target::before, p.ed-list-target::before {
	content: "🎯";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-book li::before, .ed-list-book p::before, li.ed-list-book::before, p.ed-list-book::before {
	content: "📚";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-idea li::before, .ed-list-idea p::before, li.ed-list-idea::before, p.ed-list-idea::before {
	content: "💡";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

.ed-list-trophy li::before, .ed-list-trophy p::before, li.ed-list-trophy::before, p.ed-list-trophy::before {
	content: "🏆";
	position: absolute;
	left: 4px;
	top: 2px;
	font-size: 14px;
}

/* --- 4. Text Highlighting & Badges --- */
span.ed-style-highlight {
	padding: 2px 6px;
	border-radius: 4px;
	font-weight: 600;
}

span.ed-hl-yellow {
	background-color: #fef08a;
	color: #713f12;
}

span.ed-hl-green {
	background-color: #a7f3d0;
	color: #064e3b;
}

span.ed-hl-orange {
	background-color: #fed7aa;
	color: #7c2d12;
}

span.ed-hl-blue {
	background-color: #bfdbfe;
	color: #1e3a8a;
}

span.ed-hl-purple {
	background-color: #e9d5ff;
	color: #581c87;
}

span.ed-hl-underline {
	background: linear-gradient(180deg, transparent 65%, #fde047 65%);
	padding: 0 4px;
	font-weight: 700;
}

span.ed-hl-neon {
	color: #10b981;
	text-shadow: 0 0 8px rgba(16, 185, 129, 0.4);
	font-weight: 800;
}

span.ed-hl-alert {
	background-color: #fef2f2;
	color: #ef4444;
	border: 1px dashed #ef4444;
	padding: 2px 8px;
	border-radius: 6px;
	font-weight: 700;
}

span.ed-style-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 9999px;
	background-color: #1e293b;
	color: #f8fafc;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

span.ed-style-dropcap {
	float: left;
	font-size: 52px;
	line-height: 48px;
	font-weight: 900;
	color: #10b981;
	margin-right: 12px;
	margin-bottom: 4px;
	font-family: Georgia, serif;
}

/* --- 5. Quotes & Formulas --- */
.ed-style-formula {
	background-color: #1e293b;
	color: #38bdf8;
	padding: 18px 24px;
	border-radius: 12px;
	font-family: "Courier New", Courier, monospace;
	font-size: 17px;
	font-weight: 700;
	margin: 20px 0;
	border: 1px solid #334155;
	text-align: center;
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
}

blockquote.ed-style-quote {
	margin: 24px 0;
	padding: 20px 24px;
	border-radius: 8px;
	font-size: 17px;
	line-height: 1.7;
	position: relative;
}

blockquote.ed-quote-modern {
	background: #eff6ff;
	border-left: 5px solid #3b82f6;
	color: #1e3a8a;
	font-style: italic;
}

blockquote.ed-quote-big {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	padding: 36px 28px 24px 28px;
	color: #334155;
	text-align: center;
	font-style: italic;
}
blockquote.ed-quote-big::before {
	content: "“";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 64px;
	color: #cbd5e1;
	font-family: Georgia, serif;
	line-height: 1;
}

blockquote.ed-quote-gold {
	background: #fffbeb;
	border-left: 5px solid #d97706;
	color: #78350f;
	font-family: Georgia, serif;
	font-style: italic;
}

blockquote.ed-quote-gradient {
	background: linear-gradient(135deg, #f0fdf4 0%, #ccfbf1 100%);
	border-left: 5px solid #10b981;
	color: #065f46;
	font-weight: 500;
}

blockquote.ed-quote-dark {
	background: #1e293b;
	border-left: 5px solid #38bdf8;
	color: #f8fafc;
	font-style: italic;
	box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}

.ed-style-golden {
	background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
	border: 2px solid #f59e0b;
	border-radius: 12px;
	padding: 18px 24px;
	margin: 24px 0;
	color: #78350f;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(245, 158, 11, 0.1);
}

.ed-style-shortcut {
	background-color: #f3e8ff;
	border-left: 5px solid #9333ea;
	border-radius: 8px;
	padding: 16px 20px;
	margin: 20px 0;
	color: #581c87;
	font-weight: 600;
}

.ed-style-definition {
	background-color: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-top: 4px solid #22c55e;
	border-radius: 8px;
	padding: 18px 22px;
	margin: 20px 0;
	color: #14532d;
}

.ed-style-theorem {
	background-color: #ecfeff;
	border-left: 5px solid #06b6d4;
	border-radius: 8px;
	padding: 16px 20px;
	margin: 20px 0;
	color: #164e63;
	font-family: monospace;
	font-size: 16px;
}

.ed-style-pyq {
	background-color: #fff1f2;
	border: 1px dashed #f43f5e;
	border-radius: 12px;
	padding: 16px 20px;
	margin: 20px 0;
	color: #881337;
}

.ed-style-summary {
	background-color: #f1f5f9;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 20px 24px;
	margin: 24px 0;
	color: #334155;
}
