/* SEO Audit Pro — Full Width Add-on | Professional UI */
:root{
  --sap-primary:#2563eb;
  --sap-primary-dark:#1d4ed8;
  --sap-accent:#06b6d4;
  --sap-page:#f5f7fb;
  --sap-card:#ffffff;
  --sap-soft:#f8fafc;
  --sap-soft-blue:#eff6ff;
  --sap-text:#172033;
  --sap-muted:#64748b;
  --sap-border:#e2e8f0;
  --sap-success:#059669;
  --sap-danger:#dc2626;
  --sap-radius:16px;
}

.sap-fw-frontend-wrap,
.sap-fw-frontend-wrap *{box-sizing:border-box}
.sap-fw-frontend-wrap{width:100%;max-width:1280px;margin:28px auto;padding:0 18px;color:var(--sap-text);font-family:inherit}
.sap-fw-frontend-wrap .sap-card{width:100%;background:var(--sap-card);border:1px solid var(--sap-border);border-radius:var(--sap-radius);box-shadow:0 8px 28px rgba(15,23,42,.07);padding:28px;margin:20px 0}

/* Form */
.sap-frontend-form{max-width:1120px;margin:0 auto 26px!important;text-align:center;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important}
.sap-frontend-form h2{margin:0 0 8px;font-size:28px;line-height:1.25;font-weight:800;letter-spacing:.01em;color:var(--sap-text)}
.sap-frontend-form>p{max-width:720px;margin:0 auto 24px;color:var(--sap-muted);font-size:15px;line-height:1.6}
.sap-frontend-form form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;max-width:920px;margin:0 auto;align-items:stretch}
.sap-frontend-form form>input{width:100%;min-width:0;height:50px;padding:0 15px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--sap-text);font-size:15px;line-height:1.2;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .18s ease,box-shadow .18s ease}
.sap-frontend-form form>input::placeholder{color:#94a3b8}
.sap-frontend-form form>input:focus{outline:none;border-color:var(--sap-primary);box-shadow:0 0 0 4px rgba(37,99,235,.10)}

/* The three feature controls share one visual system and sit in a clean row. */
.sap-feature-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;margin:4px 0 2px}
.sap-feature-toggle{position:relative;display:flex!important;align-items:center;justify-content:center;gap:12px;min-height:86px;width:100%;padding:15px 16px!important;margin:0!important;border:1px solid #dbe3ee;border-radius:12px;background:#f7f9fc!important;color:var(--sap-text);text-align:left;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 8px rgba(15,23,42,.03)}
.sap-feature-toggle:hover{border-color:#b8c7dc;background:#f3f7fc!important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,23,42,.06)}
.sap-feature-toggle:has(input:checked){border-color:#bfdbfe;background:#eff6ff!important;box-shadow:0 5px 16px rgba(37,99,235,.08)}
.sap-feature-toggle input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-width:1px!important;margin:0!important;padding:0!important}
.sap-feature-check{position:relative;flex:0 0 22px;width:22px;height:22px;border:2px solid #94a3b8;border-radius:6px;background:#fff;transition:all .18s ease}
.sap-feature-toggle input:checked + .sap-feature-check{border-color:var(--sap-primary);background:var(--sap-primary)}
.sap-feature-toggle input:checked + .sap-feature-check:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sap-feature-copy{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:4px}
.sap-feature-copy strong{font-size:14px;line-height:1.35;font-weight:750;color:#1e293b}
.sap-feature-copy small{font-size:12px;line-height:1.4;font-weight:400;color:var(--sap-muted)}
.sap-feature-toggle input:focus-visible + .sap-feature-check{outline:3px solid rgba(37,99,235,.18);outline-offset:2px}
.sap-submit-button{grid-column:1/-1;justify-self:center;min-width:230px;height:48px!important;padding:0 28px!important;border:0!important;border-radius:10px!important;background:var(--sap-primary)!important;color:#fff!important;font-size:15px!important;font-weight:700!important;line-height:48px!important;box-shadow:0 7px 18px rgba(37,99,235,.20)!important;cursor:pointer}
.sap-submit-button:hover{background:var(--sap-primary-dark)!important;transform:translateY(-1px)}

/* Loading / errors */
.sap-frontend-loading{width:100%;max-width:920px;margin:20px auto 0;padding:16px 18px;border:1px solid #dbe4f0;border-radius:12px;background:#f8fbff;box-shadow:0 4px 14px rgba(20,60,100,.06);font-weight:600}
.sap-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#183153}
.sap-progress-title{font-size:14px}.sap-progress-percent{font-size:16px;color:#4f46e5}
.sap-progress-track{height:10px;background:#e8edf5;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.sap-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#06b6d4 0%,#3b82f6 48%,#8b5cf6 100%);border-radius:999px;transition:width .45s ease;position:relative}
.sap-progress-status{margin-top:8px;font-size:12px;color:var(--sap-muted);text-align:left}
.sap-frontend-error{width:100%;max-width:920px;margin:15px auto 0;padding:13px 15px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;border-radius:10px;text-align:center}

/* Shared report layout */
.sap-section-title{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left;margin:0 auto 20px;max-width:900px}
.sap-section-title h2{margin:0;color:var(--sap-text);font-size:22px;line-height:1.3;font-weight:800}
.sap-section-title p{margin:5px 0 0;color:var(--sap-muted);font-size:13px;line-height:1.5}
.sap-section-icon{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--sap-primary),var(--sap-accent));color:#fff;font-weight:800}
.sap-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sap-comparison .sap-card{margin:0}
.sap-score-card{text-align:center;padding:30px!important}
.sap-score{font-size:54px;line-height:1;font-weight:800;color:var(--sap-primary);font-variant-numeric:tabular-nums}
.sap-score span{font-size:18px;color:var(--sap-muted);font-weight:600}
.sap-score-card h2{margin:13px 0 5px;font-size:20px}.sap-score-card p{margin:0;color:var(--sap-muted);font-size:13px;word-break:break-word}
.sap-score-low{background:linear-gradient(135deg,#fff1f2,#fff)!important;border-color:#fecaca!important}.sap-score-low .sap-score{color:#dc2626}
.sap-score-medium{background:linear-gradient(135deg,#fffbeb,#fff)!important;border-color:#fde68a!important}.sap-score-medium .sap-score{color:#d97706}
.sap-score-high{background:linear-gradient(135deg,#ecfdf5,#fff)!important;border-color:#a7f3d0!important}.sap-score-high .sap-score{color:#059669}

.sap-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sap-detail-item{background:var(--sap-soft);border:1px solid var(--sap-border);border-radius:10px;padding:15px}
.sap-detail-item span,.sap-summary-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--sap-muted);margin-bottom:6px}.sap-detail-item strong,.sap-summary-grid strong{display:block;line-height:1.55}
.sap-summary-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:12px}.sap-summary-grid>div{background:var(--sap-soft);border:1px solid var(--sap-border);border-radius:10px;padding:14px}
.sap-target-keyword-grid{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:center}.sap-target-keyword-score{text-align:center;padding:20px;border-radius:12px;border:1px solid var(--sap-border);background:var(--sap-soft)}.sap-target-keyword-score strong{font-size:40px}.sap-target-keyword-score span{font-weight:600;color:var(--sap-muted)}

/* Tables */
.sap-card table{width:100%;border-collapse:collapse;table-layout:fixed;overflow-wrap:anywhere}.sap-card table th,.sap-card table td{padding:12px 13px;border-bottom:1px solid var(--sap-border);vertical-align:top;text-align:left}.sap-card table th{font-weight:750;color:#334155;background:#f8fafc}.sap-card table tr:last-child td,.sap-card table tr:last-child th{border-bottom:0}
.sap-results-card{overflow:hidden;border-top:4px solid var(--sap-accent)}
.sap-results-card table th:first-child,.sap-results-card table td:first-child{width:18%;text-align:center}.sap-results-card table th:nth-child(2){width:27%}
.sap-status-pass,.sap-pass{color:var(--sap-success)!important;font-weight:750}.sap-status-failed,.sap-fail{color:var(--sap-danger)!important;font-weight:750}

/* Site-wide quality */
.sap-quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sap-quality-panel{background:var(--sap-soft);border:1px solid var(--sap-border);border-radius:12px;padding:18px;text-align:center}.sap-quality-panel h3{margin:0 0 12px;font-size:15px;line-height:1.4}.sap-quality-number{font-size:28px;font-weight:800;margin-bottom:7px}.sap-quality-panel p{font-size:13px;line-height:1.55;color:var(--sap-muted)}
.sap-quality-panel table{margin-top:12px;background:#fff}.sap-quality-coverage{text-align:center;margin-top:15px}

/* Other report cards */
.sap-competitor-overview{border-top:4px solid #7c3aed}.sap-competitor-grid{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:16px;margin:12px 0 22px}.sap-compare-score{background:var(--sap-soft);border:1px solid var(--sap-border);border-radius:12px;padding:18px;text-align:center}.sap-compare-score span{display:block;font-size:12px;color:var(--sap-muted);margin-bottom:7px}.sap-compare-score strong{display:block;font-size:34px}.sap-compare-vs{text-align:center;font-weight:900;color:#7c3aed}
.sap-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sap-metrics div{background:var(--sap-soft);border:1px solid var(--sap-border);padding:18px 12px;text-align:center;border-radius:10px}.sap-metrics strong{display:block;font-size:25px}.sap-metrics span{display:block;margin-top:5px;color:var(--sap-muted);font-size:12px}
.sap-contact-result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:20px;border:1px solid #bfdbfe;background:var(--sap-soft-blue);border-radius:12px;color:#1e3a8a}.sap-contact-result strong{font-size:15px}.sap-contact-result span{font-size:13px;line-height:1.5;color:#475569}.sap-pagespeed-card{border-top:4px solid #06b6d4}.sap-rank-card{border-top:4px solid #7c3aed}
.sap-recommendation-list{display:grid;gap:12px}.sap-recommendation-item{border:1px solid var(--sap-border);border-radius:10px;padding:15px;background:var(--sap-soft)}.sap-recommendation-issue,.sap-recommendation-action{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:start;line-height:1.55}.sap-recommendation-action{margin-top:10px;padding-top:10px;border-top:1px solid var(--sap-border)}.sap-recommendation-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--sap-muted)}
.sap-print-actions{text-align:center;margin-top:20px}.sap-print-button{border:0;border-radius:9px;padding:11px 20px;background:#172033;color:#fff;font-weight:700;cursor:pointer}.sap-print-button:hover{opacity:.92}
.sap-keyword-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sap-keyword-list span{padding:7px 10px;border:1px solid var(--sap-border);border-radius:999px;background:#fff}
.sap-no-api-badge{display:inline-block;margin:8px 0 12px;padding:6px 10px;border-radius:20px;background:#ecfdf5;color:#047857;font-size:12px;font-weight:600;border:1px solid #a7f3d0}
.sap-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sap-social-links span{background:#eef6ff;border:1px solid #dbeafe;color:#1e40af;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:600}
.sap-muted{color:var(--sap-muted)!important;font-size:12px;line-height:1.5}

@media(max-width:900px){
  .sap-feature-options{grid-template-columns:1fr}
  .sap-quality-grid{grid-template-columns:1fr}
  .sap-comparison{grid-template-columns:1fr}
  .sap-detail-grid{grid-template-columns:1fr}
  .sap-summary-grid{grid-template-columns:1fr}
  .sap-competitor-grid{grid-template-columns:1fr}.sap-compare-vs{padding:2px}
}
@media(max-width:680px){
  .sap-fw-frontend-wrap{padding:0 10px;margin:18px auto}
  .sap-fw-frontend-wrap .sap-card{padding:18px;margin:14px 0;border-radius:12px}
  .sap-frontend-form h2{font-size:22px}
  .sap-frontend-form form{grid-template-columns:1fr;gap:12px}
  .sap-feature-options,.sap-submit-button{grid-column:1}
  .sap-feature-toggle{min-height:78px;padding:13px!important}
  .sap-target-keyword-grid{grid-template-columns:1fr}
  .sap-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sap-card table{display:block;overflow-x:auto;white-space:normal}
  .sap-card table th,.sap-card table td{min-width:130px}
  .sap-results-card table th:first-child,.sap-results-card table td:first-child{min-width:90px}
  .sap-section-title{justify-content:center;text-align:center}.sap-section-icon{display:none}
  .sap-recommendation-issue,.sap-recommendation-action{grid-template-columns:1fr;gap:4px}
}

@media print{
  body *{visibility:hidden}
  .sap-fw-frontend-wrap,.sap-fw-frontend-wrap *{visibility:visible}
  .sap-fw-frontend-wrap{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0}
  .sap-frontend-form,.sap-print-actions{display:none!important}
  .sap-fw-frontend-wrap .sap-card{box-shadow:none}
}
