/* ============================================================
   Telefon test səhifəsi
   ============================================================ */
.pt-hero { text-align:center; padding:28px 20px; margin-bottom:22px; }
.pt-hero-ico { font-size:46px; line-height:1; }
.pt-hero h1 { margin:10px 0 8px; font-size:28px; }
.pt-hero p { margin:0 auto 14px; max-width:640px; color:var(--muted); line-height:1.55; }
.pt-hero-note { font-size:13px; }
.btn-lg { padding:12px 26px; font-size:16px; }

.pt-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
@media (max-width:520px){ .pt-grid { grid-template-columns:1fr; } }

.pt-card { background:var(--surface,#fff); border:1px solid var(--border); border-radius:14px; padding:16px; display:flex; flex-direction:column; gap:10px; transition:box-shadow .15s, border-color .15s; }
.pt-card:hover { box-shadow:var(--shadow,0 6px 24px rgba(15,23,42,.08)); border-color:#cfd8e6; }
.pt-card-head { display:flex; align-items:center; gap:10px; }
.pt-ico { font-size:24px; line-height:1; }
.pt-card-head h3 { margin:0; font-size:16px; flex:1; }
.pt-desc { margin:0; color:var(--muted); font-size:13.5px; line-height:1.5; }
.pt-card > .btn, .pt-btn-row { align-self:flex-start; }
.pt-btn-row { display:flex; gap:8px; flex-wrap:wrap; }

/* vəziyyət nişanı */
.pt-badge::after { content:''; }
.pt-card[data-state="ok"] .pt-badge::after { content:'✓ keçdi'; color:#15803d; font-size:12px; font-weight:700; background:#dcfce7; padding:2px 8px; border-radius:20px; }
.pt-card[data-state="running"] .pt-badge::after { content:'… işləyir'; color:#92400e; font-size:12px; font-weight:700; background:#fef3c7; padding:2px 8px; border-radius:20px; }
.pt-card[data-state="na"] .pt-badge::after { content:'dəstəklənmir'; color:#991b1b; font-size:12px; font-weight:700; background:#fee2e2; padding:2px 8px; border-radius:20px; }

.pt-result { font-size:14px; line-height:1.5; }
.pt-result:empty { display:none; }
.pt-result.is-ok { color:#15803d; }
.pt-result.is-bad { color:#b91c1c; }
.pt-result b { color:var(--navy-900,#0f172a); }
.pt-note { color:var(--muted); font-size:12.5px; }
.pt-note.is-ok { color:#15803d; font-weight:600; }

/* mikrofon ölçü cubuğu */
.pt-meter { height:16px; background:#eef2f7; border-radius:10px; overflow:hidden; margin-bottom:8px; }
.pt-meter span { display:block; height:100%; width:0; background:linear-gradient(90deg,#22c55e,#eab308,#ef4444); transition:width .06s linear; }

/* kamera / video */
.pt-video { width:100%; max-height:300px; border-radius:10px; background:#000; display:block; margin-bottom:8px; object-fit:contain; }
.pt-cam-row { display:flex; gap:8px; }

.pt-foot { margin-top:22px; color:var(--muted); font-size:13px; line-height:1.55; }

/* ---------- Tam ekran overlay (toxunma, ölü piksel) ---------- */
.pt-no-scroll { overflow:hidden; }
.pt-overlay { position:fixed; inset:0; z-index:9999; background:#fff; display:flex; flex-direction:column; }
.pt-exit { position:fixed; top:12px; right:12px; z-index:10001; border:0; border-radius:20px; padding:8px 16px; background:rgba(0,0,0,.6); color:#fff; font-size:14px; font-weight:600; cursor:pointer; }

/* toxunma */
.pt-touch { background:#0f172a; }
.pt-touch-grid { flex:1; display:grid; gap:2px; padding:2px; touch-action:none; }
.pt-touch-cell { background:#334155; border-radius:3px; transition:background .1s; }
.pt-touch-cell.is-hit { background:#22c55e; }
.pt-touch-info { position:fixed; bottom:16px; left:0; right:0; text-align:center; color:#fff; font-size:15px; font-weight:600; text-shadow:0 1px 3px rgba(0,0,0,.6); padding:0 16px; }
.pt-touch-info.pt-ok { color:#4ade80; }

/* ölü piksel */
.pt-fill { cursor:pointer; }
.pt-fill-hint { position:fixed; bottom:20px; left:0; right:0; text-align:center; font-size:15px; font-weight:600; padding:0 16px; pointer-events:none; }
