/* ============================================================
   BrandVerify — homepage enhancements (illustrated split sections,
   SEO block, testimonials). Loads AFTER scanner-page.css.
   Uses existing design tokens so it adapts to dark mode automatically.
   ============================================================ */

/* ---- Upgraded feature-grid icons (homepage only — scoped to #features) ---- */
#features .feature-icon {
    background: var(--gradient-1);
    color: #fff;
    box-shadow: 0 8px 20px -6px rgba(37,99,235,.45);
}
#features .feature-icon i { font-size: 1.35rem; line-height: 1; }

/* ---- Alternating illustrated feature sections ---- */
.bvsplit { padding: 4.5rem 0; }
.bvsplit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.bvsplit-grid.rev .bvsplit-media { order: 2; }

.bvsplit-media {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bvsplit-media::before {
    content: "";
    position: absolute;
    width: 78%; height: 78%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,.18) 0%, rgba(99,102,241,.10) 45%, transparent 70%);
    filter: blur(8px);
    z-index: 0;
}
.bvsplit-media img {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 420px;
    height: auto;
    filter: drop-shadow(0 24px 40px rgba(37,99,235,.18));
}

.bvsplit-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--primary-600);
    background: var(--primary-50);
    padding: .35rem .8rem;
    border-radius: 999px;
    margin-bottom: 1rem;
}
.bvsplit-title {
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    line-height: 1.15;
    color: var(--gray-900);
    margin: 0 0 1rem;
}
.bvsplit-title .text-gradient {
    background: var(--gradient-1);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bvsplit-text {
    color: var(--gray-600);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0 0 1.5rem;
}
.bvsplit-list { list-style: none; padding: 0; margin: 0 0 1.75rem; display: grid; gap: .7rem; }
.bvsplit-list li {
    display: flex; align-items: flex-start; gap: .65rem;
    color: var(--gray-700); font-size: .98rem; line-height: 1.5;
}
.bvsplit-list li i {
    color: var(--success);
    margin-top: .2rem;
    flex: 0 0 auto;
    font-size: .95rem;
}

/* ---- SEO / trust content block ---- */
.bvseo { padding: 4.5rem 0; }
.bvseo-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 3.5rem;
    align-items: center;
    max-width: 1060px;
    margin: 0 auto;
}
.bvseo-media {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.bvseo-media::before {
    content: "";
    position: absolute;
    width: 75%; height: 75%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59,130,246,.18) 0%, rgba(99,102,241,.10) 45%, transparent 70%);
    filter: blur(8px);
    z-index: 0;
}
.bvseo-media img {
    position: relative; z-index: 1;
    width: 100%; max-width: 360px; height: auto;
    filter: drop-shadow(0 24px 40px rgba(37,99,235,.18));
}
.bvseo-copy h2 {
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: clamp(1.6rem, 3.4vw, 2.2rem);
    color: var(--gray-900);
    margin: 0 0 1.25rem;
}
.bvseo-copy p {
    color: var(--gray-600);
    font-size: 1.04rem;
    line-height: 1.8;
    margin: 0 0 1.1rem;
}
.bvseo-copy p strong { color: var(--gray-800); font-weight: 700; }

/* ---- Testimonials ---- */
.bvtest-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.bvtest-card {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-radius: 18px;
    padding: 1.75rem;
    box-shadow: 0 10px 25px -15px rgba(37,99,235,.18);
}
.bvtest-stars { color: #f59e0b; font-size: .9rem; margin-bottom: .85rem; letter-spacing: .1em; }
.bvtest-quote { color: var(--gray-700); font-size: .98rem; line-height: 1.65; margin: 0 0 1.25rem; }
.bvtest-who { display: flex; align-items: center; gap: .75rem; }
.bvtest-avatar {
    width: 42px; height: 42px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; color: #fff; font-size: 1rem;
    background: var(--gradient-1);
    flex: 0 0 auto;
}
.bvtest-name { font-weight: 700; color: var(--gray-900); font-size: .92rem; line-height: 1.2; }
.bvtest-role { color: var(--gray-500); font-size: .8rem; }

/* ---- Responsive ---- */
@media (max-width: 860px) {
    .bvsplit { padding: 3rem 0; }
    .bvsplit-grid { grid-template-columns: 1fr; gap: 2rem; }
    .bvsplit-grid.rev .bvsplit-media { order: 0; }
    .bvsplit-media img { max-width: 300px; }
    .bvtest-grid { grid-template-columns: 1fr; }
    .bvseo { padding: 3rem 0; }
    .bvseo-grid { grid-template-columns: 1fr; gap: 2rem; }
    .bvseo-media img { max-width: 260px; }
}
