/* =============================================================
   AI Conteúdo Child Theme — Main Stylesheet v1.1
   Dark mode · #00C8FF blue · #8B5CF6 purple · Syne + DM Sans
   ============================================================= */

/* ── Custom Properties ─────────────────────────────────────── */
:root {
    --bg-primary:    #0B0F1A;
    --bg-secondary:  #0F1420;
    --bg-card:       #141B2D;
    --bg-glass:      rgba(11,15,26,.85);
    --border:        rgba(255,255,255,.07);
    --border-hover:  rgba(0,200,255,.25);
    --blue:          #00C8FF;
    --blue-dim:      rgba(0,200,255,.10);
    --purple:        #8B5CF6;
    --purple-dim:    rgba(139,92,246,.10);
    --green:         #10B981;
    --text-primary:  #F0F4F8;
    --text-secondary:#8892A4;
    --text-muted:    #556070;
    --radius:        10px;
    --radius-lg:     16px;
    --shadow-sm:     0 1px 3px rgba(0,0,0,.3);
    --shadow:        0 4px 20px rgba(0,0,0,.4);
    --shadow-blue:   0 0 24px rgba(0,200,255,.12);
    --font-sans:     'DM Sans', system-ui, sans-serif;
    --font-display:  'Syne', sans-serif;
    --font-mono:     'JetBrains Mono', monospace;
    --header-h:      60px;
    --max-w:         1160px;
    --t:             .2s ease;
}

/* ── Reset / Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--header-h) + 16px);
    /* Rede de segurança final contra rolagem horizontal no mobile —
       o bug raiz (grid sem min-width:0) já foi corrigido acima, mas
       isso protege contra qualquer outra causa não testada, já que
       o site não pôde ser verificado visualmente ao vivo. */
    overflow-x: hidden;
    max-width: 100%;
}

body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: 15px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    padding-top: var(--header-h);
    overflow-x: hidden;
    max-width: 100%;
}

a { color: var(--blue); text-decoration: none; transition: color var(--t); }
a:hover { color: #fff; }
img { max-width: 100%; height: auto; display: block; }

h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-display);
    color: var(--text-primary);
    line-height: 1.2;
}

code {
    font-family: var(--font-mono);
    font-size: .85em;
    background: rgba(0,200,255,.08);
    color: var(--blue);
    padding: 2px 6px;
    border-radius: 4px;
}

pre {
    font-family: var(--font-mono);
    font-size: .85em;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
    overflow-x: auto;
}

/* ── Layout helpers ─────────────────────────────────────────── */
.aic-container {
    width: 100%;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

.aic-section { padding: 72px 0; }

.aic-section-header { margin-bottom: 40px; }

.aic-section-title {
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 800;
    margin-bottom: 6px;
}

.aic-section-sub {
    font-size: 14px;
    color: var(--text-secondary);
}

.aic-grad-text {
    background: linear-gradient(130deg, var(--blue) 0%, var(--purple) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── Buttons ────────────────────────────────────────────────── */
.aic-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    color: #fff;
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 14px;
    padding: 11px 24px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: opacity var(--t), transform var(--t), box-shadow var(--t);
}
.aic-btn-primary:hover {
    opacity: .88;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0,200,255,.25);
    color: #fff;
}

.aic-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: transparent;
    color: var(--text-secondary);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 14px;
    padding: 10px 23px;
    border-radius: 50px;
    border: 1px solid var(--border);
    cursor: pointer;
    transition: border-color var(--t), color var(--t), transform var(--t);
}
.aic-btn-secondary:hover {
    border-color: var(--border-hover);
    color: var(--blue);
    transform: translateY(-2px);
}

/* ── Header ─────────────────────────────────────────────────── */
.aic-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    height: var(--header-h);
    background: var(--bg-glass);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border);
    transition: background var(--t), box-shadow var(--t);
}

.aic-header.scrolled {
    background: rgba(11,15,26,.96);
    box-shadow: var(--shadow);
}

.aic-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    gap: 16px;
}

/* Logo */
.aic-logo-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    flex-shrink: 0;
}

.aic-logo-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.aic-logo-text {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    white-space: nowrap;
}

/* Nav */
.aic-nav {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1;
    justify-content: center;
}

.aic-nav a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    border-radius: 6px;
    transition: color var(--t), background var(--t);
    text-decoration: none;
    white-space: nowrap;
}

.aic-nav a:hover,
.aic-nav a.current-menu-item {
    color: var(--text-primary);
    background: rgba(255,255,255,.06);
}

.aic-nav a.aic-nav-cta {
    background: linear-gradient(130deg, var(--blue), var(--purple));
    color: #fff !important;
    padding: 7px 16px;
    border-radius: 50px;
    font-weight: 700;
    margin-left: 8px;
    font-size: 13px;
}
.aic-nav a.aic-nav-cta:hover { opacity: .88; background: linear-gradient(130deg, var(--blue), var(--purple)); }

/* Mobile toggle */
.aic-nav-toggle {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    flex-shrink: 0;
}
.aic-nav-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: var(--text-primary);
    border-radius: 2px;
    transition: transform var(--t), opacity var(--t);
}
.aic-nav-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.aic-nav-toggle.active span:nth-child(2) { opacity: 0; }
.aic-nav-toggle.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ── Hero ───────────────────────────────────────────────────── */
.aic-hero {
    position: relative;
    min-height: 88vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.aic-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 45% at 65% 35%, rgba(0,200,255,.06) 0%, transparent 65%),
        radial-gradient(ellipse 40% 40% at 25% 65%, rgba(139,92,246,.05) 0%, transparent 65%);
}

.aic-hero-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 28px 28px;
}

.aic-hero-content {
    position: relative;
    z-index: 1;
    max-width: 680px;
    padding: 64px 20px;
}

.aic-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(0,200,255,.08);
    border: 1px solid rgba(0,200,255,.2);
    color: var(--blue);
    font-size: 12px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 50px;
    margin-bottom: 20px;
    letter-spacing: .02em;
}

.aic-hero h1 {
    font-size: clamp(32px, 5vw, 64px);
    line-height: 1.08;
    margin-bottom: 18px;
    letter-spacing: -.025em;
}

.aic-hero-desc {
    font-size: 17px;
    color: var(--text-secondary);
    line-height: 1.65;
    margin-bottom: 32px;
    max-width: 520px;
}

.aic-hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 52px;
}

/* Stat counters */
.aic-hero-stats {
    display: flex;
    gap: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

.aic-stat-num {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
}

.aic-stat-label {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 3px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

/* ── Categories Grid ────────────────────────────────────────── */
.aic-cats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    margin-top: 32px;
}

.aic-cat-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 24px 20px;
    text-decoration: none;
    transition: border-color var(--t), transform var(--t), box-shadow var(--t);
    cursor: pointer;
    display: block;
}

.aic-cat-card:hover {
    border-color: var(--border-hover);
    transform: translateY(-3px);
    box-shadow: var(--shadow-blue);
}

.aic-cat-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 14px;
}

.aic-cat-name {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.aic-cat-desc {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.55;
}

.aic-cat-count {
    display: inline-block;
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 10px;
    font-weight: 500;
}

/* ── Articles Grid ──────────────────────────────────────────── */
.aic-articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.aic-article-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    transition: border-color var(--t), transform var(--t), box-shadow var(--t);
}

.aic-article-card:hover {
    border-color: var(--border-hover);
    transform: translateY(-3px);
    box-shadow: var(--shadow);
}

.aic-article-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: var(--bg-secondary);
}

.aic-article-thumb-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
}

.aic-article-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.aic-article-cat {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--blue);
    margin-bottom: 10px;
}

.aic-article-title {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.35;
    margin-bottom: 12px;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.aic-article-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    color: var(--text-muted);
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.aic-seo-score {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 50px;
}
.aic-seo-score.good  { background: rgba(16,185,129,.12); color: #10B981; }
.aic-seo-score.ok    { background: rgba(245,158,11,.12);  color: #F59E0B; }
.aic-seo-score.poor  { background: rgba(239,68,68,.12);   color: #EF4444; }

/* Pagination */
.aic-pagination { margin: 48px 0 0; text-align: center; }
.aic-pagination .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.aic-pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: border-color var(--t), color var(--t);
}
.aic-pagination .page-numbers.current { border-color: var(--blue); color: var(--blue); }
.aic-pagination .page-numbers:hover { border-color: var(--border-hover); color: var(--text-primary); }
.aic-pagination .prev, .aic-pagination .next { width: auto; padding: 0 14px; }

/* ── News Feed ──────────────────────────────────────────────── */
.aic-news-list { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; }

.aic-news-item {
    display: flex;
    gap: 14px;
    align-items: center;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 16px;
    text-decoration: none;
    transition: border-color var(--t);
}

.aic-news-item:hover { border-color: var(--border-hover); }

.aic-news-source-badge {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    padding: 3px 9px;
    border-radius: 50px;
    white-space: nowrap;
    flex-shrink: 0;
    background: rgba(255,255,255,.06);
    color: var(--text-secondary);
}

.aic-news-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.4;
    flex: 1;
}

.aic-news-date { font-size: 11px; color: var(--text-muted); flex-shrink: 0; }

/* ── Plugin Banner (Home) ───────────────────────────────────── */
.aic-plugin-banner {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 48px 40px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
}

.aic-plugin-banner h2 { font-size: clamp(20px, 2.5vw, 30px); margin-bottom: 10px; }
.aic-plugin-banner p { color: var(--text-secondary); font-size: 14px; margin-bottom: 20px; max-width: 480px; }

.aic-plugin-tags { display: flex; gap: 7px; flex-wrap: wrap; }
.aic-plugin-tag {
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 50px;
    border: 1px solid var(--border);
    color: var(--text-muted);
}

.aic-plugin-ctas { display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }

/* ── Archive header ─────────────────────────────────────────── */
.aic-archive-header {
    padding: 48px 0 32px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 32px;
}
.aic-archive-title { font-size: clamp(24px, 3vw, 40px); margin: 8px 0; }
.aic-archive-desc { color: var(--text-secondary); font-size: 15px; margin-top: 8px; }

.aic-no-posts { text-align: center; padding: 64px 20px; color: var(--text-secondary); }
.aic-no-posts p { margin-bottom: 20px; }

/* ── 404 ────────────────────────────────────────────────────── */
.aic-404-main { padding: 80px 0; }
.aic-404-content { text-align: center; max-width: 480px; margin: 0 auto; }
.aic-404-code {
    font-family: var(--font-display);
    font-size: 120px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 16px;
}
.aic-404-content h1 { font-size: 28px; margin-bottom: 12px; }
.aic-404-content p { color: var(--text-secondary); margin-bottom: 28px; line-height: 1.7; }
.aic-404-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
.aic-404-search { max-width: 360px; margin: 0 auto; }
.aic-404-search .search-field {
    width: 100%;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 10px 14px;
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: 14px;
}

/* ── Single Article Layout ──────────────────────────────────── */
.aic-single-hero {
    width: 100%;
    max-height: 440px;
    object-fit: cover;
    display: block;
}

.aic-single-layout {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 48px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 20px;
    align-items: start;
}

.aic-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.aic-breadcrumb a { color: var(--text-muted); }
.aic-breadcrumb a:hover { color: var(--blue); }

.aic-single-cat {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--blue);
    margin-bottom: 14px;
}

.aic-single-title {
    font-size: clamp(24px, 3.5vw, 44px);
    line-height: 1.15;
    margin-bottom: 18px;
    letter-spacing: -.02em;
}

.aic-single-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 12px;
    color: var(--text-muted);
    flex-wrap: wrap;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 28px;
}

/* Share buttons */
.aic-share-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 20px 0;
}

.aic-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 50px;
    text-decoration: none;
    transition: opacity var(--t), transform var(--t);
    cursor: pointer;
    border: none;
}
.aic-share-btn:hover { opacity: .82; transform: translateY(-1px); }

.aic-share-tw  { background: #1a1a1a; color: #fff; border: 1px solid #333; }
.aic-share-li  { background: #0A66C2; color: #fff; }
.aic-share-wa  { background: #25D366; color: #fff; }
.aic-share-copy { background: var(--bg-card); color: var(--text-secondary); border: 1px solid var(--border); }

/* Article content */
.aic-entry-content {
    font-size: 16px;
    line-height: 1.8;
    color: var(--text-primary);
}

.aic-entry-content h2 {
    font-size: 24px;
    margin: 36px 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.aic-entry-content h3 { font-size: 18px; margin: 24px 0 10px; }

.aic-entry-content p { margin-bottom: 18px; }

.aic-entry-content ul,
.aic-entry-content ol { margin: 0 0 18px 22px; }

.aic-entry-content li { margin-bottom: 6px; }

.aic-entry-content blockquote {
    border-left: 3px solid var(--blue);
    margin: 24px 0;
    padding: 14px 20px;
    background: rgba(0,200,255,.05);
    border-radius: 0 var(--radius) var(--radius) 0;
    font-style: italic;
    color: var(--text-secondary);
}

.aic-entry-content a { color: var(--blue); text-decoration: underline; text-decoration-color: rgba(0,200,255,.3); }
.aic-entry-content a:hover { text-decoration-color: var(--blue); }
.aic-entry-content img { border-radius: var(--radius); margin: 20px auto; }

.aic-entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 13px;
}
.aic-entry-content th,
.aic-entry-content td { padding: 10px 14px; border: 1px solid var(--border); }
.aic-entry-content th { background: var(--bg-card); font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }

/* Plugin CTA in single */
.aic-post-cta {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-left: 3px solid var(--blue);
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
    padding: 28px;
    margin: 40px 0;
}
.aic-post-cta h3 { font-size: 18px; margin-bottom: 6px; }
.aic-post-cta p { color: var(--text-secondary); font-size: 13px; margin-bottom: 16px; }
.aic-post-cta .aic-cta-row { display: flex; gap: 10px; flex-wrap: wrap; }

/* Related articles */
.aic-related-section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border); }
.aic-related-section h3 { font-size: 16px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 20px; }

.aic-related-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.aic-related-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    text-decoration: none;
    transition: border-color var(--t), transform var(--t);
    display: flex;
    flex-direction: column;
}
.aic-related-card:hover { border-color: var(--border-hover); transform: translateY(-2px); }

.aic-related-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; background: var(--bg-secondary); }
.aic-related-body { padding: 14px; }
.aic-related-title { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--text-primary); line-height: 1.4; margin-bottom: 6px; }
.aic-related-date { font-size: 11px; color: var(--text-muted); }

/* ── TOC Sidebar ────────────────────────────────────────────── */
.aic-toc-sidebar {
    position: sticky;
    top: calc(var(--header-h) + 20px);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.aic-toc-box {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 20px;
}

.aic-toc-title {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.aic-toc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.aic-toc-list li a {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    padding: 5px 8px;
    border-radius: 5px;
    border-left: 2px solid transparent;
    transition: color var(--t), background var(--t), border-color var(--t);
    line-height: 1.4;
}

.aic-toc-list li a:hover,
.aic-toc-list li a.active {
    color: var(--blue);
    background: var(--blue-dim);
    border-color: var(--blue);
}

.aic-toc-list li.toc-h3 a { padding-left: 18px; font-size: 11px; }

/* Share sidebar */
.aic-share-sidebar-box {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 16px;
}
.aic-share-sidebar-title {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--text-muted);
    margin-bottom: 10px;
}
.aic-share-sidebar { display: flex; flex-direction: column; gap: 6px; }
.aic-share-sidebar a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--border);
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    transition: border-color var(--t), color var(--t);
}
.aic-share-sidebar a:hover { border-color: var(--border-hover); color: var(--text-primary); }

/* E-E-A-T block */
.aic-eeat-block {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 18px 20px;
    margin: 32px 0;
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.aic-author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 14px;
    flex-shrink: 0;
}

.aic-eeat-name { font-family: var(--font-display); font-weight: 700; font-size: 14px; margin-bottom: 2px; }
.aic-eeat-role { font-size: 11px; color: var(--text-muted); margin-bottom: 6px; }
.aic-eeat-bio { font-size: 12px; color: var(--text-secondary); line-height: 1.55; }

/* ── Plugin Sales Page ──────────────────────────────────────── */
.aic-plugin-hero {
    text-align: center;
    padding: 72px 20px 40px;
    border-bottom: 1px solid var(--border);
    margin-bottom: 64px;
}
.aic-plugin-hero h1 { font-size: clamp(28px, 4.5vw, 56px); margin-bottom: 14px; }
.aic-plugin-hero p { font-size: 17px; color: var(--text-secondary); max-width: 560px; margin: 0 auto 28px; line-height: 1.65; }
.aic-plugin-version { font-size: 11px; color: var(--text-muted); margin-bottom: 8px; font-family: var(--font-mono); }

/* Features grid */
.aic-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 32px;
}

.aic-feature-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 22px;
    transition: border-color var(--t), transform var(--t);
}
.aic-feature-card:hover { border-color: var(--border-hover); transform: translateY(-2px); }
.aic-feature-icon { font-size: 24px; margin-bottom: 10px; }
.aic-feature-title { font-family: var(--font-display); font-size: 14px; font-weight: 700; margin-bottom: 6px; }
.aic-feature-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.55; }

/* Trial box */
.aic-trial-box {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 36px;
    text-align: center;
    max-width: 520px;
    margin: 0 auto 64px;
}
.aic-trial-box h2 { font-size: 26px; margin-bottom: 6px; }
.aic-trial-box p { color: var(--text-secondary); font-size: 13px; margin-bottom: 20px; }

.aic-trial-features {
    list-style: none;
    text-align: left;
    margin: 0 0 24px;
}
.aic-trial-features li {
    display: flex;
    gap: 9px;
    font-size: 13px;
    color: var(--text-secondary);
    padding: 8px 0;
    border-bottom: 1px solid var(--border);
}
.aic-trial-features li:last-child { border-bottom: none; }
.aic-trial-features li::before { content: '✓'; color: var(--green); font-weight: 700; flex-shrink: 0; }
.aic-trial-features li.limited::before { content: '◐'; color: #F59E0B; }
.aic-trial-features li.no::before { content: '✗'; color: var(--text-muted); }

/* Plans grid */
.aic-plans-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 64px;
    align-items: start;
}

.aic-plan-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 32px 24px;
    position: relative;
    transition: border-color var(--t), transform var(--t);
}
.aic-plan-card:hover { border-color: var(--border-hover); transform: translateY(-3px); }
.aic-plan-card.aic-plan-featured { border-color: rgba(0,200,255,.4); }

.aic-plan-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(130deg, var(--blue), var(--purple));
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    padding: 4px 14px;
    border-radius: 50px;
    white-space: nowrap;
}

.aic-plan-name { font-family: var(--font-display); font-size: 18px; font-weight: 800; margin-bottom: 2px; }
.aic-plan-sites { font-size: 11px; color: var(--text-muted); margin-bottom: 16px; }

.aic-plan-price { display: flex; align-items: baseline; gap: 3px; margin-bottom: 2px; }
.aic-plan-currency { font-size: 16px; color: var(--text-secondary); }
.aic-plan-amount { font-family: var(--font-display); font-size: 44px; font-weight: 800; line-height: 1; }
.aic-plan-period { font-size: 12px; color: var(--text-muted); }

.aic-plan-sub { font-size: 11px; color: var(--text-muted); margin-bottom: 24px; }

.aic-plan-features {
    list-style: none;
    margin: 0 0 24px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.aic-plan-features li { display: flex; gap: 8px; font-size: 13px; color: var(--text-secondary); }
.aic-plan-features li::before { content: '✓'; color: var(--green); font-weight: 700; flex-shrink: 0; }
.aic-plan-features li.no { color: var(--text-muted); }
.aic-plan-features li.no::before { content: '✗'; color: var(--text-muted); }

/* Comparison table */
.aic-compare-wrap { overflow-x: auto; margin: 32px 0 64px; }

.aic-compare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 640px;
}
.aic-compare-table th,
.aic-compare-table td { padding: 11px 16px; border: 1px solid var(--border); }
.aic-compare-table th:first-child,
.aic-compare-table td:first-child { text-align: left; }
.aic-compare-table thead th {
    background: var(--bg-secondary);
    font-family: var(--font-display);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}
.aic-compare-table thead th.highlight { color: var(--blue); }
.aic-compare-table tbody tr:hover { background: rgba(255,255,255,.02); }
.aic-compare-table td { color: var(--text-secondary); text-align: center; }
.aic-compare-table td:first-child { text-align: left; color: var(--text-primary); }
.aic-compare-table td.cat {
    background: var(--bg-secondary);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--text-muted);
    text-align: left;
}
.aic-compare-table .yes { color: var(--green); font-weight: 700; }
.aic-compare-table .no  { color: var(--text-muted); }

/* Guarantee */
.aic-guarantee {
    text-align: center;
    padding: 36px;
    background: var(--bg-card);
    border: 1px solid rgba(16,185,129,.2);
    border-radius: var(--radius-lg);
    margin-bottom: 64px;
}
.aic-guarantee h3 { font-size: 22px; margin-bottom: 8px; }
.aic-guarantee p { color: var(--text-secondary); font-size: 14px; max-width: 480px; margin: 0 auto; }

/* ── Legal Pages ────────────────────────────────────────────── */
.aic-legal-page,
.aic-page-main { max-width: 800px; margin: 0 auto; padding: 56px 20px 80px; }

.aic-legal-inner { max-width: 800px; margin: 0 auto; padding: 48px 20px 80px; }

.aic-legal-page h1, .aic-legal-inner h1 {
    font-size: clamp(26px, 3.5vw, 40px);
    margin-bottom: 8px;
}

.aic-legal-lead {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 36px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border);
    line-height: 1.7;
}

.aic-legal-page h2, .aic-legal-inner h2 {
    font-size: 20px;
    margin: 36px 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

.aic-legal-page h3, .aic-legal-inner h3 { font-size: 16px; margin: 20px 0 8px; }

.aic-legal-page p, .aic-legal-inner p { color: var(--text-secondary); margin-bottom: 14px; line-height: 1.75; font-size: 14px; }

.aic-legal-page ul, .aic-legal-page ol,
.aic-legal-inner ul, .aic-legal-inner ol {
    margin: 0 0 16px 22px;
    color: var(--text-secondary);
    font-size: 14px;
}
.aic-legal-page li, .aic-legal-inner li { margin-bottom: 6px; line-height: 1.65; }
.aic-legal-page a, .aic-legal-inner a { color: var(--blue); text-decoration: underline; text-decoration-color: rgba(0,200,255,.3); }
.aic-legal-page a:hover, .aic-legal-inner a:hover { text-decoration-color: var(--blue); }
.aic-legal-page strong, .aic-legal-inner strong { color: var(--text-primary); }

/* ── Contact Page ───────────────────────────────────────────── */
.aic-contact-grid {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 40px;
    margin-top: 32px;
}

.aic-contact-form { display: flex; flex-direction: column; gap: 16px; }
.aic-form-group { display: flex; flex-direction: column; gap: 6px; }
.aic-form-group label { font-size: 13px; font-weight: 600; color: var(--text-primary); }

.aic-form-group input,
.aic-form-group select,
.aic-form-group textarea {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 10px 14px;
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: 14px;
    outline: none;
    transition: border-color var(--t);
}
.aic-form-group input:focus,
.aic-form-group select:focus,
.aic-form-group textarea:focus { border-color: rgba(0,200,255,.4); }
.aic-form-group textarea { resize: vertical; min-height: 120px; }

.aic-contact-info { display: flex; flex-direction: column; gap: 14px; }
.aic-info-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 16px;
    display: flex;
    gap: 12px;
}
.aic-info-icon { font-size: 20px; flex-shrink: 0; }
.aic-info-title { font-weight: 700; font-size: 13px; margin-bottom: 2px; }
.aic-info-desc { font-size: 12px; color: var(--text-secondary); }

/* ── Notices ────────────────────────────────────────────────── */
.aic-notice {
    padding: 12px 16px;
    border-radius: var(--radius);
    margin-bottom: 16px;
    font-size: 13px;
}
.aic-notice-success { background: rgba(16,185,129,.08); border: 1px solid rgba(16,185,129,.25); color: #10B981; }
.aic-notice-error   { background: rgba(239,68,68,.08);  border: 1px solid rgba(239,68,68,.25);  color: #EF4444; }

/* ── Footer ─────────────────────────────────────────────────── */
.aic-footer {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border);
    padding: 56px 0 0;
    margin-top: 80px;
}

.aic-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px 40px;
}

.aic-footer-brand p { font-size: 13px; color: var(--text-muted); line-height: 1.65; margin: 10px 0 16px; }

.aic-footer-social { display: flex; gap: 8px; flex-wrap: wrap; }
.aic-social-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--border);
    border-radius: 7px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    text-decoration: none;
    transition: border-color var(--t), color var(--t);
}
.aic-social-btn:hover { border-color: var(--border-hover); color: var(--text-primary); }

.aic-footer-col h4 {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--text-muted);
    margin-bottom: 14px;
}

.aic-footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.aic-footer-links a { font-size: 13px; color: var(--text-secondary); }
.aic-footer-links a:hover { color: var(--text-primary); }

.aic-footer-bar {
    border-top: 1px solid var(--border);
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--max-w);
    margin: 0 auto;
    flex-wrap: wrap;
    gap: 10px;
}

.aic-footer-bar p { font-size: 12px; color: var(--text-muted); }
.aic-footer-bar-links { display: flex; gap: 14px; flex-wrap: wrap; }
.aic-footer-bar-links a { font-size: 12px; color: var(--text-muted); }
.aic-footer-bar-links a:hover { color: var(--blue); }

/* The footer-bottom wrapper */
.aic-footer-bottom {
    border-top: 1px solid var(--border);
}

/* ── Cookie Consent ─────────────────────────────────────────── */
#aic-cookie-banner {
    display: none;
}
#aic-cookie-banner.visible { display: flex; }

/* ── FAQ items ──────────────────────────────────────────────── */
.geo-faq-item {
    background: var(--bg-card);
    border-left: 3px solid var(--blue);
    border-radius: 0 var(--radius) var(--radius) 0;
    padding: 16px 20px;
    margin-bottom: 12px;
}
.geo-faq-item strong {
    display: block;
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 8px;
}
.geo-faq-item p { margin: 0; color: var(--text-secondary); line-height: 1.65; font-size: 14px; }

/* ── WordPress compatibility ────────────────────────────────── */
.wp-block-image { margin: 20px auto; }
.aligncenter { display: block; margin: 0 auto; }
.alignleft { float: left; margin: 6px 20px 6px 0; }
.alignright { float: right; margin: 6px 0 6px 20px; }
.clearfix::after { content: ''; display: table; clear: both; }

/* Rank Math breadcrumb */
.rank-math-breadcrumb { font-size: 12px; color: var(--text-muted); margin-bottom: 12px; }
.rank-math-breadcrumb a { color: var(--text-muted); }
.rank-math-breadcrumb a:hover { color: var(--blue); }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .aic-plans-grid { grid-template-columns: 1fr 1fr; }
    .aic-footer-grid { grid-template-columns: 1fr 1fr; }
    .aic-plugin-banner { grid-template-columns: 1fr; }
    .aic-plugin-ctas { flex-direction: row; }
    .aic-single-layout { grid-template-columns: 1fr 240px; gap: 32px; }
}

@media (max-width: 768px) {
    .aic-nav-toggle { display: flex; }

    .aic-nav {
        position: fixed;
        top: var(--header-h);
        left: 0; right: 0;
        background: rgba(11,15,26,.98);
        backdrop-filter: blur(16px);
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
        gap: 2px;
        transform: translateY(-110%);
        transition: transform var(--t);
        border-bottom: 1px solid var(--border);
        justify-content: flex-start;
    }
    .aic-nav.open { transform: translateY(0); }

    .aic-single-layout { grid-template-columns: 1fr; }
    .aic-toc-sidebar { display: none; }
    .aic-plans-grid { grid-template-columns: 1fr; }
    .aic-contact-grid { grid-template-columns: 1fr; }
    .aic-related-grid { grid-template-columns: 1fr; }
    .aic-footer-grid { grid-template-columns: 1fr 1fr; }
    .aic-hero-stats { gap: 20px; }
    .aic-plugin-banner { padding: 28px 20px; }
}

@media (max-width: 480px) {
    .aic-section { padding: 48px 0; }
    .aic-footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .aic-hero-actions { flex-direction: column; }
    .aic-hero-actions .aic-btn-primary,
    .aic-hero-actions .aic-btn-secondary { width: 100%; justify-content: center; }
    .aic-articles-grid { grid-template-columns: 1fr; }
    .aic-cats-grid { grid-template-columns: 1fr 1fr; }
    .aic-footer-bar { flex-direction: column; text-align: center; }
}

/* ══════════════════════════════════════════════════════════════════
   AUDITORIA — CLASSES USADAS NOS TEMPLATES PHP QUE NÃO TINHAM CSS
   ══════════════════════════════════════════════════════════════════
   Encontradas cruzando TODAS as classes usadas nos arquivos .php do
   tema contra TODAS as classes definidas neste CSS (43 no total).
   Aqui estão as de maior impacto (aparecem em várias páginas). Usa as
   mesmas variáveis e padrões já definidos acima neste arquivo — nada
   de cor/medida inventada.
   ══════════════════════════════════════════════════════════════════ */

/* Container interno de seção — mesmo padrão de .aic-header-inner,
   usado em praticamente toda seção da página (11 ocorrências) */
.aic-section-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* Rótulo pequeno acima do título de cada seção (8 ocorrências) */
.aic-section-label {
    display: block;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 10px;
}

/* Variante de seção com fundo levemente diferente do padrão,
   para alternar visualmente entre seções consecutivas (4 ocorrências) */
.aic-section-alt {
    background: var(--bg-secondary);
}

/* Logo (link) — usado no header e no footer (6 ocorrências) */
.aic-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}

.aic-logo-shield {
    width: 32px;
    height: 37px;
    flex-shrink: 0;
}

.aic-logo-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1.1;
}

.aic-logo-nome {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 800;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    white-space: nowrap;
}

.aic-logo-tag {
    font-family: var(--font-mono);
    font-size: 9px;
    color: var(--text-muted);
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* Ponto pulsante do badge do hero (5 ocorrências) */
.aic-pulse-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--blue);
    box-shadow: 0 0 8px var(--blue);
    animation: aic-pulse 1.8s ease-in-out infinite;
}
@keyframes aic-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: .5; transform: scale(1.3); }
}

/* Botões de ação do hero (4 ocorrências) */
.aic-hero-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 28px;
}

/* Texto de apoio abaixo do título do hero (3 ocorrências) */
.aic-hero-sub {
    font-size: clamp(15px, 1.8vw, 18px);
    color: var(--text-secondary);
    max-width: 640px;
    line-height: 1.7;
    margin-top: 16px;
}

/* Menu <ul> gerado pelo wp_nav_menu (2 ocorrências) */
.aic-nav-menu {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Botão de destaque "Obter o Plugin" no header (aparece 1x mas em
   toda página, já que faz parte do header global) */
.aic-btn-plugin {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    background: linear-gradient(130deg, var(--blue), var(--purple));
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border-radius: var(--radius);
    text-decoration: none;
    white-space: nowrap;
    transition: opacity var(--t);
}
.aic-btn-plugin:hover { opacity: .88; }

/* Espaçador que compensa a altura do header fixo */
.aic-header-spacer { height: var(--header-h); }

/* Container interno do rodapé (2 ocorrências) */
.aic-footer-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 20px;
}

/* Ícones de redes sociais no rodapé */
.aic-social-links {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}
.aic-social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--bg-card);
    color: var(--text-secondary);
    transition: color var(--t), background var(--t);
}
.aic-social-links a:hover {
    color: var(--blue);
    background: var(--blue-dim);
}

/* Linha de links legais compacta no rodapé inferior */
.aic-footer-legal-inline {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
.aic-footer-legal-inline a {
    font-size: 12px;
    color: var(--text-muted);
    text-decoration: none;
}
.aic-footer-legal-inline a:hover { color: var(--blue); }

/* Containers principais de páginas de arquivo/single/docs — garantem
   que o conteúdo respeite a largura máxima em qualquer tela */
/* Containers principais de arquivo/docs — são elementos de TOPO da
   página (fora de qualquer grid), então recebem largura máxima e
   centralização próprias */
.aic-archive-main,
.aic-docs-main {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 40px 20px 72px;
    min-width: 0;
}

/* .aic-single-main é um ITEM DE GRID dentro de .aic-single-layout —
   o grid controla a largura dele. Aplicar max-width/margin/padding
   aqui quebrava o layout (conteúdo 40px mais largo que a tela no
   celular — confirmado por medição em navegador real). A ÚNICA regra
   necessária é min-width:0, que permite ao item encolher junto com
   a tela (itens de grid não encolhem abaixo do conteúdo por padrão). */
.aic-single-main {
    min-width: 0;
}

/* Rede de segurança: qualquer título ou breadcrumb longo quebra a
   linha em vez de estourar a largura da tela. */
.aic-single-title,
.aic-breadcrumb,
.aic-breadcrumb span,
.aic-breadcrumb a {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Responsivo: em telas pequenas, reduzir o gap dos botões do hero e
   empilhar se necessário (reforça o padrão já usado no resto do CSS) */
@media (max-width: 480px) {
    .aic-hero-btns { flex-direction: column; align-items: stretch; }
    .aic-hero-btns a { text-align: center; }
}

/* Wrapper de nome+preço dentro de cada card de plano (bug pré-existente
   no tema original, também sem CSS — corrigido aqui) */
.aic-plan-header { margin-bottom: 20px; }

/* Tabelas dentro do conteúdo do artigo (comum em conteúdo gerado por
   IA, ex: tabelas de comparação/dados) — sem isso, uma tabela larga
   estoura a largura da tela no mobile. Nenhuma proteção existia. */
.aic-article table,
.aic-single-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-collapse: collapse;
}
/* O miolo (tbody/thead) precisa poder ser mais largo APENAS DENTRO
   do scroll próprio da tabela — width max-content evita que ele
   "vaze" para fora e empurre a página (medido em navegador real) */
.aic-article table tbody,
.aic-article table thead,
.aic-single-content table tbody,
.aic-single-content table thead {
    display: table;
    width: max-content;
    min-width: 100%;
}

/* ══════════════════════════════════════════════════════════════════
   BUSCA DO CABEÇALHO — não tinha NENHUM CSS (classes sem prefixo aic-
   escaparam da auditoria anterior). É a caixa de busca crua que
   aparecia quebrada na gravação do site.
   Comportamento: botão-lupa no header; clique abre o formulário como
   dropdown (o onclick inline no header.php alterna .active no form).
   ══════════════════════════════════════════════════════════════════ */

.header-search {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.search-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    border: none;
    border-radius: var(--radius);
    color: var(--text-secondary);
    cursor: pointer;
    transition: color var(--t), background var(--t);
}
.search-toggle:hover {
    color: var(--blue);
    background: var(--blue-dim);
}

/* Formulário: escondido por padrão; aparece como dropdown ao clicar */
.header-search-form {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 1001;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 8px;
    gap: 6px;
    box-shadow: 0 12px 32px rgba(0,0,0,.45);
    min-width: 260px;
}
.header-search-form.active { display: flex; }

.header-search-form input[type="search"] {
    flex: 1;
    min-width: 0;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: calc(var(--radius) - 2px);
    color: var(--text-primary);
    font-family: var(--font-sans);
    font-size: 14px;
    padding: 8px 12px;
    outline: none;
}
.header-search-form input[type="search"]:focus { border-color: var(--blue); }

.header-search-form button[type="submit"] {
    background: linear-gradient(130deg, var(--blue), var(--purple));
    border: none;
    border-radius: calc(var(--radius) - 2px);
    color: #fff;
    font-family: var(--font-sans);
    font-size: 13px;
    font-weight: 700;
    padding: 8px 14px;
    cursor: pointer;
    transition: opacity var(--t);
}
.header-search-form button[type="submit"]:hover { opacity: .88; }

/* Mobile: dropdown ocupa a largura da tela, sem estourar */
@media (max-width: 480px) {
    .header-search-form {
        position: fixed;
        top: var(--header-h);
        left: 12px;
        right: 12px;
        min-width: 0;
    }
}

/* ══════════════════════════════════════════════════════════════════
   CABEÇALHO MOBILE NO PADRÃO DO SITE MODELO (noticiadigitaltec):
   barra escura compacta, nome do site à esquerda, hambúrguer à
   direita — visual limpo, sem elementos sobrando.
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Barra compacta e sólida */
    .aic-header {
        background: rgba(12, 12, 24, .98);
    }
    .aic-header-inner {
        padding: 0 14px;
        gap: 10px;
    }

    /* Logo compacto: só o escudo + nome, sem o subtítulo */
    .aic-logo-tag { display: none; }
    .aic-logo-shield { width: 26px; height: 30px; }
    .aic-logo-nome { font-size: 15px; }

    /* Nome à esquerda, lupa e hambúrguer à direita */
    .aic-logo { margin-right: auto; }

    /* Hambúrguer maior para toque confortável (padrão 44px de área) */
    .aic-nav-toggle {
        width: 42px;
        height: 42px;
        align-items: center;
        justify-content: center;
    }
    .aic-nav-toggle span {
        width: 22px;
        height: 2px;
    }
}

/* ══════════════════════════════════════════════════════════════════
   CORREÇÃO GLOBAL MOBILE — diagnóstico do vídeo do site ao vivo
   ══════════════════════════════════════════════════════════════════
   Bug 1: menu aberto no celular mantinha os LINKS EM LINHA (ul
          .aic-nav-menu continuava display:flex row) — itens vazavam
          para fora da tela; "Início" e outros botões ficavam
          invisíveis mesmo existindo.
   Bug 2: painel do menu sem altura máxima nem rolagem própria —
          menu maior que a tela ficava travado.
   Bug 3: blocos "largura total" do WordPress (.alignfull/.alignwide)
          forçam 100vw — mais largos que a tela; com overflow-x
          hidden, o lado direito do artigo ficava cortado e
          inalcançável.
   ══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    /* ── Bug 1: links do menu em COLUNA, largura total, área de toque ── */
    .aic-nav .aic-nav-menu {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0;
    }
    .aic-nav .aic-nav-menu li { width: 100%; }
    .aic-nav .aic-nav-menu a {
        display: block;
        width: 100%;
        padding: 14px 8px;
        font-size: 15px;
        border-bottom: 1px solid var(--border);
    }
    .aic-nav .aic-nav-menu li:last-child a { border-bottom: none; }

    /* Submenus (se o menu do WP tiver itens aninhados): empilhados
       e recuados, sempre visíveis — sem hover, que não existe no touch */
    .aic-nav .aic-nav-menu ul {
        display: block;
        position: static;
        padding-left: 16px;
        background: transparent;
    }

    /* Botão "Obter o Plugin" dentro do menu: largura total */
    .aic-nav .aic-btn-plugin {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 12px;
        padding: 13px 18px;
    }

    /* ── Bug 2: painel com rolagem própria e altura limitada ── */
    .aic-nav {
        max-height: calc(100vh - var(--header-h));
        max-height: calc(100dvh - var(--header-h));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 999;
    }
}

/* ── Bug 3: neutralizar blocos mais largos que a tela DENTRO do
      conteúdo do artigo (global, vale para todas as larguras até
      1100px, onde o layout do artigo tem sidebar) ── */
@media (max-width: 1100px) {
    .aic-article .alignfull,
    .aic-article .alignwide,
    .aic-single-content .alignfull,
    .aic-single-content .alignwide {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* Rede de segurança global do conteúdo do artigo: NADA dentro dele
   pode ser mais largo que a tela (imagens, vídeos, embeds, código,
   URLs longas — todas as causas comuns de corte lateral) */
.aic-article,
.aic-single-content {
    min-width: 0;
    max-width: 100%;
}
.aic-article img,
.aic-article video,
.aic-article iframe,
.aic-article embed,
.aic-article object,
.aic-article figure {
    max-width: 100% !important;
    height: auto;
}
.aic-article iframe { height: auto; aspect-ratio: 16 / 9; }
.aic-article p,
.aic-article li,
.aic-article h1, .aic-article h2, .aic-article h3,
.aic-article h4, .aic-article h5, .aic-article h6,
.aic-article a {
    overflow-wrap: break-word;
    word-break: break-word;
}
.aic-article pre,
.aic-article code {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ══════════════════════════════════════════════════════════════════
   CAMADA DE COMPATIBILIDADE DO CABEÇALHO — À PROVA DE VERSÃO
   ══════════════════════════════════════════════════════════════════
   O vídeo do site ao vivo mostrou o cabeçalho desmontado (lupa e
   hambúrguer centralizados, logo sumido) enquanto o resto da página
   estava estilizado — sintoma de o header.php no servidor ser uma
   versão antiga que usa só IDs (#aic-header, #aic-menu-toggle,
   #aic-main-nav) sem as classes. Esta camada aplica as MESMAS regras
   aos IDs, então o cabeçalho monta certo com QUALQUER versão do
   header.php que estiver no servidor. O JS também aceita os dois.
   ══════════════════════════════════════════════════════════════════ */

/* Barra fixa */
#aic-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: var(--header-h);
    background: rgba(12, 12, 24, .92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    z-index: 1000;
}

/* Navegação desktop */
#aic-main-nav {
    display: flex;
    align-items: center;
    gap: 2px;
}

/* Botão hambúrguer (escondido no desktop) */
#aic-menu-toggle {
    display: none;
    flex-direction: column;
    gap: 4px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
}
#aic-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--text-primary);
    border-radius: 2px;
    transition: transform var(--t), opacity var(--t);
}
#aic-menu-toggle.active span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
#aic-menu-toggle.active span:nth-child(2) { opacity: 0; }
#aic-menu-toggle.active span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 768px) {
    /* Hambúrguer visível e à DIREITA (padrão do site modelo) */
    #aic-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
    }

    /* Painel do menu: desliza de cima, fundo sólido, com rolagem */
    #aic-main-nav {
        position: fixed;
        top: var(--header-h);
        left: 0; right: 0;
        background: rgba(11, 15, 26, .98);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        flex-direction: column;
        align-items: stretch;
        padding: 16px 20px;
        gap: 2px;
        transform: translateY(-110%);
        transition: transform var(--t);
        border-bottom: 1px solid var(--border);
        max-height: calc(100vh - var(--header-h));
        max-height: calc(100dvh - var(--header-h));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 999;
    }
    #aic-main-nav.open { transform: translateY(0); }

    /* Links empilhados, largura total, área de toque confortável */
    #aic-main-nav .aic-nav-menu,
    #aic-main-nav ul {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 0;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    #aic-main-nav li { width: 100%; }
    #aic-main-nav a {
        display: block;
        width: 100%;
        padding: 14px 8px;
        font-size: 15px;
        color: var(--text-primary);
        border-bottom: 1px solid var(--border);
        text-decoration: none;
    }
    #aic-main-nav li:last-child a { border-bottom: none; }
    #aic-main-nav .aic-btn-plugin {
        display: block;
        width: 100%;
        text-align: center;
        margin-top: 12px;
        padding: 13px 18px;
        border-bottom: none;
    }
}

/* ══════════════════════════════════════════════════════════════════
   LOGO BLINDADO — o nome sumia porque o efeito de texto-gradiente
   (fundo em degradê + letra transparente) pode ser anulado por
   qualquer regra do tema pai que mexa em background de links: o
   fundo some e a letra fica 100% transparente = logo invisível.
   Solução: no celular, cor SÓLIDA (como o site modelo, que usa o
   nome em texto simples); o degradê fica só no desktop, protegido.
   ══════════════════════════════════════════════════════════════════ */
.aic-logo-nome {
    background-image: linear-gradient(130deg, var(--blue), var(--purple)) !important;
}
@media (max-width: 768px) {
    .aic-logo-nome {
        background: none !important;
        -webkit-background-clip: initial !important;
        background-clip: initial !important;
        -webkit-text-fill-color: #EAF6FF !important;
        color: #EAF6FF !important;
    }
    /* Garantia extra: logo sempre visível e à esquerda */
    .aic-logo, #aic-header .aic-logo {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin-right: auto;
    }
}


/* ── Dropdown de Categorias no cabeçalho ─────────────────────────── */
.aic-nav-menu .menu-item-has-children { position: relative; }
.aic-nav-menu .menu-item-has-children > .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: rgba(18, 18, 32, .98);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 6px;
    margin: 6px 0 0;
    list-style: none;
    box-shadow: 0 12px 32px rgba(0,0,0,.4);
    z-index: 200;
}
.aic-nav-menu .menu-item-has-children:hover > .sub-menu,
.aic-nav-menu .menu-item-has-children:focus-within > .sub-menu {
    display: block;
}
.aic-nav-menu .sub-menu li { width: 100%; }
.aic-nav-menu .sub-menu a {
    display: block;
    padding: 8px 12px;
    border-radius: 6px;
    white-space: nowrap;
}
.aic-nav-menu .sub-menu a:hover { background: rgba(255,255,255,.06); }

@media (max-width: 768px) {
    .aic-nav-menu .menu-item-has-children > .sub-menu {
        display: block;
        position: static;
        background: rgba(255,255,255,.03);
        border: none;
        box-shadow: none;
        margin: 0 0 4px;
        padding-left: 14px;
    }
    .aic-nav-menu .sub-menu a { font-size: 13px; padding: 8px 12px; }
}
