/* ═══════════════════════════════════════════════════════════════
   SEO Tools Suite — seo-tools.css
   Shared styles for /speed-checker, /seo-checker, /da-checker,
   /backlink-checker, /keyword-checker
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero / Search ―――――――――――――――――――――――――――――――――――――――――――― */
.seo-hero {
  text-align: center;
  padding: 3.5rem 1.5rem 2.5rem;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  color: #fff;
}
.seo-hero-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.5rem;
}
.seo-hero-sub {
  font-size: 1rem;
  color: #b0b0c8;
  max-width: 640px;
  margin: 0 auto 1.8rem;
  line-height: 1.5;
}
.seo-search-wrap {
  max-width: 600px;
  margin: 0 auto;
}
.seo-search-form {
  display: flex;
  gap: 0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
.seo-search-form input {
  flex: 1;
  padding: 0.85rem 1.2rem;
  border: none;
  font-size: 1rem;
  font-family: 'Barlow', sans-serif;
  background: #fff;
  color: #222;
  outline: none;
}
.seo-search-form button {
  padding: 0.85rem 1.8rem;
  background: #c0392b;
  color: #fff;
  border: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: background 0.2s;
}
.seo-search-form button:hover { background: #a93226; }
.seo-search-hint {
  margin-top: 0.6rem;
  font-size: 0.8rem;
  color: #777;
}

/* ── Results Container ―――――――――――――――――――――――――――――――――――――――― */
.seo-results {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
}

/* ── Domain Header ――――――――――――――――――――――――――――――――――――――――――― */
.seo-domain-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 2rem;
}
.seo-domain-header img {
  width: 48px;
  height: 48px;
  border-radius: 4px;
}
.seo-domain-header h1 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
}

/* ── Score Circle ――――――――――――――――――――――――――――――――――――――――――――― */
.seo-score-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  padding: 2rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.seo-score-circle {
  position: relative;
  width: 140px;
  height: 140px;
}
.seo-score-circle svg {
  transform: rotate(-90deg);
  width: 140px;
  height: 140px;
}
.seo-score-circle .bg { stroke: #eee; }
.seo-score-circle .fg { transition: stroke-dashoffset 1s ease; }
.seo-score-number {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.5rem;
  font-weight: 800;
}
.seo-score-label {
  text-align: center;
  margin-top: 0.5rem;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.seo-score-meta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.seo-score-meta-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
  color: #555;
}
.seo-score-meta-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

/* ── Stat Pills (Reused pattern from rank-checker) ―――――――――― */
.seo-stats-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.seo-stat-pill {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.2rem;
  text-align: center;
}
.seo-stat-pill-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #888;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
.seo-stat-pill-value {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #1a1a2e;
}

/* ── Checks List ――――――――――――――――――――――――――――――――――――――――――――― */
.seo-checks-section {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
}
.seo-checks-section h2 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a2e;
  text-transform: uppercase;
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.seo-check-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid #f5f5f5;
}
.seo-check-item:last-child { border-bottom: none; }
.seo-check-badge {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
}
.seo-check-badge.pass { background: #0cce6b; }
.seo-check-badge.warn { background: #ffa400; }
.seo-check-badge.fail { background: #ff4e42; }
.seo-check-body { flex: 1; }
.seo-check-name {
  font-weight: 700;
  color: #1a1a2e;
  font-size: 0.95rem;
}
.seo-check-detail {
  font-size: 0.85rem;
  color: #666;
  margin-top: 0.2rem;
}
.seo-check-recommendation {
  font-size: 0.8rem;
  color: #c0392b;
  margin-top: 0.3rem;
  font-weight: 600;
}
.seo-check-category-tag {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  letter-spacing: 0.05em;
  margin-left: auto;
  flex-shrink: 0;
}

/* ── Info/Provider Cards ――――――――――――――――――――――――――――――――――――― */
.seo-info-card {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 2rem;
  text-align: center;
  margin-bottom: 2rem;
}
.seo-info-card h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 0.5rem;
}
.seo-info-card p {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto 1rem;
}
.seo-info-card .seo-info-icon {
  width: 48px;
  height: 48px;
  color: #c0392b;
  margin-bottom: 1rem;
}
.seo-provider-badge {
  display: inline-block;
  background: #e9ecef;
  border-radius: 4px;
  padding: 0.3rem 0.8rem;
  font-size: 0.8rem;
  color: #666;
  margin: 0.2rem;
}

/* ── Strategy Toggle ――――――――――――――――――――――――――――――――――――――――― */
.seo-strategy-toggle {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 1.5rem;
  background: #f0f0f0;
  border-radius: 6px;
  padding: 4px;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}
.seo-strategy-btn {
  flex: 1;
  padding: 0.6rem 1.2rem;
  background: transparent;
  border: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  text-decoration: none;
  text-align: center;
}
.seo-strategy-btn.active {
  background: #fff;
  color: #1a1a2e;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* ── Opportunities List ―――――――――――――――――――――――――――――――――――――― */
.seo-opps-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.seo-opp-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 0;
  border-bottom: 1px solid #f0f0f0;
}
.seo-opp-item:last-child { border-bottom: none; }
.seo-opp-title {
  font-weight: 600;
  color: #333;
  font-size: 0.95rem;
}
.seo-opp-savings {
  font-size: 0.8rem;
  color: #c0392b;
  font-weight: 600;
}

/* ── Metric Cards (Core Web Vitals) ――――――――――――――――――――――――― */
.seo-cwv-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.seo-cwv-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.2rem;
  text-align: center;
}
.seo-cwv-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
.seo-cwv-value {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: #1a1a2e;
}

/* ── Screenshot ―――――――――――――――――――――――――――――――――――――――――――――― */
.seo-screenshot-wrap {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 2rem;
  text-align: center;
}
.seo-screenshot-wrap h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1a2e;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.seo-screenshot-wrap img {
  max-width: 100%;
  border: 1px solid #eee;
  border-radius: 4px;
}

/* ── Authority Breakdown ―――――――――――――――――――――――――――――――――――― */
.seo-authority-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.seo-authority-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.2rem;
  text-align: center;
}
.seo-authority-card-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
.seo-authority-card-score {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.2rem;
  font-weight: 800;
}
.seo-authority-card-bar {
  height: 6px;
  background: #eee;
  border-radius: 3px;
  margin-top: 0.5rem;
  overflow: hidden;
}
.seo-authority-card-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s ease;
}

/* ── Disclaimer ―――――――――――――――――――――――――――――――――――――――――――――― */
.seo-disclaimer {
  background: #fff8e1;
  border: 1px solid #ffe082;
  border-radius: 6px;
  padding: 0.8rem 1rem;
  font-size: 0.8rem;
  color: #795548;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ── Error ―――――――――――――――――――――――――――――――――――――――――――――――――――― */
.seo-error {
  background: #fff5f5;
  border: 1px solid #ff4e42;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  color: #c0392b;
  margin-bottom: 2rem;
}

/* ── Landing Features ―――――――――――――――――――――――――――――――――――――――― */
.seo-landing-features {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2.5rem 1.5rem 3rem;
}
.seo-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}
.seo-feature {
  background: #1e1e32;
  border: 1px solid #2a2a44;
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
  color: #ccc;
}
.seo-feature i { color: #c0392b; margin-bottom: 0.8rem; }
.seo-feature h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 0 0 0.4rem;
}
.seo-feature p {
  font-size: 0.85rem;
  line-height: 1.5;
}

/* ── Keyword Checker Modes ―――――――――――――――――――――――――――――――――― */
.seo-mode-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 2rem;
  background: #f0f0f0;
  border-radius: 6px;
  padding: 4px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.seo-mode-tab {
  flex: 1;
  padding: 0.7rem 1rem;
  background: transparent;
  border: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
}
.seo-mode-tab.active {
  background: #fff;
  color: #1a1a2e;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* ── Two-column Layout ――――――――――――――――――――――――――――――――――――――― */
.seo-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .seo-two-col { grid-template-columns: 1fr; }
  .seo-score-hero { flex-direction: column; gap: 1.5rem; }
  .seo-hero-title { font-size: 1.8rem; }
}

/* ── CTA Banner ―――――――――――――――――――――――――――――――――――――――――――――― */
.seo-cta-banner {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border-radius: 8px;
  padding: 2rem;
  text-align: center;
  color: #fff;
  margin-bottom: 2rem;
}
.seo-cta-banner h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.seo-cta-banner p {
  font-size: 0.9rem;
  color: #b0b0c8;
  margin-bottom: 1rem;
}
.seo-cta-btn {
  display: inline-block;
  background: #c0392b;
  color: #fff;
  padding: 0.7rem 2rem;
  border-radius: 4px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s;
}
.seo-cta-btn:hover { background: #a93226; }

/* ── Cross-links ――――――――――――――――――――――――――――――――――――――――――――― */
.seo-crosslinks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}
.seo-crosslink-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 1.2rem;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.2s;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.seo-crosslink-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}
.seo-crosslink-card i { color: #c0392b; flex-shrink: 0; }
.seo-crosslink-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  color: #1a1a2e;
  font-size: 0.95rem;
  text-transform: uppercase;
}
.seo-crosslink-desc {
  font-size: 0.8rem;
  color: #888;
}

/* ── External Tool Links ―――――――――――――――――――――――――――――――――――――― */
.seo-external-tool-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.5rem 1rem;
  background: #f7f8fa;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 6px;
  color: #7c3aed;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
}
.seo-external-tool-link:hover {
  background: #ede9fe;
  border-color: #7c3aed;
}

/* ── CTA Button ――――――――――――――――――――――――――――――――――――――――――――――― */
.seo-cta-button {
  padding: 0.7rem 1.8rem;
  background: linear-gradient(135deg, #7c3aed, #c0392b);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.seo-cta-button:hover { opacity: 0.9; }

/* ── Info Card Icon ――――――――――――――――――――――――――――――――――――――――――― */
.seo-info-card-icon {
  margin-bottom: 1rem;
}

/* ── Authority Breakdown Cards ――――――――――――――――――――――――――――――― */
.seo-authority-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  max-width: 900px;
  margin: 1.5rem auto;
}
.seo-authority-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 10px;
  padding: 1.2rem;
  text-align: center;
}
.seo-authority-card-label {
  font-size: 0.8rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  margin-bottom: 0.3rem;
}
.seo-authority-card-score {
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 0.5rem;
}
.seo-authority-card-bar {
  height: 6px;
  background: #eee;
  border-radius: 3px;
  overflow: hidden;
}
.seo-authority-card-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s ease;
}

@media (max-width: 640px) {
  .seo-authority-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Animations ―――――――――――――――――――――――――――――――――――――――――――――――――― */

/* Hero stagger */
.seo-hero-title { animation: fadeInUp 0.55s ease-out 0.1s both; }
.seo-hero-sub   { animation: fadeInUp 0.55s ease-out 0.2s both; }
.seo-search-wrap { animation: fadeInUp 0.55s ease-out 0.3s both; }

/* Domain header */
.seo-domain-header { animation: fadeInUp 0.4s ease-out 0.05s both; }

/* Score circle — scale entrance */
.seo-score-hero { animation: scaleIn 0.5s ease-out 0.1s both; }
.seo-score-circle .fg {
  transition: stroke-dashoffset 1s ease-out;
}

/* Stat pills stagger */
.seo-stat-pill { animation: fadeInUp 0.4s ease-out both; }
.seo-stat-pill:nth-child(1) { animation-delay: 0.08s; }
.seo-stat-pill:nth-child(2) { animation-delay: 0.14s; }
.seo-stat-pill:nth-child(3) { animation-delay: 0.20s; }
.seo-stat-pill:nth-child(4) { animation-delay: 0.26s; }
.seo-stat-pill:nth-child(5) { animation-delay: 0.32s; }

/* Check items — cascade in */
.seo-check-item { animation: fadeInUp 0.35s ease-out both; }
.seo-check-item:nth-child(1)  { animation-delay: 0.04s; }
.seo-check-item:nth-child(2)  { animation-delay: 0.08s; }
.seo-check-item:nth-child(3)  { animation-delay: 0.12s; }
.seo-check-item:nth-child(4)  { animation-delay: 0.16s; }
.seo-check-item:nth-child(5)  { animation-delay: 0.20s; }
.seo-check-item:nth-child(6)  { animation-delay: 0.24s; }
.seo-check-item:nth-child(7)  { animation-delay: 0.28s; }
.seo-check-item:nth-child(8)  { animation-delay: 0.32s; }
.seo-check-item:nth-child(9)  { animation-delay: 0.36s; }
.seo-check-item:nth-child(10) { animation-delay: 0.40s; }

/* Authority breakdown cards */
.seo-authority-card { animation: fadeInUp 0.4s ease-out both; }
.seo-authority-card:nth-child(1) { animation-delay: 0.06s; }
.seo-authority-card:nth-child(2) { animation-delay: 0.12s; }
.seo-authority-card:nth-child(3) { animation-delay: 0.18s; }
.seo-authority-card:nth-child(4) { animation-delay: 0.24s; }

/* Authority fill bars animate */
.seo-authority-card-fill { animation: barGrow 0.7s ease-out 0.35s both; }

/* CWV cards stagger */
.seo-cwv-card { animation: fadeInUp 0.4s ease-out both; }
.seo-cwv-card:nth-child(1) { animation-delay: 0.06s; }
.seo-cwv-card:nth-child(2) { animation-delay: 0.12s; }
.seo-cwv-card:nth-child(3) { animation-delay: 0.18s; }
.seo-cwv-card:nth-child(4) { animation-delay: 0.24s; }
.seo-cwv-card:nth-child(5) { animation-delay: 0.30s; }

/* Checks section panels */
.seo-checks-section { animation: fadeInUp 0.45s ease-out 0.1s both; }

/* Info card */
.seo-info-card { animation: scaleIn 0.4s ease-out 0.15s both; }

/* CTA banner */
.seo-cta-banner { animation: fadeInUp 0.5s ease-out 0.1s both; }

/* Cross-link cards — hover lift enhancement */
.seo-crosslink-card {
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.2s;
}
.seo-crosslink-card:hover {
  border-color: rgba(192,57,43,0.3);
}

/* Feature cards on landing */
.seo-feature { animation: fadeInUp 0.4s ease-out both; }
.seo-feature:nth-child(1) { animation-delay: 0.08s; }
.seo-feature:nth-child(2) { animation-delay: 0.16s; }
.seo-feature:nth-child(3) { animation-delay: 0.24s; }
.seo-feature:nth-child(4) { animation-delay: 0.32s; }

/* Screenshot image */
.seo-screenshot-wrap { animation: fadeIn 0.5s ease-out 0.2s both; }

/* Strategy toggle smooth switch */
.seo-strategy-btn {
  transition: all 0.25s ease;
}

/* Opportunity items stagger */
.seo-opp-item { animation: fadeInUp 0.35s ease-out both; }
.seo-opp-item:nth-child(1) { animation-delay: 0.05s; }
.seo-opp-item:nth-child(2) { animation-delay: 0.10s; }
.seo-opp-item:nth-child(3) { animation-delay: 0.15s; }
.seo-opp-item:nth-child(4) { animation-delay: 0.20s; }
.seo-opp-item:nth-child(5) { animation-delay: 0.25s; }

/* Search button press */
.seo-search-form button {
  transition: background 0.2s, transform 0.1s;
}
.seo-search-form button:active {
  transform: scale(0.97);
}
