:root{--brand:#0b6b7f;--ok:#1db954;--warn:#ffb020;--fail:#ff4d4f;--card:#fff;--border:#e8edf1;--muted:#6a7179;}
.seoqa-form{max-width:980px;margin:24px auto;padding:16px;border:1px solid #e6edf2;background:#fff;border-radius:14px}
.seoqa-form .row{display:flex;gap:12px;align-items:center}
.seoqa-form input[type=url]{flex:1;padding:14px 16px;border:1px solid #d9dee3;border-radius:10px;font-size:16px}
.seoqa-btn{background:var(--brand);color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;border:0;cursor:pointer}
.seoqa-btn.secondary{background:#fff;color:#0b1b2b;border:1px solid #e2e8ee}
.seoqa-btn:disabled{opacity:.6;cursor:not-allowed}
.seoqa-score-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:22px auto 10px}

/* Score header layout (PSI-style): score left, URL + legend right */
.seoqa-scorebar{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:26px;
  margin:22px auto 10px;
  max-width:980px;
}
.seoqa-scoreinfo{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.seoqa-scorebar .seoqa-report-url{
  margin-top:0;
}
.seoqa-scorebar .seoqa-score-legend{
  justify-content:flex-start;
}
@media (max-width:700px){
  .seoqa-scorebar{flex-direction:column;gap:10px;text-align:center;}
  .seoqa-scoreinfo{align-items:center;}
  .seoqa-scorebar .seoqa-score-legend{justify-content:center;}
}
.seoqa-score{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#111;background:conic-gradient(#ccc 0deg,#eee 0deg)}
.seoqa-sections{max-width:1180px;margin:16px auto}
.seoqa-section{background:#fff;border:1px solid var(--border);border-radius:18px;margin:18px 0;padding:20px 20px 10px;box-shadow:0 1px 2px rgba(0,0,0,.02)}
.seoqa-section h3{margin:0 0 12px 0;font-size:19px;font-weight:800;color:var(--brand)}
.seoqa-section h3 small{margin-left:8px;color:var(--muted);font-weight:600}
.seoqa-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1100px){.seoqa-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.seoqa-cards{grid-template-columns:1fr}}
.seoqa-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px}
.seoqa-card h4{margin:0;font-size:15px;font-weight:700;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.seoqa-line{font-size:13px}
.seoqa-meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#324355}
.seoqa-pill{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid transparent}
.seoqa-pill.pass{background:#e9f7ef;color:#0a6c3a;border-color:#caecd7}
.seoqa-pill.warn{background:#fff6e6;color:#885a00;border-color:#ffe3b3}
.seoqa-pill.fail{background:#feeeee;color:#9f1d17;border-color:#ffd1d1}
.seoqa-nextsteps{max-width:900px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;margin:18px auto}
.seoqa-nextsteps h3{margin:0 0 10px 0;font-size:18px;color:var(--brand)}
.seoqa-nextsteps ol{margin:6px 0 0 18px;padding:0;list-style:decimal}
.seoqa-nextsteps li{margin:10px 0;padding-bottom:10px;border-bottom:1px dashed #e9eef3}
.seoqa-nextsteps li:last-child{border-bottom:0}
.seoqa-nextline{font-size:13px;margin-top:4px;color:#2a3847}
.seoqa-download{text-align:center;margin-top:16px}
.seoqa-hidden{display:none!important}
.seoqa-muted{color:#6c757d;font-size:12px;text-align:center}

/* === SEOQA: audit running status (v1.4.5-p1a/p2b) === */
.seoqa-status{
  display:flex; align-items:center; justify-content:center;
  gap:8px; margin:14px 0 0; font-size:14px; color:var(--muted); text-align:center;
}
.seoqa-status .pulse{ width:10px; height:10px; border-radius:50%; background:var(--brand);
  box-shadow:0 0 0 0 rgba(11,107,127,.55); animation:seoqa-pulse 1.2s ease-out infinite; }
@keyframes seoqa-pulse{ 0%{transform:scale(1); box-shadow:0 0 0 0 rgba(11,107,127,.55);} 70%{transform:scale(1.4); box-shadow:0 0 0 10px rgba(11,107,127,0);} 100%{transform:scale(1); box-shadow:0 0 0 0 rgba(11,107,127,0);} }

/* === SEOQA: section badge (v1.4.5-p2) === */
.seoqa-section h3{ display:flex; align-items:center; gap:10px; color:var(--brand); }
.seoqa-section h3 small{ margin-left:auto; }
.seoqa-badge{ display:inline-flex; align-items:center; padding:2px 8px; border-radius:999px; font-size:12px; line-height:1; font-weight:800; background:#eef3f7; color:#2a3847; }
.seoqa-badge.ok{ background:var(--ok); color:#fff; }
.seoqa-badge.warn{ background:var(--warn); color:#111; }
.seoqa-badge.fail{ background:var(--fail); color:#fff; }

/* === SEOQA: accordions (v1.4.5-p3) === */
.seoqa-acc { border:1px solid var(--border); border-radius:14px; background:#fff; margin:14px 0; overflow:hidden; }
.seoqa-acc + .seoqa-acc{ margin-top:16px; }
.seoqa-acc-toggle{ width:100%; display:flex; align-items:center; gap:10px; background:#fff; border:0; padding:14px 16px; cursor:pointer; text-align:left; border-bottom:1px solid var(--border); }
.seoqa-acc-toggle:focus{ outline:2px solid var(--brand); outline-offset:2px; }
.seoqa-acc-toggle .chev{ width:12px; height:12px; flex:0 0 12px; transform:rotate(-90deg); border-right:2px solid #8894a1; border-bottom:2px solid #8894a1; margin-right:2px; transition:transform .18s ease; }
.seoqa-acc.open .seoqa-acc-toggle .chev{ transform:rotate(0deg); }
.seoqa-acc-toggle .t{ font-size:18px; font-weight:800; color:var(--brand); }
.seoqa-acc-toggle .seoqa-badge{ margin-left:8px; }
.seoqa-acc-toggle small{ margin-left:auto; color:var(--muted); font-weight:600; }
.seoqa-acc-content{ display:none; padding:14px 16px; }
.seoqa-acc.open .seoqa-acc-content{ display:block; }
.seoqa-cards{ margin-top:8px; }
.seoqa-nextsteps-section{ margin-top:12px; }
.seoqa-nextsteps-section h4{ margin:10px 0 6px; font-size:16px; font-weight:800; color:#0b1b2b; }
.seoqa-nextsteps-section ol{ margin:0; padding-left:18px; }
.seoqa-nextsteps-section li{ margin:6px 0; }
@media print{ .seoqa-acc-content{ display:block !important; } .seoqa-acc-toggle{ border-bottom:0; } }

/* === SEOQA Step A: running status pulse === */
.seoqa-status{
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:12px auto 0;
  font-size:14px;
  color:var(--muted);
  text-align:center;
}
.seoqa-status.is-active{ display:flex; }
.seoqa-status .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 0 0 rgba(11,107,127,.4);
  animation:seoqaPulse 1s infinite ease-in-out;
}
@keyframes seoqaPulse{
  0%{ box-shadow:0 0 0 0 rgba(11,107,127,.4); }
  70%{ box-shadow:0 0 0 10px rgba(11,107,127,0); }
  100%{ box-shadow:0 0 0 0 rgba(11,107,127,0); }
}

/* === SEOQA Step A: restore triangle chevrons === */
.seoqa-acc-toggle .chev{
  display:inline-block;
  width:0; height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:8px solid #8894a1;
  margin-right:6px;
  background:transparent !important;
  box-shadow:none !important;
  transform:rotate(0deg);
  transition:transform .18s ease;
}
.seoqa-acc.open .seoqa-acc-toggle .chev{
  transform:rotate(90deg);
}


/* SEOQA: brief section description line under accordion title */
.seoqa-acc-desc{
  margin:4px 14px 6px 34px;
  font-size:13px;
  color:var(--muted);
}

/* === SEOQA UI: soften selected accordion, remove inner brand line === */
.seoqa-acc.open{
  border-color:#85b5bf; /* lighter shade of brand teal */
  box-shadow:0 0 0 1px rgba(11,107,127,0.10);
}
.seoqa-acc.open .seoqa-acc-toggle{
  border-bottom-color:transparent;
}

/* === SEOQA UI: remove inner divider line on all accordions === */
.seoqa-acc .seoqa-acc-toggle{
  border-bottom-color:transparent;
}


/* Header layout for SEOQA cards: title on the left, pill on the right */
.seoqa-check-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
    margin-bottom:4px;
}

.seoqa-check-title{
    margin:0;
    font-size:15px;
    font-weight:700;
    line-height:1.3;
    flex:1 1 auto;
    min-width:0;
}

.seoqa-check-status .seoqa-pill{
    white-space:nowrap;
    flex:0 0 auto;
}


/* Impact labels (Standard) */
.seoqa-impact{
    margin: 0 0 6px 0;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    opacity: 1;
}
.seoqa-impact-critical{ color:#B42318; }
.seoqa-impact-important{ color:#B54708; }
.seoqa-impact-best{ color:#475467; }



/* Accessibility: visually hidden label */
.seoqa-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Report URL under score */
.seoqa-report-url{
  display:block;
  margin-top:8px;
  font-weight:700;
  text-decoration:none;
  color:var(--brand);
  word-break:break-all;
}
.seoqa-report-url:hover{ text-decoration:underline; }

/* Score legend (PSI-style) */
.seoqa-score-legend{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  font-size:12px;
  color:#475467;
}
.seoqa-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
}
.seoqa-dot-red{ background:#B42318; }
.seoqa-dot-amber{ background:#FFB020; }
.seoqa-dot-green{ background:#027A48; }
.seoqa-legend-range{ margin-right:6px; }


.seoqa-generated{ margin-top:10px; }


@media (max-width: 640px){
  .seoqa-scorebar{ flex-direction:column; gap:12px; }
  .seoqa-scoreinfo{ align-items:center; text-align:center; }
}



/* Free: Our Recommendations should not render as a second "boxed" panel inside the accordion */
.seoqa-acc-content .seoqa-nextsteps{
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.seoqa-acc-content .seoqa-nextsteps ol{
  margin: 0 0 0 20px;
}
