
/* v0.080.08.89.07 – image missing-alt highlight (strong) */
.seo-audit-img-missing-alt { 
  outline: 2px dashed #e55353 !important; 
  background: rgba(229,83,83,0.16) !important;
}


/* === 90.10 Inline UI for SEO Title + Meta Description === */
.inline-row{display:flex;align-items:center;gap:10px;margin:8px 0 8px;}
.inline-pill{font-size:11px;line-height:1;padding:4px 8px;border-radius:999px;background:#111;color:#fff;white-space:nowrap;}
.inline-bar-wrap{flex:1;display:flex;align-items:center;gap:8px;}
.inline-bar{position:relative;height:6px;border-radius:999px;background:#e6e6e6;overflow:hidden;flex:1;}
.inline-bar>span{display:block;height:100%;width:0%;background:#0ea5e9;transition:width 120ms linear;}
.inline-count{font-size:11px;color:#444;min-width:52px;text-align:right;}
.inline--good .inline-pill{background:#16a34a;color:#fff;}
.inline--ok .inline-pill{background:#eab308;color:#111;}
.inline--bad .inline-pill{background:#dc2626;color:#fff;}
.inline--good .inline-bar>span{background:#16a34a;}
.inline--ok .inline-bar>span{background:#eab308;}
.inline--bad .inline-bar>span{background:#dc2626;}

.seo-subtext{margin:.25rem 0 0 .5rem;font-size:12px;opacity:.9} .seo-subtext code{word-break:break-all}


.seo-audit-ui{padding:6px 0;}
.seo-row{margin-bottom:10px;}
.seo-row.dual{display:flex; gap:16px;}
.seo-row.dual .seo-col{flex:1; min-width:0;}
.seo-meter{height:6px; background:#e5e7eb; border-radius:999px; margin-top:6px; overflow:hidden;}
.seo-meter-bar{height:100%; width:0%; background:#9ca3af; transition:width .2s ease;}
.seo-pill{display:inline-block; margin:10px 0; padding:2px 8px; border-radius:999px; font-size:12px; background:#eef2ff; color:#1f2937; border:1px solid #c7d2fe;}
.seo-pill.good{background:#ecfdf5; border-color:#a7f3d0; color:#065f46;}
.seo-pill.ok{background:#fffbeb; border-color:#fde68a; color:#92400e;}
.seo-pill.bad{background:#fef2f2; border-color:#fecaca; color:#991b1b;}
.seo-actions{margin:8px 0 6px; display:flex; gap:8px;}
.seo-results{border:1px solid #e5e7eb; background:#fff; padding:10px; border-radius:6px;}
.seo-copy-wrap{margin-top:10px;}
.seo-tip{margin-top:4px; font-size:12px; color:#555;}

#seo-audit-result-body h3 { margin-top: 1.25rem; }
#seo-audit-result-body .seo-audit-list { margin: .25rem 0 0 1rem; }
#seo-audit-result-body .seo-audit-list li { margin: .15rem 0; }

/* === VSBL-UI v0.080.52.22 — card polish === */
#seo-audit-result { border:1px solid #e5e7eb; border-radius:12px; background:#fff; padding:14px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
#seo-audit-result-body{ font-size:14px; line-height:1.55; color:#0f172a; }
#seo-audit-run.button.button-primary{ padding:8px 14px; font-weight:600; border-radius:10px; box-shadow:0 1px 1px rgba(0,0,0,.08); }
#seo-audit-save-hint{ font-size:12px; color:#475569 !important; }
.omni-check{ display:grid; grid-template-columns:22px 1fr; align-items:start; gap:10px; padding:10px 12px; border:1px solid #eef2f7; border-radius:10px; background:#fafbff; margin:8px 0; }
.omni-pass{ border-color:#c6f6d5; background:#f0fff4; }
.omni-warn{ border-color:#fde68a; background:#fffbeb; }
.omni-fail{ border-color:#fecaca; background:#fff7f7; }
.omni-section{ margin-top:16px; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#64748b; border-top:1px dashed #e5e7eb; padding-top:8px; }
.omni-code{ font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace; background:#0b1020; color:#e6edf3; padding:10px 12px; border-radius:10px; overflow:auto; margin:10px 0; }

/* === VSBL-UI two-card grid === */
.omni-cards{ display:grid; gap:12px; }
@media (min-width: 1100px){
  .omni-cards{ grid-template-columns: 1fr 1fr; }
}
.omni-card{
  border:1px solid #e5e7eb; border-radius:12px; background:#fff;
  padding:12px; box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.omni-card h4{
  margin:0 0 8px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#334155;
}

/* Marker header */
.omni-layout-marker{
  font-size:12px; color:#475569; margin:4px 0 8px;
}


/* === VSBL-UI v0.080.52.28 — 7-card layout (3 per row) === */
.omni-cards{ display:grid; gap:12px; grid-template-columns: 1fr; }
@media (min-width:900px){ .omni-cards{ grid-template-columns: 1fr 1fr; } }
@media (min-width:1280px){ .omni-cards{ grid-template-columns: 1fr 1fr 1fr; } }

.omni-card{ border:1px solid #e5e7eb; border-radius:12px; background:#fff; padding:12px; box-shadow:0 1px 2px rgba(16,24,40,.04); }
.omni-card h4{ margin:0 0 8px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:#334155; }

/* v0.080.57.10 guard */
#seo-audit-result-body.omni-mounted > :not(.omni-cards):not(.omni-summary){display:none!important}


/* === VSBL Hotfix v0.080.56.01: Cards UI === */
#seo-audit-results.sat-cards-on .sat-card {
  display: block;
  border: 1px solid #D9DCE7;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 10px 0;
  background: #fff;
}
.sat-card__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 8px;
}
.sat-card__title {
  font-weight: 700;
  color: #1B2479;
}
.sat-item {
  display: flex;
  gap: 8px;
  line-height: 1.4;
  margin: 6px 0;
}
#seo-audit-results.sat-legacy,
#seo-audit-results.sat-plain {
  all: unset;
}



/* v0.03.01 Meta Description counter + progress */
.omni-meta-tools{
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.omni-meta-progress{
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.15);
  border-radius: 999px;
  overflow: hidden;
}
.omni-meta-progress-fill{
  display: block;
  height: 100%;
  width: 0%;
  background: #46b450; /* ok */
  transition: width 120ms linear;
}
.omni-meta-count{
  font-size: 12px;
  opacity: 0.9;
  white-space: nowrap;
}
.omni-meta-tools.omni-meta-warn .omni-meta-progress-fill{ background: #ffb900; }
.omni-meta-tools.omni-meta-fail .omni-meta-progress-fill{ background: #dc3232; }
.omni-meta-tools.omni-meta-fail .omni-meta-count{ color: #dc3232; font-weight: 600; }


/* === VSBL Brand Buttons v0.092.05.10 ===
   Gradient: #8761FC → #788BF4
   Scoped to VSBL plugin UI only (Classic metabox, Elementor slideout, VSBL admin pages).
*/

/* Classic metabox buttons */
#seo-audit-result .button,
#seo-audit-result-body .button,
#seo-audit-run.button,
#seo-audit-save-report.button,
#vsblseo_audit_save_report_btn.button,
#seo-audit-highlight.button,
.seo-actions .button,
.sa-actions .button{
  background: linear-gradient(135deg, #8761FC 0%, #788BF4 100%) !important;
  border-color: #8761FC !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.12) !important;
}

/* Elementor slideout buttons */
#omni-run-audit,
#omni-save-report,
#omni-copy-summary,
.omni-secondary,
.omni-edit-meta-description,
.omni-inline-link,
.omni-edit-meta-title,
.omni-edit-focus-keyword,
.omni-featured-add-btn{
  background: linear-gradient(135deg, #8761FC 0%, #788BF4 100%) !important;
  border: 1px solid #8761FC !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.12) !important;
}

/* VSBL admin pages (Dashboard/Settings/Sitemaps) */
body.toplevel_page_vsbl-dashboard .button,
body.toplevel_page_vsbl-dashboard .button-primary,
body.vsbl_page_vsbl-settings .button,
body.vsbl_page_vsbl-settings .button-primary,
body.vsbl_page_vsbl-sitemaps .button,
body.vsbl_page_vsbl-sitemaps .button-primary{
  background: linear-gradient(135deg, #8761FC 0%, #788BF4 100%) !important;
  border-color: #8761FC !important;
  color: #fff !important;
  text-shadow: none !important;
  box-shadow: 0 1px 2px rgba(16,24,40,.12) !important;
}

/* Hover/focus (keep subtle, uniform) */
#seo-audit-result .button:hover,
#seo-audit-result .button:focus,
#seo-audit-run.button:hover,
#seo-audit-run.button:focus,
#seo-audit-save-report.button:hover,
#seo-audit-save-report.button:focus,
#vsblseo_audit_save_report_btn.button:hover,
#vsblseo_audit_save_report_btn.button:focus,
#seo-audit-highlight.button:hover,
#seo-audit-highlight.button:focus,
.seo-actions .button:hover,
.seo-actions .button:focus,
.sa-actions .button:hover,
.sa-actions .button:focus,
#omni-run-audit:hover,
#omni-run-audit:focus,
#omni-save-report:hover,
#omni-save-report:focus,
#omni-copy-summary:hover,
#omni-copy-summary:focus,
.omni-secondary:hover,
.omni-secondary:focus,
body.toplevel_page_vsbl-dashboard .button:hover,
body.toplevel_page_vsbl-dashboard .button:focus,
body.vsbl_page_vsbl-settings .button:hover,
body.vsbl_page_vsbl-settings .button:focus,
body.vsbl_page_vsbl-sitemaps .button:hover,
body.vsbl_page_vsbl-sitemaps .button:focus{
  filter: brightness(0.93) !important;
}


/* Traffic-light colors for Meta Title & Meta Description bars only */
.vsbl-pass,
.vsbl-meta-good {
    background-color: #22c55e !important;
}

.vsbl-warn,
.vsbl-meta-warn {
    background-color: #f59e0b !important;
}

.vsbl-fail,
.vsbl-meta-bad {
    background-color: #ef4444 !important;
}


/* v0.093.06.06 classic inline spacing */
.sa-inline-row{margin-top:8px;margin-bottom:8px;}


/* v0.093.07.07 – lock Run Audit + Save Report to identical branded button sizing */
#vsblseo_audit_run_btn,
#vsblseo_audit_save_report_btn,
#seo-audit-run,
#seo-audit-save-report,
#omni-run-audit,
#omni-save-report{
  width: 140px !important;
  min-width: 140px !important;
  max-width: 140px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.seo-actions{
  align-items: center !important;
}
