/*
 Theme Name:   AIX Radar Theme
 Theme URI:    https://aixradar.com
 Description:  GeneratePress child theme for AIX Radar — AI Tools, Reviews, Deals & Promo Codes
 Author:       AIX Radar
 Template:     generatepress
 Version:      4.0.0
 Text Domain:  aixradar-theme
*/

/* ============================================================
   DESIGN SYSTEM v4 — Monochrome / Minimal
   Palette: Black, White, Gray only
   Fonts: system sans (body) + Georgia (headings)
   ============================================================ */

:root {
    --color-black:       #111111;
    --color-dark:        #333333;
    --color-mid:         #555555;
    --color-muted:       #777777;
    --color-border:      #E5E7EB;
    --color-border-dark: #D1D5DB;
    --color-bg:          #FFFFFF;
    --color-bg-alt:      #F9FAFB;
    --color-bg-hover:    #F3F4F6;

    --radius:    6px;
    --radius-lg: 10px;
    --ease:      cubic-bezier(0.4, 0, 0.2, 1);
    --speed:     0.18s;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
    --shadow:    0 2px 8px rgba(0,0,0,0.07);
    --shadow-md: 0 4px 16px rgba(0,0,0,0.09);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
html { scroll-behavior: smooth; }

body {
    font-family: "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 17px;
    line-height: 1.7;
    color: var(--color-dark);
    background: var(--color-bg);
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--color-black);
    text-decoration: underline;
    text-decoration-color: var(--color-border-dark);
    text-underline-offset: 2px;
    transition: color var(--speed) var(--ease),
                text-decoration-color var(--speed) var(--ease);
}
a:hover {
    color: var(--color-mid);
    text-decoration-color: var(--color-mid);
}

h1, h2, h3, h4, h5, h6 {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--color-black);
    line-height: 1.25;
    font-weight: 700;
}

/* ============================================================
   HEADER — White, clean border
   ============================================================ */
.site-header {
    background: #FFFFFF !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--color-border) !important;
}

.inside-header { padding: 0 40px !important; }

/* Logo text */
.site-title a,
.site-title a:hover,
.site-title a:visited {
    color: var(--color-black) !important;
    font-family: "Fira Sans", sans-serif !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}
.site-title a::before { display: none !important; }
.site-description { display: none !important; }

/* Nav links */
.main-navigation { background: transparent !important; }
.main-navigation .main-nav ul li a {
    color: var(--color-dark) !important;
    font-family: "Fira Sans", sans-serif;
    font-weight: 500;
    font-size: 15px;
    text-decoration: none !important;
    transition: color var(--speed) var(--ease);
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--color-black) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    text-decoration-thickness: 1px !important;
}
/* Dropdown */
.main-navigation ul ul {
    background: #FFFFFF !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-md) !important;
    padding: 6px 0;
}
.main-navigation ul ul li a {
    color: var(--color-dark) !important;
    font-size: 14px;
    padding: 10px 20px !important;
}
.main-navigation ul ul li a:hover {
    color: var(--color-black) !important;
    background: var(--color-bg-hover) !important;
}
.main-navigation .menu-item-has-children > a::after {
    border-top-color: var(--color-mid) !important;
}
.menu-toggle { color: var(--color-black) !important; }

/* ============================================================
   HOMEPAGE — Remove all backgrounds
   ============================================================ */
.page-id-5 .site-content { padding-top: 0 !important; }
.page-id-5 .inside-article { padding: 0; }

/* Kill every colored background on homepage */
.page-id-5 .wp-block-group,
.page-id-5 .wp-block-group.has-background,
.page-id-5 .wp-block-group.has-white-color,
.page-id-5 .wp-block-group[style*="background"] {
    background: #FFFFFF !important;
    background-image: none !important;
}
/* Except white category cards — keep their borders */
.page-id-5 .wp-block-group.has-white-background-color {
    background: #FFFFFF !important;
}

/* Hero heading & text */
.page-id-5 .entry-content > .wp-block-group:first-child h1 {
    color: var(--color-black) !important;
    font-size: 44px;
    line-height: 1.15;
}
.page-id-5 .entry-content > .wp-block-group:first-child p {
    color: var(--color-mid) !important;
    font-size: 18px;
}

/* Force ALL headings on homepage to black */
.page-id-5 h1, .page-id-5 h2, .page-id-5 h3 {
    color: var(--color-black) !important;
    text-decoration: none !important;
}

/* Category cards */
.wp-block-group.has-border-color {
    border-color: var(--color-border) !important;
    transition: border-color var(--speed) var(--ease),
                box-shadow var(--speed) var(--ease);
}
.wp-block-group.has-border-color:hover {
    border-color: var(--color-border-dark) !important;
    box-shadow: var(--shadow) !important;
    transform: translateY(-2px);
}

/* SVG icons — neutral gray */
.page-id-5 svg[stroke] { stroke: var(--color-mid) !important; }
.page-id-5 svg[fill]:not([fill="none"]) { fill: var(--color-mid) !important; }

/* ============================================================
   BUTTONS — Black only
   ============================================================ */
.wp-block-button__link,
.wp-element-button {
    background: var(--color-black) !important;
    color: #FFFFFF !important;
    border-radius: var(--radius) !important;
    font-family: "Fira Sans", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 13px 28px !important;
    text-decoration: none !important;
    border: 1px solid var(--color-black) !important;
    box-shadow: none !important;
    transition: background var(--speed) var(--ease),
                transform var(--speed) var(--ease) !important;
}
.wp-block-button__link:hover,
.wp-element-button:hover {
    background: var(--color-dark) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: var(--shadow-sm) !important;
}
/* Outline variant */
.wp-block-button.is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--color-black) !important;
    border: 1px solid var(--color-black) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background: var(--color-bg-hover) !important;
    color: var(--color-black) !important;
}

/* ============================================================
   CONTENT — Blog posts, single pages
   ============================================================ */
.entry-title {
    font-family: Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--color-black);
}
.entry-title a { color: var(--color-black); text-decoration: none; }
.entry-title a:hover { color: var(--color-mid); }
.single .entry-title { font-size: 36px; }

.entry-content p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--color-dark);
    margin-bottom: 20px;
}
.entry-content a {
    color: var(--color-black) !important;
    text-decoration: underline;
    text-decoration-color: var(--color-border-dark);
    text-underline-offset: 2px;
}
.entry-content a:hover {
    color: var(--color-mid) !important;
}

.entry-content h2 {
    font-size: 28px;
    margin-top: 48px;
    margin-bottom: 16px;
    padding-left: 14px;
    margin-left: -17px;
    border-left: 3px solid var(--color-black);
    color: var(--color-black);
}
.entry-content h3 {
    font-size: 22px;
    margin-top: 36px;
    margin-bottom: 12px;
    color: var(--color-black);
}

/* Blockquote */
.entry-content blockquote {
    border-left: 4px solid var(--color-black);
    background: var(--color-bg-alt);
    padding: 18px 24px;
    margin: 24px 0;
    border-radius: 0 var(--radius) var(--radius) 0;
    font-style: italic;
}
.entry-content blockquote p {
    margin-bottom: 0;
    color: var(--color-dark);
}

/* Tables */
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 15px;
}
.entry-content table th {
    background: var(--color-black);
    color: #FFFFFF;
    font-family: "Fira Sans", sans-serif;
    font-weight: 600;
    padding: 12px 16px;
    text-align: left;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.entry-content table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-dark);
}
.entry-content table tr:nth-child(even) td { background: var(--color-bg-alt); }

/* Code */
.entry-content code {
    background: var(--color-bg-alt);
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 14px;
    color: var(--color-dark);
    border: 1px solid var(--color-border);
}

/* Lists */
.entry-content ul, .entry-content ol { margin-bottom: 20px; padding-left: 24px; }
.entry-content li { line-height: 1.7; margin-bottom: 8px; }

/* ============================================================
   POST CARDS
   ============================================================ */
article.post {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    padding: 24px;
    margin-bottom: 24px;
    transition: box-shadow var(--speed) var(--ease);
}
article.post:hover { box-shadow: var(--shadow-md); }

.cat-links a {
    display: inline-block;
    background: var(--color-bg-alt);
    color: var(--color-dark);
    padding: 3px 10px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 700;
    font-family: "Fira Sans", sans-serif;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border: 1px solid var(--color-border);
}
.cat-links a:hover { background: var(--color-black); color: #FFFFFF; }

/* ============================================================
   POST META
   ============================================================ */
.aix-post-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--color-border);
}
.aix-meta-name { font-weight: 600; font-size: 14px; color: var(--color-black); }
.aix-meta-dates { font-size: 13px; color: var(--color-muted); }
.aix-meta-separator { margin: 0 8px; color: var(--color-border-dark); }
.aix-read-time {
    font-size: 13px;
    color: var(--color-muted);
    background: var(--color-bg-alt);
    padding: 4px 12px;
    border-radius: 50px;
    border: 1px solid var(--color-border);
}
.entry-header .entry-meta { display: none; }

/* ============================================================
   CTA BOXES
   ============================================================ */
.aix-cta-box {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border-dark);
    border-radius: var(--radius-lg);
    padding: 28px 32px;
    margin: 32px 0;
    text-align: center;
}
.aix-cta-box h3 { font-size: 22px; margin: 0 0 8px; }
.aix-cta-box .aix-cta-btn {
    display: inline-block;
    background: var(--color-black);
    color: #FFFFFF !important;
    padding: 13px 36px;
    border-radius: var(--radius);
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: background var(--speed) var(--ease);
}
.aix-cta-box .aix-cta-btn:hover { background: var(--color-dark); }

/* ============================================================
   PROS / CONS
   ============================================================ */
.aix-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 24px 0; }
.aix-pros { background: #F9FFF9; border: 1px solid #D1FAE5; border-radius: var(--radius-lg); padding: 20px 24px; }
.aix-cons { background: #FFF9F9; border: 1px solid #FECACA; border-radius: var(--radius-lg); padding: 20px 24px; }
.aix-pros h4 { color: #166534; margin-top: 0; }
.aix-cons h4 { color: #991B1B; margin-top: 0; }
@media (max-width: 600px) { .aix-pros-cons { grid-template-columns: 1fr; } }

/* ============================================================
   TABLE OF CONTENTS
   ============================================================ */
.aix-toc {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-left: 3px solid var(--color-black);
    border-radius: var(--radius);
    margin: 24px 0;
    overflow: hidden;
    font-family: "Fira Sans", sans-serif;
}
.aix-toc-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 20px;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
}
.aix-toc-toggle:hover { background: var(--color-bg-hover); }
.aix-toc-label { font-size: 15px; font-weight: 700; color: var(--color-black); display: flex; align-items: center; gap: 8px; }
.aix-toc-icon { color: var(--color-black); }
.aix-toc-arrow { color: var(--color-mid); transition: transform 0.2s var(--ease); }
.aix-toc--open .aix-toc-arrow { transform: rotate(180deg); }
.aix-toc-list { max-height: 0; overflow: hidden; transition: max-height 0.3s var(--ease); margin: 0; padding: 0 20px 0 44px; list-style: decimal; }
.aix-toc--open .aix-toc-list { max-height: 2000px; padding: 4px 20px 16px 44px; border-top: 1px solid var(--color-border); }
.aix-toc-list li { margin-bottom: 6px; font-size: 14px; color: var(--color-dark); }
.aix-toc-list li a { color: var(--color-dark); text-decoration: underline; text-underline-offset: 2px; }
.aix-toc-list li a:hover { color: var(--color-black); }

/* ============================================================
   AFFILIATE DISCLOSURE
   ============================================================ */
.aix-affiliate-disclosure {
    margin-top: 36px;
    padding: 16px 20px;
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    font-size: 13px;
    color: var(--color-muted);
    line-height: 1.6;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */
.aix-breadcrumbs { font-size: 13px; color: var(--color-muted); padding: 10px 0; margin-bottom: 8px; }
.aix-breadcrumbs a { color: var(--color-muted); text-decoration: none; }
.aix-breadcrumbs a:hover { color: var(--color-black); }
.aix-breadcrumbs .separator { margin: 0 6px; }
.page-id-5 .aix-breadcrumbs { display: none; }

/* ============================================================
   LATEST POSTS BLOCK
   ============================================================ */
.wp-block-latest-posts li {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow var(--speed) var(--ease);
    padding-bottom: 16px;
}
.wp-block-latest-posts li:hover { box-shadow: var(--shadow-md); }
.wp-block-latest-posts__post-title { padding: 14px 16px 0; font-family: Georgia, serif; font-size: 16px; font-weight: 700; color: var(--color-black); text-decoration: none; }
.wp-block-latest-posts__post-date { padding: 0 16px; font-size: 12px; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.wp-block-latest-posts__post-excerpt { padding: 0 16px; font-size: 14px; color: var(--color-mid); }

/* ============================================================
   SIDEBAR
   ============================================================ */
.widget { background: #FFFFFF; padding: 20px; border-radius: var(--radius); border: 1px solid var(--color-border); margin-bottom: 20px; }
.widget-title { font-family: "Fira Sans", sans-serif; font-size: 13px; font-weight: 700; color: var(--color-black); text-transform: uppercase; letter-spacing: 0.08em; border-bottom: 1px solid var(--color-border); padding-bottom: 10px; margin-bottom: 14px; }

/* ============================================================
   FOOTER — White, clean
   ============================================================ */
.site-footer {
    background: #FFFFFF !important;
    color: var(--color-mid) !important;
    border-top: 1px solid var(--color-border) !important;
}
.site-footer .inside-site-info { background: transparent !important; }
.site-footer a {
    color: var(--color-black) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.site-footer a:hover { color: var(--color-black) !important; }
.site-footer .widget { background: transparent; border: none; box-shadow: none; padding: 0; }
.site-footer .widget-title { color: var(--color-black); border-bottom-color: var(--color-border); }
.site-footer .widget li { padding: 6px 0; border-bottom: 1px solid var(--color-border); }
.site-footer .widget li:last-child { border-bottom: none; }

.site-info { text-align: center; padding: 18px 24px; font-size: 13px; }

/* Footer bottom: copyright + social */
.aix-footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; width: 100%; }
.aix-footer-copy { font-size: 13px; color: var(--color-mid); }
.aix-footer-copy a {
    color: var(--color-black) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.aix-footer-copy a:hover { color: var(--color-black) !important; }

/* Social icons */
.aix-social-links { display: flex; align-items: center; gap: 8px; }
.aix-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--color-bg-alt);
    color: var(--color-muted) !important;
    text-decoration: none !important;
    transition: background var(--speed) var(--ease), color var(--speed) var(--ease);
    border: 1px solid var(--color-border);
}
.aix-social-link:hover {
    background: var(--color-black) !important;
    color: #FFFFFF !important;
    border-color: var(--color-black);
}
.aix-social-link svg { display: block; }

@media (max-width: 600px) {
    .aix-footer-bottom { flex-direction: column; align-items: center; text-align: center; }
}

/* ============================================================
   RANK MATH FAQ
   ============================================================ */
.rank-math-faq-item { border: 1px solid var(--color-border) !important; border-radius: var(--radius) !important; margin-bottom: 8px !important; overflow: hidden; }
.rank-math-faq-item .rank-math-faq-title { background: var(--color-bg-alt) !important; color: var(--color-black) !important; font-weight: 600 !important; padding: 14px 18px !important; }
.rank-math-faq-item .rank-math-faq-answer p { color: var(--color-dark) !important; padding: 0 18px 14px !important; }

/* ============================================================
   FORMS
   ============================================================ */
.frm-fluent-form .ff-el-input--label label { font-weight: 600; color: var(--color-black); font-size: 14px; }
.frm-fluent-form .ff-el-form-control { border-radius: var(--radius) !important; border: 1px solid var(--color-border) !important; padding: 11px 14px !important; }
.frm-fluent-form .ff-el-form-control:focus { border-color: var(--color-black) !important; box-shadow: 0 0 0 2px rgba(0,0,0,0.08) !important; }
.frm-fluent-form .ff-btn-submit { background: var(--color-black) !important; border-radius: var(--radius) !important; padding: 13px 32px !important; font-weight: 700 !important; }
.frm-fluent-form .ff-btn-submit:hover { background: var(--color-dark) !important; }

/* ============================================================
   MISC
   ============================================================ */
.generate-back-to-top { background: var(--color-black) !important; color: #FFFFFF !important; border-radius: 50% !important; width: 42px !important; height: 42px !important; }
:target { scroll-margin-top: 80px; }
::selection { background: #F3F4F6; color: var(--color-black); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--color-black); outline-offset: 2px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    body { font-size: 16px; }
    .single .entry-title { font-size: 28px; }
    .entry-content h2 { font-size: 22px; }
    .page-id-5 .entry-content > .wp-block-group:first-child h1 { font-size: 32px !important; }
    .inside-header { padding: 0 20px !important; }
}
@media (max-width: 480px) {
    .page-id-5 .entry-content > .wp-block-group:first-child h1 { font-size: 26px !important; }
}

/* ============================================================
   BUTTON TEXT FIX — override entry-content a color conflict
   ============================================================ */
.wp-block-button .wp-block-button__link,
.entry-content .wp-block-button .wp-block-button__link,
.page-id-5 .wp-block-button .wp-block-button__link {
    color: #FFFFFF !important;
    text-decoration: none !important;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.entry-content .wp-block-button.is-style-outline .wp-block-button__link,
.page-id-5 .wp-block-button.is-style-outline .wp-block-button__link {
    color: var(--color-black) !important;
    background: transparent !important;
}

/* ============================================================
   Footer Navigation Menu
   ============================================================ */
.aix-footer-nav {
    background: #1a1a1a;
    border-top: 1px solid #333;
    text-align: center;
    padding: 14px 20px;
}
.aix-footer-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 24px;
}
.aix-footer-nav-list li a {
    color: #aaaaaa;
    text-decoration: none;
    font-size: 13px;
    font-family: 'Fira Sans', sans-serif;
    transition: color 0.2s;
}
.aix-footer-nav-list li a:hover {
    color: #EF4444;
}

/* ============================================================
   HOMEPAGE CUSTOM POST GRIDS — clean responsive cards
   ============================================================ */
.page-id-5 .aix-home-post-grid {
    --aix-grid-columns: 3;
    display: grid;
    grid-template-columns: repeat(var(--aix-grid-columns), minmax(0, 1fr));
    gap: 22px;
    margin-top: 30px;
}

.page-id-5 .aix-home-post-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03);
    transition: transform var(--speed) var(--ease),
                border-color var(--speed) var(--ease),
                box-shadow var(--speed) var(--ease);
}

.page-id-5 .aix-home-post-card:hover {
    transform: translateY(-3px);
    border-color: var(--color-border-dark);
    box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08);
}

.page-id-5 .aix-home-post-card__topline,
.page-id-5 .aix-home-post-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--color-muted);
    font-size: 12px;
    line-height: 1.4;
}

.page-id-5 .aix-home-post-card__label {
    display: inline-flex;
    align-items: center;
    max-width: 60%;
    padding: 5px 10px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-bg-alt);
    color: var(--color-dark);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.page-id-5 .aix-home-post-card__title {
    margin: 18px 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
}

.page-id-5 .aix-home-post-card__title a {
    color: var(--color-black) !important;
    text-decoration: none !important;
}

.page-id-5 .aix-home-post-card__title a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.page-id-5 .aix-home-post-card__excerpt {
    margin: 0 0 20px !important;
    color: var(--color-mid) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.page-id-5 .aix-home-post-card__footer {
    margin-top: auto;
    padding-top: 18px;
    border-top: 1px solid var(--color-border);
}

.page-id-5 .aix-home-post-card__footer a {
    color: var(--color-black) !important;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

.page-id-5 .aix-home-post-card__footer a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.page-id-5 .aix-home-post-grid--reviews .aix-home-post-card {
    padding: 26px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%);
}

.page-id-5 .aix-home-post-grid--reviews .aix-home-post-card__title {
    font-size: 23px !important;
}

@media (max-width: 980px) {
    .page-id-5 .aix-home-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .page-id-5 .aix-home-post-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .page-id-5 .aix-home-post-card {
        padding: 20px;
        border-radius: 14px;
    }

    .page-id-5 .aix-home-post-card__topline,
    .page-id-5 .aix-home-post-card__footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-id-5 .aix-home-post-card__label {
        max-width: 100%;
    }
}


/* Keep homepage card rows visually even even when titles/excerpts vary. */
.page-id-5 .aix-home-post-card__title a,
.page-id-5 .aix-home-post-card__excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.page-id-5 .aix-home-post-card__title a {
    -webkit-line-clamp: 3;
    min-height: 3.75em;
}

.page-id-5 .aix-home-post-card__excerpt {
    -webkit-line-clamp: 3;
    min-height: 4.95em;
}

.page-id-5 .aix-home-post-grid--reviews .aix-home-post-card__excerpt {
    -webkit-line-clamp: 4;
    min-height: 6.6em;
}

/* ============================================================
   BLOG ARCHIVE — clean responsive card grid
   ============================================================ */
.blog .site-content {
    padding-top: 34px !important;
}

.blog .site-main {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.blog .aix-blog-archive-hero,
.blog .paging-navigation {
    grid-column: 1 / -1;
}

.blog .aix-blog-archive-hero {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    padding: 42px 46px;
    margin-bottom: 8px;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03);
}

.blog .aix-blog-archive-eyebrow {
    margin: 0 0 10px !important;
    color: var(--color-muted) !important;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.blog .aix-blog-archive-hero h1 {
    max-width: 760px;
    margin: 0 0 14px;
    color: var(--color-black);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
}

.blog .aix-blog-archive-hero > p:not(.aix-blog-archive-eyebrow) {
    max-width: 760px;
    margin: 0 !important;
    color: var(--color-mid) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}

.blog .aix-blog-archive-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.blog .aix-blog-archive-chips a {
    display: inline-flex;
    align-items: center;
    padding: 9px 14px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-bg-alt);
    color: var(--color-black) !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
}

.blog .aix-blog-archive-chips a:hover {
    background: var(--color-black);
    border-color: var(--color-black);
    color: #FFFFFF !important;
}

.blog article.post {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.blog article.post:hover {
    box-shadow: none !important;
}

.blog article.post .inside-article {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 24px !important;
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03);
    transition: transform var(--speed) var(--ease),
                border-color var(--speed) var(--ease),
                box-shadow var(--speed) var(--ease);
}

.blog article.post .inside-article:hover {
    transform: translateY(-3px);
    border-color: var(--color-border-dark);
    box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08);
}

.blog .entry-header {
    display: flex;
    flex-direction: column;
}

.blog .entry-title {
    order: 2;
    margin: 0 0 12px !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
}

.blog .entry-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    min-height: 3.75em;
    color: var(--color-black) !important;
    text-decoration: none !important;
}

.blog .entry-title a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.blog .aix-post-meta {
    order: 1;
    align-items: flex-start;
    gap: 12px;
    padding: 0 !important;
    margin: 0 0 16px !important;
    border-bottom: 0 !important;
}

.blog .aix-meta-left {
    min-width: 0;
}

.blog .aix-author-avatar,
.blog .aix-meta-name {
    display: none !important;
}

.blog .aix-meta-dates {
    color: var(--color-muted);
    font-size: 12px;
    line-height: 1.4;
}

.blog .aix-meta-published {
    display: block;
    max-width: 170px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.blog .aix-read-time {
    display: inline-flex;
    white-space: nowrap;
    font-size: 12px;
    padding: 5px 10px;
}

.blog .entry-summary {
    flex: 1 1 auto;
}

.blog .entry-summary p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    min-height: 6.8em;
    margin: 0 0 18px !important;
    color: var(--color-mid) !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.blog .entry-summary .read-more {
    display: none !important;
}

.blog footer.entry-meta {
    display: block !important;
    margin: auto 0 14px;
    padding: 0 !important;
    border: 0 !important;
}

.blog .cat-links a {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.blog .aix-archive-read-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: auto;
    padding: 12px 14px;
    border: 1px solid var(--color-black);
    border-radius: 10px;
    background: var(--color-black);
    color: #FFFFFF !important;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
}

.blog .aix-archive-read-more:hover {
    background: var(--color-dark);
    color: #FFFFFF !important;
}

.blog .paging-navigation {
    margin-top: 12px;
    padding: 22px 24px;
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
}

.blog .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.blog .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    color: var(--color-black) !important;
    font-weight: 800;
    text-decoration: none !important;
}

.blog .page-numbers.current,
.blog .page-numbers:hover {
    background: var(--color-black);
    border-color: var(--color-black);
    color: #FFFFFF !important;
}

@media (max-width: 1100px) {
    .blog .site-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .blog .site-content {
        padding-top: 18px !important;
    }

    .blog .site-main {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .blog .aix-blog-archive-hero {
        padding: 28px 22px;
        border-radius: 16px;
    }

    .blog .aix-blog-archive-hero h1 {
        font-size: 34px;
    }

    .blog .aix-blog-archive-hero > p:not(.aix-blog-archive-eyebrow) {
        font-size: 16px !important;
    }

    .blog article.post .inside-article {
        padding: 20px !important;
        border-radius: 14px;
    }

    .blog .aix-post-meta {
        flex-direction: column;
    }

    .blog .aix-meta-published {
        max-width: none;
    }
}


/* Keep blog archive cards consistent while some older posts lack featured images. */
.blog .post-image,
.blog .featured-image {
    display: none !important;
}


/* ============================================================
   CATEGORY & TAG ARCHIVE HERO
   Hooked via generate_before_main_content priority 5
   Hides the GB Loop Template's default H1 + term-description block
   ============================================================ */
.category:not(.category-deals) .site-content,
.tag-excluded .site-content {
    padding-top: 34px !important;
}

.category:not(.category-deals) .gb-container-1985f7a4,
.tag-excluded .gb-container-1985f7a4 {
    display: none !important;
}

.aix-archive-hero {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 18px;
    padding: 42px 46px;
    margin: 0 0 28px;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03);
}

.aix-archive-hero-eyebrow {
    margin: 0 0 10px !important;
    color: var(--color-muted) !important;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: "Fira Sans", sans-serif !important;
}

.aix-archive-hero h1 {
    max-width: 760px;
    margin: 0 0 14px;
    color: var(--color-black);
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.08;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.aix-archive-hero > p {
    max-width: 760px;
    margin: 0 !important;
    color: var(--color-mid) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}

.aix-archive-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.aix-archive-hero-chip {
    display: inline-flex;
    align-items: center;
    padding: 9px 14px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-bg-alt);
    color: var(--color-black) !important;
    font-family: "Fira Sans", sans-serif;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    transition: background var(--speed) var(--ease),
                color var(--speed) var(--ease),
                border-color var(--speed) var(--ease);
}

.aix-archive-hero-chip:hover,
.aix-archive-hero-chip.is-active {
    background: var(--color-black);
    border-color: var(--color-black);
    color: #FFFFFF !important;
}


/* ============================================================
   GB LOOP TEMPLATE CARDS — Category & Tag Archives
   Restyle existing GB cards to match the design system
   The GB loop template element is gp_elements post ID 316
   Grid wrapper: .gb-grid-wrapper-f4f6421d
   Card: .gb-grid-column-1ffc7481 > .gb-container-1ffc7481
   Image: .gb-container-b3a43e95 (data-bg background image)
   Title: .gb-headline-2b00a0c2
   Date: .gb-headline-0688d0f0
   Excerpt: .gb-headline-3aa5f0c5
   Author: .gb-headline-c51d40d5
   CTA: .gb-headline-5c38d5e8
   ============================================================ */

/* Grid layout — 3 columns on desktop */
.category:not(.category-deals) .gb-grid-wrapper-f4f6421d,
.tag-excluded .gb-grid-wrapper-f4f6421d {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

/* Card container */
.category:not(.category-deals) .gb-grid-column-1ffc7481 > .gb-container-1ffc7481,
.tag-excluded .gb-grid-column-1ffc7481 > .gb-container-1ffc7481 {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100% !important;
    background: #FFFFFF !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03) !important;
    transition: transform var(--speed) var(--ease),
                border-color var(--speed) var(--ease),
                box-shadow var(--speed) var(--ease);
}

.category:not(.category-deals) .gb-grid-column-1ffc7481 > .gb-container-1ffc7481:hover,
.tag-excluded .gb-grid-column-1ffc7481 > .gb-container-1ffc7481:hover {
    transform: translateY(-3px);
    border-color: var(--color-border-dark);
    box-shadow: 0 14px 34px rgba(17, 17, 17, 0.08);
}

/* Image container — clean top banner */
.category:not(.category-deals) .gb-container-b3a43e95,
.tag-excluded .gb-container-b3a43e95 {
    min-height: 0 !important;
    height: 200px !important;
    border-radius: 0 !important;
    border: none !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative;
}

/* Remove overlay gradient and shadow on the image */
.category:not(.category-deals) .gb-container-b3a43e95::before,
.category:not(.category-deals) .gb-container-b3a43e95::after,
.tag-excluded .gb-container-b3a43e95::before,
.tag-excluded .gb-container-b3a43e95::after {
    display: none !important;
}

/* Outer wrappers around the image — no spacing */
.category:not(.category-deals) .gb-container-c2d3397a,
.category:not(.category-deals) .gb-container-2754903b,
.tag-excluded .gb-container-c2d3397a,
.tag-excluded .gb-container-2754903b {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Title block */
.category:not(.category-deals) .gb-container-5727b969,
.tag-excluded .gb-container-5727b969 {
    margin: 16px 20px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

.category:not(.category-deals) .gb-headline-2b00a0c2,
.tag-excluded .gb-headline-2b00a0c2 {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--color-black) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.category:not(.category-deals) .gb-headline-2b00a0c2 a,
.tag-excluded .gb-headline-2b00a0c2 a {
    color: var(--color-black) !important;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.category:not(.category-deals) .gb-headline-2b00a0c2 a:hover,
.tag-excluded .gb-headline-2b00a0c2 a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Date */
.category:not(.category-deals) .gb-container-96ae90ee,
.tag-excluded .gb-container-96ae90ee {
    margin: 8px 20px 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    background: transparent !important;
    border: none !important;
}

.category:not(.category-deals) .gb-headline-0688d0f0,
.tag-excluded .gb-headline-0688d0f0 {
    font-size: 12px !important;
    color: var(--color-muted) !important;
    font-family: "Fira Sans", sans-serif !important;
    text-align: left !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
}

/* Excerpt */
.category:not(.category-deals) .gb-container-4e072d6a,
.tag-excluded .gb-container-4e072d6a {
    margin: 10px 20px 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    background: transparent !important;
    border: none !important;
    flex: 1 1 auto;
}

.category:not(.category-deals) .gb-headline-3aa5f0c5,
.tag-excluded .gb-headline-3aa5f0c5 {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: var(--color-mid) !important;
    font-family: "Fira Sans", sans-serif !important;
    text-align: left !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* Footer: author + CTA */
.category:not(.category-deals) .gb-container-da52d3fe,
.tag-excluded .gb-container-da52d3fe {
    margin: 14px 20px 16px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--color-border) !important;
    background: transparent !important;
    justify-content: space-between !important;
}

/* Author name + avatar */
.category:not(.category-deals) .gb-headline-c51d40d5,
.tag-excluded .gb-headline-c51d40d5 {
    font-size: 13px !important;
    color: var(--color-mid) !important;
    font-weight: 600 !important;
    font-family: "Fira Sans", sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.category:not(.category-deals) .gb-headline-c51d40d5 a,
.tag-excluded .gb-headline-c51d40d5 a {
    color: var(--color-mid) !important;
    text-decoration: none !important;
}

/* Author avatar image */
.category:not(.category-deals) .gb-image-361359eb,
.tag-excluded .gb-image-361359eb {
    width: 28px !important;
    height: 28px !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 50% !important;
}

/* "Continue reading" CTA button */
.category:not(.category-deals) .gb-headline-5c38d5e8,
.tag-excluded .gb-headline-5c38d5e8 {
    display: inline-flex !important;
    align-items: center !important;
    padding: 7px 14px !important;
    border: 1px solid var(--color-black) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--color-black) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    font-family: "Fira Sans", sans-serif !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background var(--speed) var(--ease),
                color var(--speed) var(--ease),
                transform var(--speed) var(--ease);
    margin: 0 !important;
}

.category:not(.category-deals) .gb-headline-5c38d5e8 a,
.tag-excluded .gb-headline-5c38d5e8 a {
    color: var(--color-black) !important;
    text-decoration: none !important;
}

.category:not(.category-deals) .gb-headline-5c38d5e8:hover,
.tag-excluded .gb-headline-5c38d5e8:hover {
    background: var(--color-black) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.category:not(.category-deals) .gb-headline-5c38d5e8:hover a,
.tag-excluded .gb-headline-5c38d5e8:hover a {
    color: #FFFFFF !important;
}

/* Pagination */
.category:not(.category-deals) .gb-container-28e1aeec,
.tag-excluded .gb-container-28e1aeec {
    grid-column: 1 / -1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding: 22px 24px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 16px !important;
}

.category:not(.category-deals) .gb-button-79ecedf9,
.tag-excluded .gb-button-79ecedf9 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 999px !important;
    color: var(--color-black) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: "Fira Sans", sans-serif !important;
    background: #FFFFFF !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.category:not(.category-deals) .gb-button-79ecedf9 .gb-button-text,
.tag-excluded .gb-button-79ecedf9 .gb-button-text {
    color: var(--color-black) !important;
}

.category:not(.category-deals) .gb-button-79ecedf9:hover,
.tag-excluded .gb-button-79ecedf9:hover {
    background: var(--color-black) !important;
    border-color: var(--color-black) !important;
    color: #FFFFFF !important;
}

.category:not(.category-deals) .gb-button-79ecedf9:hover .gb-button-text,
.tag-excluded .gb-button-79ecedf9:hover .gb-button-text {
    color: #FFFFFF !important;
}

.category:not(.category-deals) .gb-button-6d8dab4c,
.tag-excluded .gb-button-6d8dab4c {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: var(--color-black) !important;
}

.category:not(.category-deals) .gb-button-6d8dab4c:hover,
.tag-excluded .gb-button-6d8dab4c:hover {
    background: var(--color-black) !important;
    border-color: var(--color-black) !important;
    color: #FFFFFF !important;
}

.category:not(.category-deals) .gb-button-6d8dab4c:hover svg,
.tag-excluded .gb-button-6d8dab4c:hover svg {
    fill: #FFFFFF !important;
}


/* ============================================================
   ARCHIVE EMPTY STATE
   Shown when a category or tag has 0 posts
   ============================================================ */
.aix-archive-empty-state {
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 48px 40px;
    margin: 24px 0;
    text-align: center;
    box-shadow: 0 1px 0 rgba(17, 17, 17, 0.03);
}

.aix-archive-empty-state__title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--color-black) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    margin: 0 0 12px !important;
}

.aix-archive-empty-state__text {
    font-size: 16px !important;
    color: var(--color-mid) !important;
    max-width: 480px !important;
    margin: 0 auto 24px !important;
    line-height: 1.6 !important;
}

.aix-archive-empty-state__links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}

.aix-archive-empty-state__btn {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    border: 1px solid var(--color-black);
    border-radius: 8px;
    background: var(--color-black);
    color: #FFFFFF !important;
    font-family: "Fira Sans", sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    transition: background var(--speed) var(--ease),
                transform var(--speed) var(--ease);
}

.aix-archive-empty-state__btn:hover {
    background: var(--color-dark);
    color: #FFFFFF !important;
    transform: translateY(-1px);
}


/* ============================================================
   RESPONSIVE — Category & Tag Archives
   ============================================================ */
@media (max-width: 1100px) {
    .category:not(.category-deals) .gb-grid-wrapper-f4f6421d,
    .tag-excluded .gb-grid-wrapper-f4f6421d {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .category:not(.category-deals) .site-content,
    .tag-excluded .site-content {
        padding-top: 18px !important;
    }

    .category:not(.category-deals) .gb-grid-wrapper-f4f6421d,
    .tag-excluded .gb-grid-wrapper-f4f6421d {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .aix-archive-hero {
        padding: 28px 22px;
        border-radius: 16px;
    }

    .aix-archive-hero h1 {
        font-size: 34px;
    }

    .aix-archive-hero > p {
        font-size: 16px !important;
    }

    .category:not(.category-deals) .gb-container-b3a43e95,
    .tag-excluded .gb-container-b3a43e95 {
        height: 180px !important;
    }

    .aix-archive-empty-state {
        padding: 32px 20px;
    }
}
