.seo-tool-public-section { min-height: 50vh; }

.seo-search-genz-card {
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 8px 40px rgba(15, 23, 42, 0.08);
    border: 1px solid var(--genz-border, #e2e8f0);
    max-width: 820px;
    margin: 0 auto;
}
.seo-search-input {
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid var(--genz-border, #e2e8f0);
}
.seo-search-input .form-control,
.seo-search-input .form-select {
    border: none;
    padding: 0.85rem 1.15rem;
}
.seo-search-input .btn-genz-primary { border-radius: 0 999px 999px 0; white-space: nowrap; }

.seo-tool-page { background: var(--genz-bg, #eef2f8); min-height: 100vh; }

.seo-hero {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 50%, #2563eb 100%);
    color: #fff;
    border-radius: 0 0 2rem 2rem;
    margin-bottom: 1rem;
}
.seo-hero-title { font-weight: 800; font-size: clamp(1.75rem, 4vw, 2.5rem); }
.seo-hero-lead { opacity: .9; font-size: 1.05rem; max-width: 640px; margin: 0 auto; }

.seo-badge {
    display: inline-block;
    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.25);
    padding: .35rem .85rem;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
}
.seo-hero .seo-badge { background: rgba(255,255,255,.12); }

.seo-search-form .seo-search-input {
    box-shadow: 0 12px 40px rgba(0,0,0,.25);
    border-radius: 1rem;
    overflow: hidden;
}
.seo-search-form .form-control,
.seo-search-form .form-select {
    border: none;
    padding: 1rem 1.25rem;
}
.seo-lang-select { max-width: 110px; flex: 0 0 110px; }

.seo-feature-grid { margin-top: 2rem !important; }
.seo-feature-card {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1rem;
    padding: 1.5rem;
    height: 100%;
    color: #fff;
}
.seo-feature-card i { font-size: 1.75rem; color: #60a5fa; margin-bottom: .75rem; display: block; }
.seo-feature-card h3 { font-size: 1.1rem; font-weight: 700; }
.seo-feature-card p { opacity: .85; font-size: .9rem; margin: 0; }

.seo-stat-card {
    background: #fff;
    border-radius: .85rem;
    padding: 1rem 1.25rem;
    box-shadow: 0 2px 12px rgba(15,23,42,.06);
    border: 1px solid var(--genz-border, #d8e2ef);
}
.seo-stat-card small { color: var(--genz-muted); display: block; }
.seo-stat-card strong { font-size: 1.75rem; font-weight: 800; color: var(--primary, #0f172a); }
.seo-stat-card.highlight { border-color: #2563eb; background: linear-gradient(135deg, #eff6ff, #fff); }

.seo-panel {
    background: #fff;
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 2px 16px rgba(15,23,42,.06);
    border: 1px solid var(--genz-border, #d8e2ef);
}

.seo-table { font-size: .9rem; }
.seo-table thead th { background: #f8fafc; font-weight: 600; border-bottom: 2px solid #e2e8f0; }

.seo-score-bar {
    height: 6px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    min-width: 60px;
    display: inline-block;
    vertical-align: middle;
    margin-right: .35rem;
}
.seo-score-bar.sm { height: 4px; min-width: 40px; }
.seo-score-bar div {
    height: 100%;
    background: linear-gradient(90deg, #2563eb, #00c9a7);
    border-radius: 999px;
}

.seo-intent-badge { background: #6366f1 !important; font-weight: 500; font-size: .75rem; }
.seo-source-badge { font-size: .7rem; font-weight: 600; }

.seo-cluster-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .65rem;
    padding: .75rem;
    font-size: .85rem;
}

.seo-ai-answer-box {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: .75rem;
    padding: 1rem 1.25rem;
}
.seo-outline {
    background: #f8fafc;
    border-radius: .5rem;
    padding: 1rem;
    font-size: .85rem;
    white-space: pre-wrap;
}

.seo-result-header .seo-badge {
    background: #eff6ff;
    color: #2563eb;
    border-color: #bfdbfe;
}

@media (max-width: 576px) {
    .seo-search-form .input-group { flex-wrap: wrap; }
    .seo-lang-select { max-width: 100%; flex: 1 1 100%; }
}

.seo-progress-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(15, 23, 42, 0.72);
    backdrop-filter: blur(6px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.seo-progress-card {
    background: #fff;
    border-radius: 1.25rem;
    padding: 2rem 2rem 1.75rem;
    max-width: 480px;
    width: 100%;
    text-align: left;
    box-shadow: 0 24px 60px rgba(0,0,0,.25);
}
.seo-progress-time-big {
    font-size: 1.75rem;
    font-weight: 800;
    color: #2563eb;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.seo-progress-bar-main { height: 10px; border-radius: 999px; background: #e2e8f0; }
.seo-progress-bar-main .progress-bar { border-radius: 999px; }

.seo-progress-steps { font-size: .82rem; }
.seo-progress-steps li {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .35rem 0;
    color: #94a3b8;
    transition: color .2s;
}
.seo-progress-steps li.active { color: #2563eb; font-weight: 600; }
.seo-progress-steps li.done { color: #10b981; }
.seo-step-icon { width: 1.25rem; text-align: center; flex-shrink: 0; }
.seo-progress-steps li.active .seo-step-icon,
.seo-progress-steps li.done .seo-step-icon { color: inherit; }

.seo-progress-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #e2e8f0;
    border-top-color: #2563eb;
    border-radius: 50%;
    margin: 0 auto 1rem;
    animation: seoSpin .8s linear infinite;
}
@keyframes seoSpin { to { transform: rotate(360deg); } }

.seo-promo-demo { max-width: 480px; margin-left: auto; }
.seo-promo-section .genz-h2 { line-height: 1.2; }

.seo-content-featured-img { max-height: 420px; object-fit: cover; }
.seo-content-thumb { max-height: 140px; width: 100%; object-fit: cover; }
.seo-content-list-thumb { width: 72px; height: 48px; object-fit: cover; }
.seo-image-placeholder { min-height: 100px; background: #f1f5f9; }
.seo-content-list-thumb.seo-image-placeholder { width: 72px; height: 48px; min-height: 48px; }

.dash-page-head h1 { font-weight: 700; }
.seo-promo-card { max-width: 480px; margin-left: auto; }
.seo-promo-mock .input-group-text { background: #2563eb; }

/* SEO service CTA (after search results) */
.cta-seo-service.cta-custom-dev {
    background: linear-gradient(125deg, #064e3b 0%, #047857 42%, #0f766e 100%);
    box-shadow: 0 18px 40px rgba(6, 78, 59, .22);
}
.cta-seo-service .cta-custom-dev-glow {
    background: radial-gradient(circle at 20% 50%, rgba(52, 211, 153, .35), transparent 55%);
}
.cta-seo-service .cta-custom-dev-icon-wrap { background: rgba(255, 255, 255, .14); color: #a7f3d0; }
