/* Keep the active theme's post-content wrapper white on review posts. */
.pxl-post__content {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

/*
 * Generated review reading system
 *
 * 820px gives data-rich review components enough room while running copy is
 * held to a comfortable editorial measure. The legacy wrapper lets reviews
 * generated by earlier plugin versions inherit the same design.
 */
body.airg-generated-review {
    background: #ffffff !important;
}

body.airg-generated-review .pxl-post__content,
body.airg-generated-review .entry-content,
body.airg-generated-review .entry-content-wrap {
    min-width: 0 !important;
    background: #ffffff !important;
}

.airg-review-post {
    --airg-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --airg-accent: #1d4ed8;
    --airg-accent-hover: #1e40af;
    --airg-ink: #000000;
    --airg-copy: #444444;
    --airg-card-ink: #333333;
    --airg-muted: #666666;
    --airg-border: rgba(102, 102, 102, 0.22);
    --airg-soft: #ffffff;
    width: 100% !important;
    max-width: 820px !important;
    margin: 0 auto !important;
    padding: 0 32px 72px !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    color: var(--airg-copy) !important;
    background: #ffffff !important;
    font-family: var(--airg-font);
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}

.airg-review-post--legacy {
    max-width: none !important;
    padding: 0 !important;
}

.airg-review-post--legacy > p:first-child:has(script[type="application/ld+json"]) {
    display: none !important;
}

.airg-review-post--legacy > div:not(.kk-star-ratings) {
    width: 100% !important;
    max-width: 820px !important;
    margin: 0 auto !important;
    padding: 0 32px 72px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
}

.airg-review-post--legacy > .kk-star-ratings {
    max-width: 820px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.airg-review-post *,
.airg-review-post *::before,
.airg-review-post *::after {
    box-sizing: border-box !important;
}

.airg-review-post *:not(.fa):not(.fas):not(.far):not(.fa-solid):not(.fa-regular) {
    font-family: var(--airg-font) !important;
}

.airg-review-post p {
    max-width: 70ch !important;
    margin-top: 0 !important;
    margin-bottom: 1.35em !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}

.airg-review-post p[style*="color:#000000"] {
    color: var(--airg-copy) !important;
}

.airg-review-post p:empty {
    display: none !important;
}

.airg-review-post h2 {
    margin: 0 0 18px !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--airg-ink) !important;
    font-size: clamp(27px, 3.4vw, 32px) !important;
    font-weight: 700 !important;
    line-height: 1.17 !important;
    letter-spacing: -0.025em !important;
}

.airg-review-post h3 {
    color: var(--airg-card-ink) !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.012em !important;
}

.airg-review-post h4,
.airg-review-post h5,
.airg-review-post h6 {
    color: var(--airg-card-ink) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

.airg-review-post a:not([rel~="sponsored"]) {
    color: var(--airg-accent) !important;
    text-decoration-color: rgba(29, 78, 216, 0.35) !important;
    text-underline-offset: 3px !important;
}

.airg-review-post a:not([rel~="sponsored"]):hover,
.airg-review-post a:not([rel~="sponsored"]):focus-visible {
    color: var(--airg-accent-hover) !important;
    text-decoration-color: currentColor !important;
}

.airg-review-post a:focus-visible {
    outline: 3px solid rgba(29, 78, 216, 0.3) !important;
    outline-offset: 3px !important;
}

.airg-review-post ul,
.airg-review-post ol {
    margin-top: 0 !important;
    margin-bottom: 1.5em !important;
}

.airg-review-post li {
    margin-bottom: 0.55em !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

.airg-review-post img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
}

.airg-review-post blockquote {
    margin: 32px 0 !important;
    padding: 4px 0 4px 24px !important;
    border-left: 4px solid var(--airg-accent) !important;
    color: var(--airg-card-ink) !important;
    font-size: 20px !important;
    line-height: 1.6 !important;
}

.airg-review-post > div[id],
.airg-review-post--legacy > div:not(.kk-star-ratings) > div[id] {
    margin-bottom: 56px !important;
    scroll-margin-top: 110px !important;
}

/* Primary affiliate actions */
.airg-review-post a[rel~="sponsored"] {
    display: inline-flex !important;
    min-height: 50px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 13px 24px !important;
    border: 2px solid var(--airg-accent) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    background: var(--airg-accent) !important;
    box-shadow: none !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}

.airg-review-post a[rel~="sponsored"]:hover,
.airg-review-post a[rel~="sponsored"]:focus-visible {
    border-color: var(--airg-accent-hover) !important;
    color: #ffffff !important;
    background: var(--airg-accent-hover) !important;
    transform: translateY(-1px) !important;
}

/* Quick verdict */
.airg-review-post .airg-quick-verdict,
.airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] {
    margin-bottom: 18px !important;
    padding: 30px 32px !important;
    border-radius: 12px !important;
    color: #ffffff !important;
    background: var(--airg-accent) !important;
}

.airg-review-post .airg-quick-verdict h3,
.airg-review-post .airg-quick-verdict p,
.airg-review-post .airg-quick-verdict li,
.airg-review-post .airg-quick-verdict span,
.airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] h3,
.airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] p,
.airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] li,
.airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] span {
    color: #ffffff !important;
}

/* Table of contents */
.airg-review-post .airg-review-toc,
.airg-review-post div:has(> div[onclick*="toc-icon"]) {
    margin-bottom: 56px !important;
    padding: 24px 26px !important;
    border: 1px solid rgba(29, 78, 216, 0.22) !important;
    border-radius: 12px !important;
    background: var(--airg-soft) !important;
}

.airg-review-post .airg-review-toc a,
.airg-review-post div:has(> div[onclick*="toc-icon"]) a {
    border-bottom: 0 !important;
    color: var(--airg-accent) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

.airg-review-post .airg-review-toc a:hover,
.airg-review-post div:has(> div[onclick*="toc-icon"]) a:hover {
    color: var(--airg-accent-hover) !important;
    text-decoration: underline !important;
}

/* Structured information cards */
.airg-review-post #features > div[style*="display:grid"] > div,
.airg-review-post #testing-experience > div[style*="display:grid"] > div,
.airg-review-post #how-it-works > div[style*="display:flex"] > div {
    padding: 22px !important;
    border: 1px solid var(--airg-border) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.airg-review-post #features > div[style*="display:grid"] > div:hover,
.airg-review-post #testing-experience > div[style*="display:grid"] > div:hover {
    border-color: var(--airg-accent) !important;
}

.airg-review-post #features h3 span,
.airg-review-post #how-it-works span[style*="background"] {
    color: #ffffff !important;
    background: var(--airg-accent) !important;
}

.airg-review-post #testing-experience i {
    color: var(--airg-accent) !important;
}

.airg-review-post #integrations span {
    border: 1px solid rgba(29, 78, 216, 0.22) !important;
    color: var(--airg-accent) !important;
    background: var(--airg-soft) !important;
}

.airg-review-post #who-is-for > div[style*="border-left"],
.airg-review-post #comparison > div[style*="border-left"] {
    border-color: var(--airg-accent) !important;
    color: var(--airg-card-ink) !important;
    background: var(--airg-soft) !important;
}

/* Comparison table */
.airg-review-post #comparison > div[style*="overflow-x:auto"] {
    max-width: 100% !important;
    overflow-x: auto !important;
    border: 1px solid var(--airg-border) !important;
    border-radius: 12px !important;
    -webkit-overflow-scrolling: touch !important;
}

.airg-review-post #comparison table {
    width: 100% !important;
    min-width: 650px !important;
    border-collapse: collapse !important;
    font-size: 15px !important;
}

.airg-review-post #comparison th {
    padding: 14px 16px !important;
    color: #ffffff !important;
    background: var(--airg-accent) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.airg-review-post #comparison td {
    padding: 14px 16px !important;
    border-color: var(--airg-border) !important;
    color: var(--airg-copy) !important;
    background: #ffffff !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    vertical-align: top !important;
}

.airg-review-post #comparison tbody tr:first-child td {
    background: var(--airg-soft) !important;
}

/* Community, FAQ, and verdict */
.airg-review-post #community-feedback > div[style*="display:grid"] > div {
    padding: 22px !important;
    border: 1px solid var(--airg-border) !important;
    border-top: 4px solid var(--airg-accent) !important;
    border-radius: 0 0 12px 12px !important;
    background: #ffffff !important;
}

.airg-review-post #community-feedback h3,
.airg-review-post #community-feedback li {
    color: var(--airg-card-ink) !important;
}

.airg-review-post #faq > div:not(:first-child) {
    margin-bottom: 18px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid var(--airg-border) !important;
}

.airg-review-post #faq h3 {
    margin: 0 0 10px !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
}

.airg-review-post #verdict {
    padding: 28px !important;
    border: 1px solid rgba(29, 78, 216, 0.22) !important;
    border-left: 5px solid var(--airg-accent) !important;
    border-radius: 12px !important;
    background: var(--airg-soft) !important;
}

/* Final pros and cons */
.airg-review-post #pros-cons > div[style*="display:grid"] {
    border-radius: 12px !important;
}

.airg-review-post #pros-cons > div[style*="display:grid"] > div:first-child {
    background: var(--airg-accent) !important;
}

.airg-review-post #pros-cons > div[style*="display:grid"] > div:last-child {
    background: var(--airg-accent-hover) !important;
}

.airg-review-post #pros-cons h3,
.airg-review-post #pros-cons p,
.airg-review-post #pros-cons li,
.airg-review-post #pros-cons span {
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .airg-review-post {
        max-width: 100% !important;
        padding: 0 18px 56px !important;
        font-size: 17px !important;
    }

    .airg-review-post--legacy {
        padding: 0 !important;
    }

    .airg-review-post--legacy > div:not(.kk-star-ratings) {
        max-width: 100% !important;
        padding: 0 18px 56px !important;
    }

    .airg-review-post p {
        max-width: none !important;
        font-size: 17px !important;
        line-height: 1.72 !important;
    }

    .airg-review-post h2 {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    .airg-review-post h3 {
        font-size: 19px !important;
    }

    .airg-review-post > div[id],
    .airg-review-post--legacy > div:not(.kk-star-ratings) > div[id] {
        margin-bottom: 44px !important;
        scroll-margin-top: 78px !important;
    }

    .airg-review-post [style*="display:grid"][style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .airg-review-post .airg-quick-verdict,
    .airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] {
        padding: 24px 20px !important;
    }

    .airg-review-post .airg-quick-verdict > div:first-child,
    .airg-review-post div[style*="padding:36px 40px"][style*="color:#ffffff"] > div:first-child {
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .airg-review-post .airg-review-toc,
    .airg-review-post div:has(> div[onclick*="toc-icon"]) {
        padding: 20px !important;
    }

    .airg-review-post #features > div[style*="display:grid"] > div,
    .airg-review-post #testing-experience > div[style*="display:grid"] > div,
    .airg-review-post #how-it-works > div[style*="display:flex"] > div {
        padding: 18px !important;
    }

    .airg-review-post #pros-cons > div[style*="display:grid"] > div {
        padding: 24px 20px !important;
    }

    .airg-review-post #verdict {
        padding: 22px 20px !important;
    }

    .airg-review-post a[rel~="sponsored"] {
        width: 100% !important;
        max-width: 360px !important;
        padding: 13px 18px !important;
        font-size: 16px !important;
    }
}

@media print {
    .airg-review-post {
        max-width: none !important;
        padding: 0 !important;
        color: #000000 !important;
    }

    .airg-review-post a[rel~="sponsored"] {
        display: none !important;
    }
}
