/* ─── Blog post prose typography (.ffl-post-body) ─── */

.ffl-post-body h2 { margin-top: 2rem; margin-bottom: 0.75rem; font-family: "Outfit", system-ui, sans-serif; font-size: 1.25rem; font-weight: 700; color: #0f172a; letter-spacing: -0.01em; }
.ffl-post-body h3 { margin-top: 1.5rem; margin-bottom: 0.5rem; font-family: "Outfit", system-ui, sans-serif; font-size: 1.05rem; font-weight: 700; color: #0f172a; }
.ffl-post-body p  { margin-top: 1rem; margin-bottom: 1rem; font-size: 1rem; line-height: 1.7; }
.ffl-post-body ul { margin-top: 1rem; margin-bottom: 1rem; padding-left: 0; list-style: none; }
.ffl-post-body ol { margin-top: 1rem; margin-bottom: 1rem; padding-left: 1.25rem; }
.ffl-post-body li { font-size: 0.9375rem; line-height: 1.65; }
.ffl-post-body ul li { display: flex; gap: 0.5rem; }
.ffl-post-body ul li::before { content: "•"; color: #3b82f6; flex-shrink: 0; margin-top: 1px; }
.ffl-post-body a { color: #2563eb; font-weight: 600; text-decoration: none; }
.ffl-post-body a:hover { text-decoration: underline; }
.ffl-post-body strong { color: #0f172a; font-weight: 600; }

@media (min-width: 640px) {
    .ffl-post-body h2 { font-size: 1.5rem; }
    .ffl-post-body h3 { font-size: 1.125rem; }
}

/* Exclude lookup widgets from post prose styles so form internals are unaffected */
.ffl-post-body .tv-tabbed-lookup h2,
.ffl-post-body .tv-tabbed-lookup h3,
.ffl-post-body .tv-tabbed-lookup p,
.ffl-post-body .tv-tabbed-lookup ul,
.ffl-post-body .tv-tabbed-lookup ol,
.ffl-post-body .tv-tabbed-lookup li,
.ffl-post-body .tv-lookup-wrap h2,
.ffl-post-body .tv-lookup-wrap h3,
.ffl-post-body .tv-lookup-wrap p,
.ffl-post-body .tv-lookup-wrap ul,
.ffl-post-body .tv-lookup-wrap ol,
.ffl-post-body .tv-lookup-wrap li {
    all: revert;
}

/* WordPress / block content: prevent horizontal scroll on small viewports */
.facefinderlens-theme .entry-content img,
.facefinderlens-theme .entry-content video,
.facefinderlens-theme .entry-content iframe,
.facefinderlens-theme .tv-lookup-page-seo img,
.facefinderlens-theme .tv-lookup-page-seo video,
.facefinderlens-theme .tv-lookup-page-seo iframe {
    max-width: 100%;
    height: auto;
}

.facefinderlens-theme .entry-content pre,
.facefinderlens-theme .tv-lookup-page-seo pre {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.facefinderlens-theme .entry-content table,
.facefinderlens-theme .tv-lookup-page-seo table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    font-size: 0.875rem;
    line-height: 1.55;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: hidden;
}

.facefinderlens-theme .entry-content table thead,
.facefinderlens-theme .tv-lookup-page-seo table thead {
    background: #f1f5f9;
}

.facefinderlens-theme .entry-content table th,
.facefinderlens-theme .tv-lookup-page-seo table th {
    padding: 0.7rem 1.1rem;
    text-align: left;
    font-family: "Outfit", system-ui, sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #374151;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.facefinderlens-theme .entry-content table td,
.facefinderlens-theme .tv-lookup-page-seo table td {
    padding: 0.7rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    color: #374151;
    vertical-align: middle;
}

.facefinderlens-theme .entry-content table tbody tr:last-child td,
.facefinderlens-theme .tv-lookup-page-seo table tbody tr:last-child td {
    border-bottom: none;
}

.facefinderlens-theme .entry-content table tbody tr:nth-child(even),
.facefinderlens-theme .tv-lookup-page-seo table tbody tr:nth-child(even) {
    background: #f8fafc;
}

.facefinderlens-theme .entry-content table tbody tr:hover,
.facefinderlens-theme .tv-lookup-page-seo table tbody tr:hover {
    background: #eff6ff;
    transition: background 0.12s ease;
}

.facefinderlens-theme .alignfull,
.facefinderlens-theme .alignwide {
    max-width: 100%;
}
