/*
 * LastDatabase Global Typography
 * Standard readable scale.
 * Does not resize intentionally compact visual/mockup elements.
 */

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-size: 16px;
    line-height: 1.6;
}

/* Standard content */
main p,
main li,
main td,
main th,
main label,
main input,
main select,
main textarea,
main button {
    font-size: max(1rem, 16px);
}

/* Navigation */
header nav a,
header nav button {
    font-size: max(0.9375rem, 15px);
}

/* Standard headings */
main h1 {
    font-size: clamp(2rem, 3vw, 2.5rem);
    line-height: 1.15;
}

main h2 {
    font-size: clamp(1.625rem, 2.4vw, 2rem);
    line-height: 1.25;
}

main h3 {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    line-height: 1.3;
}

main h4 {
    font-size: 1.125rem;
    line-height: 1.35;
}

/*
 * Main public content areas that currently contain many
 * explicit 10–14px declarations.
 */
.b2b-section p,
.b2b-section li,
.b2b-item p,
.b2b-meta,
.b2b-check,
.b2b-resource-links a,
.b2b-faq p,
.b2b-notice p,
.b2b-responsible-card span {
    font-size: 1rem !important;
    line-height: 1.65;
}

.b2b-section h3,
.b2b-item h3,
.b2b-faq h3 {
    font-size: 1.25rem !important;
}

.b2b-section h2 {
    font-size: 1.75rem !important;
}

.b2b-search input,
.b2b-search select,
.b2b-search button {
    font-size: 1rem !important;
}

/* Homepage readable copy */
.ldh-hero > p,
.ldh-section > p,
.ldh-card p,
.ldh-mini p,
.ldh-faq p {
    font-size: 1rem !important;
}

.ldh-card h3,
.ldh-mini h3,
.ldh-faq summary {
    font-size: 1.0625rem !important;
}

/*
 * Do not globally enlarge intentionally compact components:
 * browser mockups, visual demonstrations, badges, chips,
 * icons, counters and other miniature UI.
 */

@media (max-width: 767px) {
    html,
    body {
        font-size: 16px;
    }

    main h1 {
        font-size: 2rem;
    }

    main h2 {
        font-size: 1.625rem;
    }

    main h3 {
        font-size: 1.25rem;
    }
}

/* LASTDATABASE PACKAGE READABLE TYPOGRAPHY V2
   Applies to public package pages such as /cmo-email-list.
   Keeps badges/compact UI smaller while making readable content standard size.
*/

/* ==========================================================
   PACKAGE HERO
   ========================================================== */

.package-hero h1 {
    font-size: 40px !important;
    line-height: 1.15 !important;
}

.package-hero .hero-meta-description,
.package-hero .hero-database-description {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.package-hero .btn-main {
    font-size: 15px !important;
    line-height: 1.35 !important;
    padding: 10px 16px !important;
}

/* ==========================================================
   LIVE DATABASE / INVENTORY PANEL
   ========================================================== */

.package-data-panel {
    font-size: 16px;
}

.package-data-eyebrow {
    font-size: 13px !important;
}

.package-data-live,
.package-record-note,
.package-data-footer {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.package-data-detail {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

.package-data-detail strong {
    font-size: 16px !important;
}

/* ==========================================================
   PRICING
   ========================================================== */

.package-pricing-header h2 {
    font-size: 28px !important;
    line-height: 1.25 !important;
}

.package-pricing-header p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.package-pricing-kicker,
.package-price-label,
.package-popular-badge {
    font-size: 13px !important;
}

.package-price-copy {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.package-price-muted {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

.package-price-button,
.package-price-submit {
    font-size: 15px !important;
    line-height: 1.35 !important;
    padding: 10px 12px !important;
}

.package-monthly-fields label span {
    font-size: 13px !important;
}

.package-monthly-fields input {
    height: 40px !important;
    font-size: 15px !important;
    padding: 8px 10px !important;
}

.package-sample-title {
    font-size: 14px !important;
}

.package-sample-box small {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* ==========================================================
   EDITORIAL / DATABASE INFORMATION
   ========================================================== */

.package-info-label {
    font-size: 13px !important;
}

.package-info-heading h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
}

.package-info-heading p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.package-info-content h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
}

.package-info-content h3 {
    font-size: 22px !important;
    line-height: 1.35 !important;
}

.package-info-content h4 {
    font-size: 18px !important;
    line-height: 1.4 !important;
}

.package-info-content h5 {
    font-size: 17px !important;
    line-height: 1.4 !important;
}

.package-info-content p,
.package-info-content li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.package-info-content table {
    font-size: 15px !important;
    line-height: 1.5 !important;
}

.package-info-content th,
.package-info-content td {
    font-size: 15px !important;
    padding: 10px 12px !important;
}

.package-info-content blockquote {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

/* ==========================================================
   RELATED DATA
   ========================================================== */

.package-related-label {
    font-size: 13px !important;
}

.package-related-header h2 {
    font-size: 24px !important;
}

.package-related-header p {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.package-related-name {
    font-size: 14px !important;
    line-height: 1.4 !important;
}

/* ==========================================================
   RESPONSIBLE DATA USE
   ========================================================== */

.package-section-label {
    font-size: 13px !important;
}

.package-responsible-heading h2,
.package-reviews-heading h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
}

.package-responsible-copy p {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.package-responsible-link {
    font-size: 14px !important;
}

/* ==========================================================
   CUSTOMER REVIEWS
   ========================================================== */

.package-review-summary,
.package-review-heading-copy {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.package-review-rating strong {
    font-size: 14px !important;
}

.package-review-rating span {
    font-size: 13px !important;
}

.package-review-card h3 {
    font-size: 18px !important;
    line-height: 1.4 !important;
}

.package-review-body {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.package-review-meta {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.package-review-response > strong {
    font-size: 14px !important;
}

.package-review-response p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}

.package-reviews-footer a {
    font-size: 14px !important;
}

/* ==========================================================
   CUSTOMER SUCCESS / CASE STUDIES
   ========================================================== */

.package-case-study-company {
    font-size: 13px !important;
}

.package-case-study-customer {
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.package-case-study-block > strong {
    font-size: 15px !important;
}

.package-case-study-block p {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.package-case-results span {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.package-case-results strong {
    font-size: 16px !important;
}

.package-case-quote {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .package-hero h1 {
        font-size: 32px !important;
    }

    .package-hero .hero-meta-description,
    .package-hero .hero-database-description {
        font-size: 16px !important;
    }

    .package-hero .btn-main {
        font-size: 15px !important;
    }

    .package-info-heading h2,
    .package-info-content h2 {
        font-size: 24px !important;
    }

    .package-info-content h3 {
        font-size: 20px !important;
    }

    .package-info-content p,
    .package-info-content li,
    .package-responsible-copy p {
        font-size: 16px !important;
    }

    .package-review-body,
    .package-case-study-block p,
    .package-case-quote {
        font-size: 15px !important;
    }
}

/* END LASTDATABASE PACKAGE READABLE TYPOGRAPHY V2 */

/* LASTDATABASE PACKAGE BODY 18PX V3 */

/* Hero introductory copy */
.package-hero .hero-meta-description,
.package-hero .hero-database-description {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Main editorial/database content */
.package-info-heading p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.package-info-content p,
.package-info-content li {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Main content links inherit body size */
.package-info-content p a,
.package-info-content li a {
    font-size: inherit !important;
}

/* Tables remain slightly more compact */
.package-info-content table,
.package-info-content th,
.package-info-content td {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Quotes are reading content */
.package-info-content blockquote {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* Heading hierarchy */
.package-info-heading h2,
.package-info-content h2 {
    font-size: 30px !important;
    line-height: 1.3 !important;
}

.package-info-content h3 {
    font-size: 23px !important;
    line-height: 1.35 !important;
}

.package-info-content h4 {
    font-size: 19px !important;
    line-height: 1.4 !important;
}

.package-info-content h5 {
    font-size: 17px !important;
    line-height: 1.4 !important;
}

/* Responsible-use explanatory copy */
.package-responsible-copy p {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* Customer story/review reading copy */
.package-review-body,
.package-case-study-block p,
.package-case-quote {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Keep metadata secondary */
.package-review-meta,
.package-case-study-customer {
    font-size: 14px !important;
}

/* Mobile: do not shrink primary reading content */
@media (max-width: 700px) {

    .package-hero .hero-meta-description,
    .package-hero .hero-database-description,
    .package-info-heading p,
    .package-info-content p,
    .package-info-content li {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    .package-info-content h2 {
        font-size: 27px !important;
    }

    .package-info-content h3 {
        font-size: 22px !important;
    }
}

/* END LASTDATABASE PACKAGE BODY 18PX V3 */

/* LASTDATABASE PROGRAMMATIC BODY 18PX V4
   Public /data/{slug} pages.
   Enlarges reading content without enlarging compact lead/filter UI.
*/

/* ==========================================================
   PROGRAMMATIC HERO
   ========================================================== */

.programmatic-package-hero h1 {
    font-size: 40px !important;
    line-height: 1.15 !important;
}

.programmatic-package-hero .hero-meta-description,
.programmatic-package-hero .hero-database-description {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.programmatic-package-hero .btn,
.programmatic-package-hero .btn-main {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

/* ==========================================================
   MAIN DATABASE ARTICLE / EDITORIAL CONTENT
   ========================================================== */

.programmatic-info-content {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

.programmatic-info-content p,
.programmatic-info-content li {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Make inline links follow body text size */
.programmatic-info-content p a,
.programmatic-info-content li a {
    font-size: inherit !important;
}

/* ==========================================================
   ARTICLE HEADINGS
   ========================================================== */

.programmatic-info-content h2 {
    font-size: 30px !important;
    line-height: 1.3 !important;
}

.programmatic-info-content h3 {
    font-size: 23px !important;
    line-height: 1.4 !important;
}

.programmatic-info-content h4 {
    font-size: 19px !important;
    line-height: 1.4 !important;
}

.programmatic-info-content h5 {
    font-size: 17px !important;
    line-height: 1.4 !important;
}

/*
 * Some existing programmatic CSS targets h3 + p specifically
 * with !important, so override that selector explicitly.
 */

.programmatic-info-content h3 + p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   TABLES INSIDE ARTICLE CONTENT
   ========================================================== */

.programmatic-info-content table {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

.programmatic-info-content th,
.programmatic-info-content td {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* ==========================================================
   INFORMATION PANEL HEADING
   ========================================================== */

.programmatic-info-heading h2 {
    font-size: 28px !important;
    line-height: 1.3 !important;
}

.programmatic-info-heading p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.programmatic-info-label {
    font-size: 13px !important;
}

/* ==========================================================
   RESPONSIBLE DATA USE
   ========================================================== */

.programmatic-responsible-heading h2 {
    font-size: 24px !important;
    line-height: 1.3 !important;
}

.programmatic-responsible-copy p {
    font-size: 17px !important;
    line-height: 1.7 !important;
}

/* ==========================================================
   PRODUCT / INVENTORY PANEL
   Keep labels secondary but readable.
   ========================================================== */

.data-record-note {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.data-detail-label {
    font-size: 12px !important;
}

.data-detail-value {
    font-size: 16px !important;
}

.data-freshness-label {
    font-size: 12px !important;
}

.data-freshness-value {
    font-size: 14px !important;
}

.data-freshness-note {
    font-size: 13px !important;
}

/* ==========================================================
   PRICING
   ========================================================== */

.data-pricing-header h2 {
    font-size: 26px !important;
    line-height: 1.3 !important;
}

.data-pricing-header p {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

.data-price-title {
    font-size: 14px !important;
}

.data-price-copy {
    font-size: 15px !important;
    line-height: 1.55 !important;
}

.data-price-unit {
    font-size: 14px !important;
}

.full-database-copy strong {
    font-size: 16px !important;
}

.full-database-copy span {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

/* ==========================================================
   IMPORTANT:
   Do NOT enlarge these intentionally compact UI components:
   .compact-leads-panel
   .lead-filter-*
   search controls
   pagination controls
   live badges
   chips
   ========================================================== */


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

    .programmatic-package-hero h1 {
        font-size: 32px !important;
    }

    .programmatic-package-hero .hero-meta-description,
    .programmatic-package-hero .hero-database-description {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    .programmatic-info-content,
    .programmatic-info-content p,
    .programmatic-info-content li,
    .programmatic-info-content h3 + p {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    .programmatic-info-content h2 {
        font-size: 27px !important;
    }

    .programmatic-info-content h3 {
        font-size: 22px !important;
    }

    .programmatic-info-content h4 {
        font-size: 19px !important;
    }

    .programmatic-info-content table,
    .programmatic-info-content th,
    .programmatic-info-content td {
        font-size: 15px !important;
    }
}

/* END LASTDATABASE PROGRAMMATIC BODY 18PX V4 */

/* LASTDATABASE PROGRAMMATIC BODY 20PX V5
   Larger reading scale for long-form /data/{slug} content.
   Does NOT enlarge compact search, lead table, badges or filters.
*/

/* Primary article body */
.programmatic-info-content {
    font-size: 20px !important;
    line-height: 1.75 !important;
}

.programmatic-info-content p,
.programmatic-info-content li {
    font-size: 20px !important;
    line-height: 1.75 !important;
}

/*
 * Existing programmatic CSS has a special h3 + p rule.
 * Override it explicitly.
 */
.programmatic-info-content h3 + p {
    font-size: 20px !important;
    line-height: 1.75 !important;
}

/* Lists need enough breathing room */
.programmatic-info-content ul,
.programmatic-info-content ol {
    line-height: 1.75 !important;
}

.programmatic-info-content li {
    margin-bottom: 7px !important;
}

/* Main article heading hierarchy */
.programmatic-info-content h2 {
    font-size: 32px !important;
    line-height: 1.25 !important;
    margin-top: 30px !important;
    margin-bottom: 12px !important;
}

.programmatic-info-content h3 {
    font-size: 25px !important;
    line-height: 1.3 !important;
    margin-top: 24px !important;
    margin-bottom: 10px !important;
}

.programmatic-info-content h4 {
    font-size: 21px !important;
    line-height: 1.35 !important;
}

/* Links follow surrounding reading text */
.programmatic-info-content p a,
.programmatic-info-content li a {
    font-size: inherit !important;
}

/* Tables deliberately stay more compact */
.programmatic-info-content table,
.programmatic-info-content th,
.programmatic-info-content td {
    font-size: 16px !important;
    line-height: 1.55 !important;
}

/* Introductory copy */
.programmatic-info-heading p {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Hero description */
.programmatic-package-hero .hero-meta-description,
.programmatic-package-hero .hero-database-description {
    font-size: 19px !important;
    line-height: 1.7 !important;
}

/* Mobile remains highly readable */
@media (max-width: 700px) {

    .programmatic-info-content,
    .programmatic-info-content p,
    .programmatic-info-content li,
    .programmatic-info-content h3 + p {
        font-size: 19px !important;
        line-height: 1.72 !important;
    }

    .programmatic-info-content h2 {
        font-size: 28px !important;
    }

    .programmatic-info-content h3 {
        font-size: 23px !important;
    }

    .programmatic-info-content h4 {
        font-size: 20px !important;
    }
}

/* END LASTDATABASE PROGRAMMATIC BODY 20PX V5 */
