/* --- Google Fonts Import (English & Hindi) --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500;600;700&display=swap');

/* --- Global Settings --- */
body {
    /* Hindi font sabse pehle rakha hai taaki Gole (Circles) na aayen */
    font-family: 'Noto Sans Devanagari', 'Inter', sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- Helper Class for Force Hindi --- */
.hindi-text {
    font-family: 'Noto Sans Devanagari', sans-serif !important;
}

/* --- Custom Scrollbar (Premium Look) --- */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f1f5f9; /* slate-100 */
}

::-webkit-scrollbar-thumb {
    background: #94a3b8; /* slate-400 */
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #64748b; /* slate-500 */
}

/* --- Ad Shimmer Effect (Loading Animation) --- */
@keyframes shimmer {
    0% { background-position: -1000px 0; }
    100% { background-position: 1000px 0; }
}

.ad-shimmer {
    background: linear-gradient(to right, #f1f5f9 4%, #e2e8f0 25%, #f1f5f9 36%);
    background-size: 1000px 100%;
    animation: shimmer 2s infinite linear;
}

/* --- Golden Premium Glow Animation --- */
@keyframes glow {
    0% { box-shadow: 0 0 5px #eab308; }
    50% { box-shadow: 0 0 20px #eab308; }
    100% { box-shadow: 0 0 5px #eab308; }
}

.premium-glow {
    animation: glow 2s infinite;
}

/* --- Loader Animation --- */
.loader {
    border: 3px solid #f3f3f3;
    border-top: 3px solid #4f46e5;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* --- Ad Container Helper --- */
.ad-container {
    background-color: #f8fafc;
    border: 2px dashed #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-weight: bold;
    text-align: center;
    overflow: hidden;
    position: relative;
}

.ad-label {
    position: absolute;
    top: 0;
    right: 0;
    background: #cbd5e1;
    color: #475569;
    font-size: 10px;
    padding: 2px 4px;
}

/* ============================================================
   🟢 EXAM IMAGES FIX
   ============================================================ */

/* 1. Option Images (Fixed 200x200) */
div.shrink-0 img {
    width: 200px !important;
    height: 200px !important;
    object-fit: contain;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 2px;
    margin-right: 10px;
}

/* 2. Question Main Image (Fully Responsive) */
.mb-4 img {
    width: 100% !important;      /* Full Width */
    height: auto !important;     /* Auto Height */
    max-width: 100% !important;  /* Screen se bahar nahi jayega */
    max-height: 400px;           /* Jyada lamba na ho */
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    display: block;
    margin-bottom: 15px;
}

/* 3. Mobile Adjustment */
@media (max-width: 768px) {
    div.shrink-0 img {
        width: 120px !important;
        height: 120px !important;
    }
}

/* ============================================================
   🟢 NEW: TEXT FORMATTING & TABLES FIX
   (Isse Paragraph aur Table sahi dikhenge)
   ============================================================ */

/* 1. Line Breaks Fix (Paragraphs) */
.exam-text-content {
    white-space: pre-wrap; /* Enter dabane par nayi line aayegi */
    line-height: 1.6;
    word-wrap: break-word;
}

/* 2. Table Design Styling */
.exam-text-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
    font-size: 0.9em;
    background-color: #ffffff;
    border: 1px solid #cbd5e1;
}

.exam-text-content th, 
.exam-text-content td {
    border: 1px solid #cbd5e1; /* Grey Border */
    padding: 10px 12px;
    text-align: left;
}

.exam-text-content th {
    background-color: #f1f5f9; /* Header Grey Color */
    font-weight: bold;
    color: #334155;
    text-transform: uppercase;
    font-size: 0.8rem;
}

.exam-text-content tr:nth-child(even) {
    background-color: #f8fafc; /* Zebra Striping (Ek line grey, ek white) */
}

.exam-text-content tr:hover {
    background-color: #f1f5f9;
}