#w3wr, #w3wr * { box-sizing: border-box; }

#w3wr {
  --brand:#0160E7;
  --brand-dark:#014DBD;
  --cyan:#00C3FF;
  --ink:#16213B;
  --sub:#5B6472;
  --line:#E7EAF0;
  --bg-card:#FFFFFF;
  --bg-app:#F6F8FB;
  --good:#0E9F6E;
  --good-bg:#E5F8F0;
  --mid:#B7791F;
  --mid-bg:#FDF3DF;
  --low:#64748B;
  --low-bg:#EEF1F5;
  font-family: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 4px 40px;
}

/* ---------- Hero ---------- */
.w3wr-hero {
  text-align: center;
  padding: 44px 20px 34px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--brand) 0%, #1B4FD1 55%, #3A5FC0 100%);
  color: #fff;
  margin-bottom: 24px;
}
.w3wr-hero-title { font-size: 34px; font-weight: 700; margin: 0 0 8px; }
.w3wr-hero-sub {
  font-size: 18px;
  line-height: 1.5;
  opacity: .95;
  margin: 0 auto 20px;
  max-width: 780px;
}

.w3wr-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 24px;
}
.w3wr-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
}
.w3wr-badge-pill.green  { background: rgba(16,185,129,.18); border-color: rgba(16,185,129,.4); }
.w3wr-badge-pill.blue   { background: rgba(56,189,248,.18); border-color: rgba(56,189,248,.4); }
.w3wr-badge-pill.gray   { background: rgba(255,255,255,.14); }
.w3wr-badge-pill.amber  { background: rgba(251,191,36,.18); border-color: rgba(251,191,36,.4); }

.w3wr-cta-row {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.w3wr-cta-primary {
  background: linear-gradient(135deg, var(--cyan), var(--brand));
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 28px;
  border-radius: 999px;
  transition: transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.w3wr-cta-primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.24); color: #fff; }
.w3wr-cta-secondary {
  background: transparent;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 28px;
  border-radius: 999px;
  border: 1.5px solid rgba(255,255,255,.55);
  transition: background .15s ease;
}
.w3wr-cta-secondary:hover { background: rgba(255,255,255,.12); color: #fff; }

.w3wr-stats {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.w3wr-stat {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 12px;
  padding: 14px 26px;
  min-width: 130px;
  flex: 1 1 130px;
  max-width: 200px;
}
.w3wr-stat span { display: block; font-size: 26px; font-weight: 700; }
.w3wr-stat label { display: block; font-size: 12.5px; opacity: .85; margin-top: 2px; }

/* ---------- Toolbar ---------- */
.w3wr-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
}
.w3wr-field select,
.w3wr-field input {
  height: 44px;
  border: 1px solid var(--line);
  background: var(--bg-app);
  border-radius: 999px;
  padding: 0 18px;
  font-size: 14px;
  color: var(--ink);
  min-width: 150px;
  outline: none;
  transition: border-color .15s ease;
}
.w3wr-field select:focus,
.w3wr-field input:focus { border-color: var(--brand); background: #fff; }
.w3wr-search input { min-width: 200px; }
.w3wr-price input { min-width: 160px; }

/* ---------- Custom pill dropdowns (DA / DR / Traffic / Country / Niche) ---------- */
.w3wr-cselect { position: relative; }
.w3wr-cselect-trigger {
  height: 44px;
  border: 1px solid var(--line);
  background: var(--bg-app);
  border-radius: 999px;
  padding: 0 18px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  min-width: 130px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  transition: border-color .15s ease, background .15s ease;
}
.w3wr-cselect-trigger .chev { font-size: 11px; color: var(--sub); transition: transform .15s ease; }
.w3wr-cselect.open .w3wr-cselect-trigger { border-color: var(--brand); background: #fff; }
.w3wr-cselect.open .chev { transform: rotate(180deg); }
.w3wr-cselect.active .w3wr-cselect-trigger { border-color: var(--brand); color: var(--brand); }

.w3wr-cselect-panel {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 190px;
  max-height: 280px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(15,23,42,.14);
  z-index: 50;
  padding: 6px;
}
.w3wr-cselect.open .w3wr-cselect-panel { display: block; }
.w3wr-cselect-option {
  padding: 10px 14px;
  font-size: 14px;
  border-radius: 8px;
  cursor: pointer;
  color: var(--ink);
  white-space: nowrap;
}
.w3wr-cselect-option:hover { background: #F2F5FC; }
.w3wr-cselect-option.selected { background: var(--brand); color: #fff; font-weight: 600; }

.w3wr-reset, .w3wr-copy {
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--bg-app);
  color: var(--ink);
  font-weight: 600;
  font-size: 14px;
  padding: 0 18px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.w3wr-reset:hover { background: #EEF1F5; }
.w3wr-copy {
  background: var(--brand);
  color: #fff;
  border-color: var(--brand);
  margin-left: auto;
}
.w3wr-copy:hover { background: var(--brand-dark); }
.w3wr-copy.copied { background: var(--good); border-color: var(--good); }

/* ---------- Table ---------- */
.w3wr-table-wrap {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow-x: auto;
  position: relative;
}
.w3wr-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 760px; }
.w3wr-table thead th {
  text-align: left;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--sub);
  padding: 14px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
  background: #FBFCFE;
}
.w3wr-table tbody td {
  padding: 13px 14px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
}
.w3wr-table tbody tr:last-child td { border-bottom: none; }
.w3wr-table tbody tr:hover { background: #F7FAFF; }

.w3wr-site-name { font-weight: 600; }
.w3wr-site-name a { color: var(--ink); text-decoration: none; }
.w3wr-site-name a:hover { color: var(--brand); text-decoration: underline; }

.w3wr-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.w3wr-badge.good { background: var(--good-bg); color: var(--good); }
.w3wr-badge.mid  { background: var(--mid-bg); color: var(--mid); }
.w3wr-badge.low  { background: var(--low-bg); color: var(--low); }

.w3wr-order-btn {
  display: inline-block;
  background: var(--brand);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 13px;
  padding: 9px 18px;
  border-radius: 999px;
  white-space: nowrap;
  transition: transform .12s ease, background .12s ease;
}
.w3wr-order-btn:hover { background: var(--brand-dark); transform: translateY(-1px); }

.w3wr-flag { font-size: 15px; margin-right: 2px; }

.w3wr-delivery-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--brand);
  background: #EAF1FF;
  padding: 5px 11px;
  border-radius: 999px;
  white-space: nowrap;
}

.w3wr-empty, .w3wr-loading {
  padding: 44px 14px;
  text-align: center;
  color: var(--sub);
  font-size: 14px;
}

.w3wr-footer-count {
  text-align: center;
  font-size: 13px;
  color: var(--sub);
  margin-top: 14px;
}
.w3wr-footer-count span { font-weight: 700; color: var(--ink); }

/* ---------- Results bar ---------- */
.w3wr-resultsbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
  padding: 4px 4px;
}
.w3wr-resultsbar-count {
  font-size: 14px;
  color: var(--sub);
  margin-right: auto;
}
.w3wr-resultsbar-count strong { color: var(--ink); }
.w3wr-resultsbar .w3wr-search input { min-width: 220px; }
.w3wr-resultsbar select { min-width: 130px; }

/* ---------- Pagination ---------- */
.w3wr-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 18px;
}
.w3wr-page-btn {
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--bg-card);
  color: var(--ink);
  font-weight: 600;
  font-size: 13.5px;
  cursor: pointer;
  transition: background .15s ease;
}
.w3wr-page-btn:hover:not(:disabled) { background: #F2F5FC; border-color: var(--brand); }
.w3wr-page-btn:disabled { opacity: .4; cursor: not-allowed; }
#w3wr-page-indicator { font-size: 13.5px; color: var(--sub); font-weight: 600; }

/* ---------- Mobile cards (hidden on desktop) ---------- */
.w3wr-cards { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 720px) {
  #w3wr { padding: 0 2px 30px; }

  /* Hero: stacked card layout */
  .w3wr-hero { padding: 28px 16px 24px; border-radius: 14px; text-align: center; }
  .w3wr-hero-title { font-size: 22px; line-height: 1.25; }
  .w3wr-hero-sub { font-size: 14px; margin-bottom: 16px; }

  .w3wr-badges { gap: 8px; margin-bottom: 18px; }
  .w3wr-badge-pill { font-size: 12px; padding: 7px 12px; }

  .w3wr-cta-row { flex-direction: column; gap: 10px; margin-bottom: 22px; }
  .w3wr-cta-primary, .w3wr-cta-secondary { width: 100%; text-align: center; padding: 13px 20px; }

  .w3wr-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .w3wr-stat { min-width: 0; max-width: none; padding: 14px 10px; }
  .w3wr-stat span { font-size: 22px; }
  .w3wr-stat label { font-size: 11px; }

  /* Toolbar + results bar */
  .w3wr-copy { margin-left: 0; }
  .w3wr-toolbar { justify-content: center; }
  .w3wr-resultsbar { justify-content: center; text-align: center; }
  .w3wr-resultsbar-count { width: 100%; text-align: center; }

  /* ---------- Switch from table to cards ---------- */
  .w3wr-table-wrap { display: none; }
  .w3wr-cards { display: block; }

  .w3wr-card {
    background: var(--bg-card);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 14px;
    box-shadow: 0 2px 10px rgba(15,23,42,.05);
  }

  .w3wr-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--line);
  }
  .w3wr-card-titlewrap { display: flex; align-items: center; gap: 8px; min-width: 0; }
  .w3wr-flag { font-size: 19px; flex-shrink: 0; }
  .w3wr-card-sitename { font-weight: 700; font-size: 15px; overflow-wrap: anywhere; }
  .w3wr-card-delivery {
    font-size: 11.5px;
    font-weight: 700;
    color: var(--brand);
    background: #EAF1FF;
    padding: 5px 10px;
    border-radius: 999px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .w3wr-card-meta { display: flex; gap: 10px; margin-bottom: 14px; }
  .w3wr-card-meta > div { flex: 1; min-width: 0; }
  .w3wr-card-box {
    background: var(--bg-app);
    border-radius: 8px;
    padding: 9px 10px;
    font-size: 13.5px;
    font-weight: 600;
    overflow-wrap: anywhere;
  }

  .w3wr-card-metrics { margin-bottom: 14px; }
  .w3wr-card-pills { display: flex; flex-wrap: wrap; gap: 6px; }
  .w3wr-pill {
    background: var(--bg-app);
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ink);
  }
  .w3wr-pill.dr-good { background: var(--good-bg); color: var(--good); }
  .w3wr-pill.dr-mid  { background: var(--mid-bg); color: var(--mid); }
  .w3wr-pill.dr-low  { background: var(--low-bg); color: var(--low); }

  .w3wr-card-meta label,
  .w3wr-card-metrics > label,
  .w3wr-card-action-label {
    display: block;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: var(--sub);
    font-weight: 700;
    margin-bottom: 5px;
  }

  .w3wr-card-order {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--brand);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    padding: 12px;
    border-radius: 10px;
    font-size: 14.5px;
  }
  .w3wr-card-order:hover { background: var(--brand-dark); }
  .w3wr-card-order.disabled {
    background: var(--low-bg);
    color: var(--sub) !important;
    cursor: default;
  }
}

