/* ————————————————————————————————————————————————
   Free Bulk Email Verifier · freebulkemailverifier.com
   Bright, rounded, generous. Everything is a pill or a pebble.
   ———————————————————————————————————————————————— */

:root {
  --leaf: #16a34a;
  --leaf-deep: #15803d;
  --leaf-dark: #14532d;
  --leaf-mist: #dcfce7;
  --leaf-whisper: #f0fdf4;
  --cream: #fefdf8;
  --ink: #1e293b;
  --ink-soft: #475569;
  --sun: #f59e0b;
  --sun-mist: #fef3c7;
  --berry: #dc2626;
  --berry-mist: #fee2e2;
  --stone: #64748b;
  --stone-mist: #f1f5f9;
  --round-sm: 14px;
  --round: 22px;
  --round-lg: 32px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: "Nunito", system-ui, sans-serif;
  font-size: 16.5px;
  line-height: 1.65;
}

h1, h2, h3 {
  font-family: "Baloo 2", "Nunito", sans-serif;
  color: var(--ink);
  line-height: 1.15;
  margin: 0 0 0.5em;
}

a { color: var(--leaf-deep); }

.bv-wrap { width: min(1080px, 100% - 2.5rem); margin-inline: auto; }

.bv-sr-only {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* — pills (buttons) — */

.bv-pill {
  display: inline-block;
  font: 700 1rem "Nunito", sans-serif;
  padding: 0.7rem 1.5rem;
  border-radius: 999px;
  border: none;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.bv-pill:hover { transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bv-pill:hover { transform: none; }
  *, *::before, *::after { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}

.bv-pill-solid {
  background: var(--leaf);
  color: #fff;
  box-shadow: 0 4px 14px rgba(22, 163, 74, 0.35);
}

.bv-pill-solid:hover { background: var(--leaf-deep); }

.bv-pill-light { background: #fff; color: var(--leaf-deep); }

.bv-pill-big { font-size: 1.12rem; padding: 0.9rem 2.1rem; }

.bv-link-plain {
  color: var(--ink-soft);
  font-weight: 700;
  text-decoration: none;
  margin-right: 0.9rem;
}

.bv-link-plain:hover { color: var(--leaf-deep); }

/* — top bar — */

.bv-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(254, 253, 248, 0.92);
  backdrop-filter: blur(8px);
  border-bottom: 2px solid var(--leaf-mist);
}

.bv-topbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem 0;
}

.bv-logo {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  text-decoration: none;
  font: 700 1.08rem "Baloo 2", sans-serif;
  color: var(--ink);
  white-space: nowrap;
}

.bv-nav { display: none; }

@media (min-width: 920px) {
  .bv-nav { display: flex; gap: 1.5rem; }
  .bv-nav a {
    color: var(--ink-soft);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.97rem;
  }
  .bv-nav a:hover { color: var(--leaf-deep); }
}

.bv-topbar-cta { display: flex; align-items: center; }

/* — hero — */

.bv-hero {
  position: relative;
  overflow: hidden;
  padding: 4.5rem 0 5rem;
  text-align: center;
}

.bv-blob {
  position: absolute;
  border-radius: 46% 54% 60% 40% / 50% 45% 55% 50%;
  z-index: -1;
}

.bv-blob-a {
  width: 460px; height: 460px;
  background: var(--leaf-mist);
  top: -180px; left: -160px;
}

.bv-blob-b {
  width: 380px; height: 380px;
  background: var(--sun-mist);
  bottom: -200px; right: -140px;
}

.bv-badge {
  display: inline-block;
  background: var(--leaf-mist);
  color: var(--leaf-dark);
  font-weight: 800;
  font-size: 0.88rem;
  border-radius: 999px;
  padding: 0.4rem 1.1rem;
  margin: 0 0 1.2rem;
}

.bv-hero h1 {
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  font-weight: 800;
  letter-spacing: -0.01em;
}

.bv-hero-sub {
  max-width: 38rem;
  margin: 0 auto 2.2rem;
  font-size: 1.13rem;
  color: var(--ink-soft);
}

/* — checker widget — */

.bv-checker {
  max-width: 36rem;
  margin: 0 auto;
  background: #fff;
  border: 3px solid var(--leaf-mist);
  border-radius: var(--round-lg);
  padding: 1.8rem 1.6rem;
  box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
  text-align: left;
}

.bv-checker-title { font-size: 1.3rem; margin-bottom: 0.2rem; }

.bv-checker-note { margin: 0 0 1rem; color: var(--stone); font-size: 0.9rem; }

.bv-input-row { display: flex; flex-direction: column; gap: 0.7rem; }

@media (min-width: 560px) {
  .bv-input-row { flex-direction: row; }
  .bv-input-row input { flex: 1; }
}

.bv-input-row input {
  font: 600 1.02rem "Nunito", sans-serif;
  color: var(--ink);
  padding: 0.78rem 1.2rem;
  border: 2.5px solid var(--leaf-mist);
  border-radius: 999px;
  min-width: 0;
}

.bv-input-row input:focus {
  outline: none;
  border-color: var(--leaf);
}

.bv-input-row button:disabled { opacity: 0.6; cursor: wait; transform: none; }

.bv-progress {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin: 1rem 0 0;
  color: var(--ink-soft);
  font-size: 0.94rem;
  font-weight: 600;
}

.bv-dots { display: inline-flex; gap: 0.28rem; }

.bv-dots span {
  width: 0.55rem; height: 0.55rem;
  border-radius: 50%;
  background: var(--leaf);
  animation: bv-bounce 1s ease-in-out infinite;
}

.bv-dots span:nth-child(2) { animation-delay: 0.15s; }
.bv-dots span:nth-child(3) { animation-delay: 0.3s; }

@keyframes bv-bounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.55; }
  30% { transform: translateY(-5px); opacity: 1; }
}

/* — result card — */

.bv-verdict {
  margin-top: 1.1rem;
  border-radius: var(--round);
  padding: 1.1rem 1.25rem;
  border: 2.5px solid transparent;
}

.bv-verdict-deliverable { background: var(--leaf-whisper); border-color: var(--leaf-mist); }
.bv-verdict-undeliverable { background: var(--berry-mist); border-color: #fecaca; }
.bv-verdict-risky { background: var(--sun-mist); border-color: #fde68a; }
.bv-verdict-unknown { background: var(--stone-mist); border-color: #e2e8f0; }
.bv-verdict-error { background: var(--berry-mist); border-color: #fecaca; }

.bv-verdict-status {
  display: inline-block;
  font: 800 0.82rem "Nunito", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #fff;
  border-radius: 999px;
  padding: 0.25rem 0.8rem;
  margin-bottom: 0.55rem;
}

.bv-verdict-deliverable .bv-verdict-status { background: var(--leaf); }
.bv-verdict-undeliverable .bv-verdict-status { background: var(--berry); }
.bv-verdict-risky .bv-verdict-status { background: var(--sun); }
.bv-verdict-unknown .bv-verdict-status { background: var(--stone); }

.bv-verdict-email { font-weight: 800; margin: 0 0 0.15rem; word-break: break-all; }

.bv-verdict-reason { margin: 0 0 0.7rem; font-size: 0.95rem; color: var(--ink-soft); }

.bv-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  padding: 0;
}

.bv-chips li {
  background: #fff;
  border: 2px solid var(--leaf-mist);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--ink-soft);
  padding: 0.18rem 0.7rem;
}

.bv-verdict-quota { font-size: 0.84rem; color: var(--stone); margin: 0 0 0.85rem; }

.bv-verdict-cta {
  display: inline-block;
  background: var(--leaf);
  color: #fff;
  font-weight: 800;
  border-radius: 999px;
  padding: 0.6rem 1.3rem;
  text-decoration: none;
  font-size: 0.96rem;
}

.bv-verdict-cta:hover { background: var(--leaf-deep); }

.bv-verdict-oops { margin: 0; font-weight: 700; color: var(--berry); }

/* — sections — */

.bv-h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); text-align: center; }

.bv-section-sub {
  text-align: center;
  color: var(--ink-soft);
  max-width: 36rem;
  margin: 0 auto 2.5rem;
}

/* — steps — */

.bv-steps-section { padding: 4.5rem 0; }

.bv-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: stretch;
}

@media (min-width: 900px) {
  .bv-steps { flex-direction: row; align-items: center; }
  .bv-steps .bv-step { flex: 1; }
}

.bv-step {
  background: #fff;
  border: 3px solid var(--leaf-mist);
  border-radius: var(--round-lg);
  padding: 1.8rem 1.5rem;
  text-align: center;
}

.bv-step-art {
  display: inline-flex;
  margin-bottom: 0.6rem;
}

.bv-step-num {
  display: block;
  font: 800 0.8rem "Nunito", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--leaf-deep);
  margin-bottom: 0.25rem;
}

.bv-step h3 { font-size: 1.25rem; }

.bv-step p { margin: 0; font-size: 0.96rem; color: var(--ink-soft); }

.bv-step-arrow {
  text-align: center;
  font-size: 1.8rem;
  color: var(--leaf);
  font-weight: 800;
  transform: rotate(90deg);
}

@media (min-width: 900px) {
  .bv-step-arrow { transform: none; }
}

/* — free banner — */

.bv-free { padding: 1rem 0 4.5rem; }

.bv-free-card {
  background: var(--leaf-whisper);
  border: 3px solid var(--leaf-mist);
  border-radius: var(--round-lg);
  padding: 3rem 1.5rem;
  text-align: center;
}

.bv-free-grid {
  display: grid;
  gap: 1.8rem;
  margin: 2.2rem 0 2.4rem;
}

@media (min-width: 760px) { .bv-free-grid { grid-template-columns: repeat(3, 1fr); } }

.bv-free-big {
  display: block;
  font: 800 3.2rem "Baloo 2", sans-serif;
  color: var(--leaf);
  line-height: 1;
  margin-bottom: 0.4rem;
}

.bv-free-item p { margin: 0; color: var(--ink-soft); font-size: 0.98rem; }

/* — features — */

.bv-features { padding: 3.5rem 0 4.5rem; }

.bv-tiles { display: grid; gap: 1.2rem; }

@media (min-width: 680px) { .bv-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .bv-tiles { grid-template-columns: repeat(3, 1fr); } }

.bv-tile {
  background: #fff;
  border-radius: var(--round);
  border: 2.5px solid var(--stone-mist);
  padding: 1.6rem 1.4rem;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.bv-tile:hover { border-color: var(--leaf-mist); transform: translateY(-3px); }

.bv-tile-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem; height: 2.6rem;
  border-radius: 50%;
  background: var(--leaf-mist);
  color: var(--leaf-dark);
  font: 800 1.15rem "Baloo 2", sans-serif;
  margin-bottom: 0.8rem;
}

.bv-tile h3 { font-size: 1.15rem; }

.bv-tile p { margin: 0; font-size: 0.95rem; color: var(--ink-soft); }

/* — pricing — */

.bv-pricing { padding: 1rem 0 4.5rem; }

.bv-plans {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 720px) { .bv-plans { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1020px) { .bv-plans { grid-template-columns: repeat(6, 1fr); } }

.bv-plan {
  position: relative;
  background: #fff;
  border: 2.5px solid var(--stone-mist);
  border-radius: var(--round);
  padding: 1.5rem 1rem 1.3rem;
  text-align: center;
}

.bv-plan h3 { font-size: 1.05rem; margin-bottom: 0.2rem; }

.bv-plan-free { border-color: var(--leaf); background: var(--leaf-whisper); }

.bv-plan-pop { border-color: var(--leaf); box-shadow: 0 8px 22px rgba(22, 163, 74, 0.18); }

.bv-plan-badge {
  position: absolute;
  top: -0.85rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--leaf);
  color: #fff;
  font: 800 0.7rem "Nunito", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  border-radius: 999px;
  padding: 0.28rem 0.75rem;
  white-space: nowrap;
}

.bv-plan-credits { margin: 0 0 0.35rem; color: var(--stone); font-size: 0.88rem; }

.bv-plan-price {
  margin: 0;
  font: 800 1.8rem "Baloo 2", sans-serif;
  color: var(--ink);
}

.bv-plan-note { margin: 0.4rem 0 0; font-size: 0.78rem; color: var(--leaf-deep); font-weight: 700; }

/* — faq — */

.bv-faq { padding: 1rem 0 4.5rem; }

.bv-faq-col { max-width: 44rem; }

.bv-faq .bv-h2 { margin-bottom: 1.6rem; }

.bv-qa {
  background: #fff;
  border: 2.5px solid var(--stone-mist);
  border-radius: var(--round-sm);
  margin-bottom: 0.75rem;
  overflow: hidden;
}

.bv-qa[open] { border-color: var(--leaf-mist); }

.bv-qa summary {
  cursor: pointer;
  font-weight: 800;
  padding: 1rem 1.2rem;
  list-style: none;
  position: relative;
  padding-right: 2.8rem;
}

.bv-qa summary::-webkit-details-marker { display: none; }

.bv-qa summary::after {
  content: "▾";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--leaf);
  transition: transform 0.15s ease;
}

.bv-qa[open] summary::after { transform: translateY(-50%) rotate(180deg); }

.bv-qa p { margin: 0; padding: 0 1.2rem 1.1rem; color: var(--ink-soft); font-size: 0.97rem; }

/* — closer — */

.bv-closer { padding: 0 0 4.5rem; }

.bv-closer-card {
  background: linear-gradient(135deg, var(--leaf-deep), var(--leaf));
  border-radius: var(--round-lg);
  text-align: center;
  padding: 3.2rem 1.5rem;
}

.bv-closer-card h2 { color: #fff; font-size: clamp(1.7rem, 4vw, 2.3rem); }

.bv-closer-card p { color: var(--leaf-mist); margin: 0 0 1.6rem; font-size: 1.05rem; }

/* — footer — */

.bv-footer {
  background: var(--leaf-dark);
  color: #bbf7d0;
  border-radius: var(--round-lg) var(--round-lg) 0 0;
  padding: 3.2rem 0 2.4rem;
}

.bv-footer-grid { display: grid; gap: 2rem; }

@media (min-width: 820px) { .bv-footer-grid { grid-template-columns: 1.4fr 1fr 1.2fr 0.8fr; } }

.bv-footer-brand {
  font: 700 1.15rem "Baloo 2", sans-serif;
  color: #fff;
  margin: 0 0 0.4rem;
}

.bv-footer-blurb { font-size: 0.92rem; margin: 0 0 1rem; }

.bv-footer-copy { font-size: 0.84rem; color: #86efac; margin: 0; }

.bv-footer-head {
  font: 800 0.8rem "Nunito", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
  margin: 0 0 0.8rem;
}

.bv-footer ul { list-style: none; margin: 0; padding: 0; }

.bv-footer li { margin-bottom: 0.45rem; }

.bv-footer a { color: #bbf7d0; text-decoration: none; font-size: 0.93rem; }

.bv-footer a:hover { color: #fff; text-decoration: underline; }

/* — legal pages — */

.bv-legal { padding: 3.5rem 0 4.5rem; }

.bv-legal-col { max-width: 42rem; }

.bv-legal-col h1 { font-size: 2.1rem; }

.bv-legal-col h2 { font-size: 1.3rem; margin-top: 2rem; }

.bv-legal-date { color: var(--stone); font-size: 0.9rem; }
