/* InternMate Test Series — frontend styles (matches homepage: blue #2563eb / cyan #06b6d4). */
.ims-wrap{--ims-blue:#2563eb;--ims-blue-dark:#1d4ed8;--ims-cyan:#06b6d4;--ims-ink:#0f172a;--ims-muted:#64748b;--ims-border:#e2e8f0;--ims-surface:#f8fafc;
	--ims-green:#059669;--ims-green-bg:#ecfdf5;--ims-red:#dc2626;--ims-red-bg:#fef2f2;--ims-purple:#7c3aed;--ims-purple-bg:#f5f3ff;
	font-family:'Inter',system-ui,sans-serif;color:var(--ims-ink);line-height:1.55}

/* ── Buttons ── */
.ims-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;
	background:#fff;color:var(--ims-ink);border:1px solid var(--ims-border);cursor:pointer;transition:all .15s;text-decoration:none}
.ims-btn:hover{border-color:var(--ims-blue);color:var(--ims-blue)}
.ims-btn:disabled{opacity:.5;cursor:not-allowed}
.ims-btn-primary{background:var(--ims-blue);color:#fff;border-color:var(--ims-blue)}
.ims-btn-primary:hover{background:var(--ims-blue-dark);color:#fff}
.ims-btn-mark{background:var(--ims-purple-bg);color:var(--ims-purple);border-color:#ddd6fe}
.ims-btn-mark:hover{background:var(--ims-purple);color:#fff;border-color:var(--ims-purple)}
.ims-btn-submit{width:100%;background:var(--ims-green);color:#fff;border-color:var(--ims-green);margin-top:14px}
.ims-btn-submit:hover{background:#047857;color:#fff}
.ims-btn-sm{padding:6px 14px;font-size:13px}
.ims-row{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}

/* ── Page header (homepage style) ── */
.ims-page-head{text-align:center;max-width:720px;margin:10px auto 34px;padding:34px 20px 0}
.ims-eyebrow{display:inline-flex;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ims-blue)}
.ims-page-head h2{font-size:clamp(28px,4.5vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:10px 0 12px;color:var(--ims-ink)}
.ims-head-accent{background:linear-gradient(90deg,var(--ims-blue),var(--ims-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.ims-page-head p{color:var(--ims-muted);font-size:16.5px;margin:0 0 18px}
.ims-head-stats{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ims-head-stats span{font-size:13px;font-weight:600;color:#475569;background:var(--ims-surface);border:1px solid var(--ims-border);border-radius:999px;padding:6px 16px}
.ims-head-stats b{color:var(--ims-blue)}

/* ── Badges / lock ── */
.ims-card-top{display:flex;justify-content:flex-end;margin-bottom:6px}
.ims-badge{font-size:11px;font-weight:800;letter-spacing:.05em;border-radius:999px;padding:4px 12px}
.ims-badge-free{background:var(--ims-green-bg);color:var(--ims-green)}
.ims-badge-pro{background:linear-gradient(90deg,#fbbf24,#f59e0b);color:#78350f}
.ims-badge-resume{background:#eff6ff;color:var(--ims-blue)}
.ims-btn-resume{background:var(--ims-green);color:#fff;border-color:var(--ims-green)}
.ims-btn-resume:hover{background:#047857;color:#fff;border-color:#047857}
.ims-resume-note{font-size:12px;color:var(--ims-muted);margin:8px 0 0}
.ims-card-locked{background:linear-gradient(180deg,#fff,#fafafa)}
.ims-card-locked h3,.ims-card-locked .ims-desc{opacity:.75}
.ims-btn-lock{width:100%;background:#0f172a;color:#fff;border-color:#0f172a;justify-content:center}
.ims-btn-lock:hover{background:#1e293b;color:#fff;border-color:#1e293b}
.ims-lock-ico{width:15px;height:15px}

/* pro popup */
.ims-pro-box{text-align:center;max-width:400px}
.ims-pro-lock{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.ims-pro-lock svg{width:28px;height:28px}
.ims-pro-sub{color:var(--ims-muted);font-size:14.5px}
.ims-row-center{justify-content:center}
.ims-pro-perks{list-style:none;padding:0;margin:14px 0 18px;text-align:left;display:inline-block}
.ims-pro-perks li{font-size:13.5px;color:#334155;padding:4px 0;font-weight:500}
.ims-btn-upgrade{width:100%;justify-content:center;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#78350f!important;
	border:none;font-weight:800;font-size:15px;padding:14px 24px;box-shadow:0 8px 20px -8px rgba(245,158,11,.6)}
.ims-btn-upgrade:hover{transform:translateY(-2px);color:#78350f!important;box-shadow:0 12px 26px -8px rgba(245,158,11,.75)}
.ims-badge-unlocked{background:var(--ims-green-bg);color:var(--ims-green)}

/* ── Test cards ── */
.ims-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:10px 0 30px}
.ims-card{background:#fff;border:1px solid var(--ims-border);border-radius:12px;padding:22px;transition:box-shadow .2s,transform .2s}
.ims-card:hover{box-shadow:0 12px 30px -12px rgba(15,23,42,.15);transform:translateY(-2px)}
.ims-card h3{margin:0 0 8px;font-size:18px;font-weight:700}
.ims-desc{color:var(--ims-muted);font-size:14px;margin:0 0 14px}
.ims-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.ims-meta span{font-size:12px;font-weight:600;background:var(--ims-surface);border:1px solid var(--ims-border);border-radius:999px;padding:4px 12px;color:#475569}
.ims-empty{color:var(--ims-muted)}
.ims-h3{font-size:20px;font-weight:700;margin:26px 0 12px}

/* ── Tables ── */
.ims-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--ims-border);border-radius:10px;overflow:hidden}
.ims-table th{background:var(--ims-surface);text-align:left;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--ims-border)}
.ims-table td{padding:10px 14px;border-bottom:1px solid var(--ims-border)}
.ims-table tr:last-child td{border-bottom:0}
.ims-table-sm td{padding:7px 12px}
.ims-ok{color:var(--ims-green);font-weight:600}
.ims-bad{color:var(--ims-red);font-weight:600}

/* ── Panels ── */
.ims-panel{background:#fff;border:1px solid var(--ims-border);border-radius:14px;padding:28px;max-width:960px;margin:0 auto}
.ims-instructions ul{padding-left:20px;color:#334155;font-size:14.5px}
.ims-instructions li{margin-bottom:8px}
.ims-inst-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:18px 0}
.ims-inst-meta div{background:var(--ims-surface);border:1px solid var(--ims-border);border-radius:10px;padding:12px;text-align:center}
.ims-inst-meta b{display:block;font-size:20px}
.ims-inst-meta span{font-size:12px;color:var(--ims-muted)}
.ims-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:#475569;margin-top:14px}
.ims-legend span{display:inline-flex;align-items:center;gap:6px}
.ims-notice{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;margin-bottom:16px}

/* ── Player ── */
.ims-player{background:#fff;border:1px solid var(--ims-border);border-radius:14px;overflow:hidden}
.ims-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--ims-border);background:var(--ims-surface)}
.ims-player-title{font-weight:700;font-size:16px}
.ims-timer-box{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;background:#fff;border:1px solid var(--ims-border);border-radius:8px;padding:6px 14px}
.ims-timer-low{color:var(--ims-red);animation:imsBlink 1s steps(1) infinite}
@keyframes imsBlink{50%{opacity:.55}}
.ims-player-body{display:flex;min-height:440px}
.ims-qarea{flex:1;padding:24px;display:flex;flex-direction:column}
.ims-qhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.ims-qnum{font-weight:700;font-size:14px}
.ims-qtopic{font-size:12px;font-weight:600;background:#eff6ff;color:var(--ims-blue);border-radius:999px;padding:4px 12px}
.ims-qtext{font-size:16.5px;font-weight:500;margin-bottom:18px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}
.ims-opts{display:flex;flex-direction:column;gap:10px}
.ims-opt{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--ims-border);border-radius:10px;padding:12px 14px;cursor:pointer;transition:all .15s;font-size:15px;word-break:break-word;overflow-wrap:anywhere}
.ims-opt:hover{border-color:var(--ims-blue);background:#f8fbff}
.ims-opt input{position:absolute;opacity:0}
.ims-opt-letter{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ims-border);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}
.ims-opt-sel{border-color:var(--ims-blue);background:#eff6ff}
.ims-opt-sel .ims-opt-letter{background:var(--ims-blue);border-color:var(--ims-blue);color:#fff}
.ims-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:22px}

/* ── Palette sidebar ── */
.ims-side{width:250px;border-left:1px solid var(--ims-border);padding:18px;background:var(--ims-surface)}
.ims-side-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:11.5px;color:#475569;margin-bottom:14px}
.ims-side-legend span{display:inline-flex;align-items:center;gap:5px}
.ims-wrap .ims-palette{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px;width:100%}
.ims-pal{width:100%;aspect-ratio:1;min-width:0;padding:0!important;margin:0!important;line-height:1;box-sizing:border-box;
	border-radius:8px;border:1px solid var(--ims-border);background:#fff;color:var(--ims-ink);
	font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .1s}
.ims-pal:hover{transform:scale(1.08)}
i.ims-pal{width:16px;height:16px;min-width:0;aspect-ratio:auto;cursor:default;border-radius:5px}
/* High specificity + !important: theme button CSS must not override palette states */
.ims-wrap .ims-pal{appearance:none;-webkit-appearance:none;position:relative}
.ims-wrap .ims-pal-na{background:#fff!important;border-color:var(--ims-border)!important;color:#64748b!important}
.ims-wrap .ims-pal-green{background:var(--ims-green)!important;border-color:var(--ims-green)!important;color:#fff!important}
.ims-wrap .ims-pal-red{background:var(--ims-red)!important;border-color:var(--ims-red)!important;color:#fff!important}
.ims-wrap .ims-pal-mark{background:var(--ims-purple)!important;border-color:var(--ims-purple)!important;color:#fff!important}
.ims-wrap .ims-pal-markans{background:var(--ims-purple)!important;border-color:var(--ims-purple)!important;color:#fff!important}
.ims-wrap .ims-pal-markans::after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:50%;background:#34d399;border:1.5px solid #fff}
.ims-wrap .ims-pal-cur{outline:2.5px solid var(--ims-blue);outline-offset:2px}

/* ── Exam mode: hide site chrome while test runs ── */
body.ims-testing header,
body.ims-testing footer,
body.ims-testing .site-header,
body.ims-testing .site-footer,
body.ims-testing #masthead,
body.ims-testing #colophon,
body.ims-testing #wpadminbar,
body.ims-testing .elementor-location-header,
body.ims-testing .elementor-location-footer,
body.ims-testing [data-elementor-type="header"],
body.ims-testing [data-elementor-type="footer"],
body.ims-testing .hdr-wrap,
body.ims-testing .ftr-wrap{display:none!important}
body.ims-testing{margin-top:0!important;overflow:hidden!important}
html body.ims-testing{padding-top:0!important}

/* Player breaks out of the theme's narrow content column and fills the viewport */
body.ims-testing #ims-app{
	position:fixed!important;inset:0!important;z-index:99999!important;
	background:var(--ims-surface,#f8fafc);overflow-y:auto;padding:0!important;margin:0!important;max-width:none!important;width:100vw!important
}
body.ims-testing .ims-player{
	border-radius:0!important;border:0!important;min-height:100vh;display:flex;flex-direction:column
}
/* Instructions screen also runs distraction-free, centered in the viewport */
body.ims-testing .ims-instructions{max-width:820px;margin:0 auto;min-height:100vh;border:0;border-radius:0;
	display:flex;flex-direction:column;justify-content:center;padding:40px 28px}
body.ims-testing .ims-player-body{flex:1;min-height:0}
body.ims-testing .ims-qarea{padding:28px 36px}
body.ims-testing .ims-side{width:300px}
body.ims-testing .ims-qtext{font-size:19px}
body.ims-testing .ims-opt{font-size:16px;padding:14px 18px}
@media(max-width:820px){
	body.ims-testing .ims-qarea{padding:20px}
	body.ims-testing .ims-side{width:100%}
}

/* ── Pause overlay / proctoring ── */
.ims-head-right{display:flex;align-items:center;gap:10px}
.ims-pause-overlay{position:absolute;inset:0;background:rgba(248,250,252,.98);z-index:50;display:flex;align-items:center;justify-content:center}
.ims-pause-overlay[hidden]{display:none}
.ims-pause-inner{text-align:center;max-width:340px;padding:20px}
.ims-pause-inner h3{margin:0 0 8px;font-size:22px}
.ims-pause-inner p{color:var(--ims-muted);font-size:14.5px;margin:0 0 18px}
.ims-player{position:relative}
.ims-viol-box{text-align:center;max-width:400px;position:relative}
.ims-modal-x{position:absolute;top:10px;right:14px;background:none!important;border:none!important;padding:4px!important;margin:0!important;
	font-size:26px;line-height:1;color:#94a3b8;cursor:pointer;font-weight:400}
.ims-modal-x:hover{color:var(--ims-ink)}
.ims-viol-ico{width:56px;height:56px;border-radius:50%;background:#fef3c7;color:#b45309;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}

/* ── Modal ── */
.ims-modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.ims-modal[hidden]{display:none}
.ims-modal-box{background:#fff;border-radius:14px;padding:26px;max-width:420px;width:100%;box-shadow:0 30px 60px -20px rgba(0,0,0,.35)}
.ims-modal-box h3{margin:0 0 14px}

/* ── Analysis ── */
.ims-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0}
.ims-stat{background:var(--ims-surface);border:1px solid var(--ims-border);border-radius:10px;padding:14px;text-align:center}
.ims-stat b{display:block;font-size:22px;font-variant-numeric:tabular-nums}
.ims-stat b small{font-size:13px;color:var(--ims-muted);font-weight:600}
.ims-stat span{font-size:12px;color:var(--ims-muted)}
.ims-counts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ims-tag{font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 12px}
.ims-tag-green{background:var(--ims-green-bg);color:var(--ims-green)}
.ims-tag-red{background:var(--ims-red-bg);color:var(--ims-red)}
.ims-tag-gray{background:#f1f5f9;color:#64748b}
.ims-panel h3{margin:24px 0 10px;font-size:18px}
.ims-bar{display:inline-block;width:90px;height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden;vertical-align:middle;margin-right:6px}
.ims-bar div{height:100%;background:linear-gradient(90deg,var(--ims-blue),var(--ims-cyan));border-radius:99px}

/* ── Graphical analysis ── */
.ims-analysis{max-width:1000px}
.ims-an-head{text-align:center;margin-bottom:22px}
.ims-an-head h2{font-size:clamp(24px,3.5vw,34px);font-weight:800;letter-spacing:-.02em;margin:6px 0 0}
.ims-an-hero{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px;margin-bottom:20px}
.ims-an-card{background:#fff;border:1px solid var(--ims-border);border-radius:14px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.ims-gauge{width:100%;max-width:200px;height:auto}
.ims-gauge-num{font-size:26px;font-weight:800;fill:var(--ims-ink);font-family:inherit}
.ims-donut{width:100%;max-width:170px;height:auto}
.ims-donut-num{font-size:30px;font-weight:800;fill:var(--ims-ink);font-family:inherit}
.ims-donut-lbl{font-size:12px;fill:var(--ims-muted);font-family:inherit}
.ims-an-cap{text-align:center}
.ims-an-cap b{display:block;font-size:20px;font-weight:800}
.ims-an-cap span{font-size:12.5px;color:var(--ims-muted)}
.ims-legend2{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;font-size:12.5px;color:#475569}
.ims-legend2 span{display:inline-flex;align-items:center;gap:6px}
.ims-legend2 i{width:10px;height:10px;border-radius:3px;display:inline-block}
.ims-an-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ims-kpi{background:var(--ims-surface);border:1px solid var(--ims-border);border-radius:12px;padding:14px;text-align:center}
.ims-kpi b{display:block;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.ims-kpi b small{font-size:13px;color:var(--ims-muted)}
.ims-kpi span{font-size:12px;color:var(--ims-muted)}

.ims-insights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:6px}
.ims-insight{border-radius:12px;padding:14px 16px;border:1px solid var(--ims-border)}
.ims-insight span{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ims-insight b{display:block;font-size:17px;font-weight:700;margin:4px 0 2px}
.ims-insight i{font-style:normal;font-size:12.5px;color:var(--ims-muted)}
.ims-insight-good{background:var(--ims-green-bg);border-color:#a7f3d0}
.ims-insight-good span{color:var(--ims-green)}
.ims-insight-weak{background:var(--ims-red-bg);border-color:#fecaca}
.ims-insight-weak span{color:var(--ims-red)}

.ims-topics{align-items:stretch;gap:16px}
.ims-tbar{width:100%}
.ims-tbar-head{display:flex;justify-content:space-between;font-size:14px;font-weight:600;margin-bottom:6px}
.ims-tbar-track{height:10px;background:#f1f5f9;border-radius:99px;overflow:hidden}
.ims-tbar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ims-tbar-fill.ims-good{background:linear-gradient(90deg,#059669,#34d399)}
.ims-tbar-fill.ims-mid{background:linear-gradient(90deg,#d97706,#fbbf24)}
.ims-tbar-fill.ims-low{background:linear-gradient(90deg,#dc2626,#f87171)}
.ims-tbar-meta{font-size:12px;color:var(--ims-muted);margin-top:5px}

.ims-timechart{display:flex;align-items:flex-end;gap:6px;width:100%;height:130px;overflow-x:auto;padding-bottom:4px}
.ims-tcol{flex:1;min-width:22px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.ims-tcol-bar{width:100%;max-width:34px;border-radius:6px 6px 0 0;min-height:4px}
.ims-tcol-bar.ims-good{background:#059669}
.ims-tcol-bar.ims-low{background:#dc2626}
.ims-tcol-bar.ims-skip{background:#cbd5e1}
.ims-tcol span{font-size:10.5px;color:var(--ims-muted);margin-top:5px}
.ims-chart-note{font-size:12px;color:var(--ims-muted);margin:10px 0 0;text-align:center}
.ims-chart-note i{width:9px;height:9px;border-radius:2px;display:inline-block;margin:0 3px 0 8px}

@media(max-width:820px){
	.ims-an-hero{grid-template-columns:1fr}
	.ims-insights{grid-template-columns:1fr}
}

/* review accordion */
.ims-review{border:1px solid var(--ims-border);border-radius:10px;margin-bottom:8px;background:#fff}
.ims-review summary{padding:12px 16px;cursor:pointer;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;flex-wrap:wrap;list-style:none}
.ims-review summary::-webkit-details-marker{display:none}
.ims-rv-num{font-weight:700;color:var(--ims-blue)}
.ims-rv-body{padding:0 16px 16px}
.ims-rv-q{font-weight:500;white-space:pre-wrap}
.ims-rv-opt{border:1px solid var(--ims-border);border-radius:8px;padding:9px 12px;margin-bottom:6px;font-size:14px}
.ims-rv-correct{border-color:var(--ims-green);background:var(--ims-green-bg)}
.ims-rv-wrong{border-color:var(--ims-red);background:var(--ims-red-bg)}
.ims-rv-exp{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:10px 12px;font-size:13.5px;margin-top:8px}
.ims-rv-meta{font-size:12px;color:var(--ims-muted);margin-top:8px}

/* ── Responsive ── */
@media(max-width:820px){
	.ims-player-body{flex-direction:column-reverse}
	.ims-side{width:100%;border-left:0;border-bottom:1px solid var(--ims-border)}
	.ims-palette{grid-template-columns:repeat(10,minmax(0,1fr))}
	.ims-controls .ims-btn{flex:1;padding:10px 8px;font-size:13px}
}
@media(max-width:480px){
	.ims-panel{padding:18px}
	.ims-palette{grid-template-columns:repeat(8,minmax(0,1fr))}
	.ims-stats{grid-template-columns:repeat(2,1fr)}
}
