@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;600;700&display=swap');

:root {
    --wce-primary: #0056ef;
    --wce-primary-glow: rgba(0, 86, 239, 0.15);
    --wce-accent: #00c27c;
    --wce-bg-dark: #050a1e;
    --wce-card-bg: #fff;
    --wce-text-main: #1e293b;
    --wce-text-muted: #64748b;
    --wce-border: #e2e8f0;
    --wce-radius: 16px;
    --wce-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
}

.wce-generated-blog, 
.wce-pool-page,
.wce-category-page {
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--wce-text-main);
    line-height: 1.6;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* --- Hero Section --- */
.wce-blog-hero, .wce-hero-banner {
    position: relative;
    border-radius: var(--wce-radius);
    overflow: hidden;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--wce-bg-dark);
    background-position: center;
    background-size: cover;
    margin-bottom: 40px;
    color: white;
    text-align: center;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.wce-blog-hero::before, .wce-hero-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(5, 10, 30, 0.3) 0%, rgba(5, 10, 30, 0.8) 100%);
}

.wce-blog-hero-inner, .wce-hero-content {
    position: relative;
    z-index: 10;
    padding: 40px;
    max-width: 800px;
}

.wce-blog-hero h1, .wce-hero-banner h1 {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.1;
    color: white;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

.wce-badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 99px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.wce-badge--ai {
    background: linear-gradient(90deg, #0056ef, #00c27c);
    color: white;
}

/* --- Strategy Cards --- */
.wce-strategy-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 30px 0;
}

.wce-strategy-card {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 30px;
    display: flex;
    gap: 20px;
    transition: all 0.3s ease;
    box-shadow: var(--wce-shadow);
}

.wce-strategy-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: var(--wce-primary);
}

.wce-sc-step {
    background: var(--wce-primary-glow);
    color: var(--wce-primary);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.wce-sc-headline {
    font-family: 'Outfit', sans-serif;
    display: block;
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--wce-text-main);
}

.wce-sc-detail {
    margin: 0;
    color: var(--wce-text-muted);
}

/* --- Data Containers --- */
.wce-table-responsive {
    overflow-x: auto;
    border-radius: var(--wce-radius);
    border: 1px solid var(--wce-border);
    background: white;
    margin: 30px 0;
}

/* --- Chart Cards: bounded to prevent infinite growth --- */
.wce-chart-card {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 24px;
    box-shadow: var(--wce-shadow);
    overflow: hidden; /* critical: backstop against canvas expansion */
    display: flex;
    flex-direction: column;
}

.wce-chart-card h3 {
    font-size: 1rem;
    font-weight: 700;
    color: var(--wce-text-main);
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Wrapper that provides the fixed height for Chart.js; 
   maintainAspectRatio:false requires an explicit parent height */
.wce-chart-container {
    position: relative;
    height: 400px;
    width: 100%;
    overflow: hidden;
}

/* Fallback: if canvas is placed directly inside .wce-chart-card
   (category / booster pages without the wrapper), cap it */
.wce-chart-card > canvas {
    max-height: 400px;
    height: 400px !important;
    width: 100% !important;
}



/* --- Pool Data Visual Layout --- */
.wce-pool-data-visual {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 30px 0 40px;
}

/* Info boxes: 3 per row = 2 rows of 3 */
.wce-pool-info-boxes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    width: 100%;
}

.wce-info-box {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    gap: 14px;
    align-items: flex-start;
    box-shadow: var(--wce-shadow);
    transition: transform 0.2s, box-shadow 0.2s;
}

.wce-info-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

.wce-ib-icon {
    font-size: 1.6rem;
    line-height: 1;
    flex-shrink: 0;
}

.wce-ib-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wce-ib-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--wce-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.wce-ib-value {
    font-family: 'Outfit', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--wce-text-main);
    line-height: 1.1;
}

.wce-ib-sub {
    font-size: 0.75rem;
    color: var(--wce-text-muted);
}

/* Charts: 2 side-by-side in row 1, 1 full-width in row 2 */
.wce-pool-charts-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
}

/* Third chart card (TVL Trend) spans full width */
.wce-pool-charts-col .wce-chart-card:nth-child(3) {
    grid-column: 1 / -1;
}

.wce-donut-wrap {
    position: relative;
}

.wce-donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%);
    text-align: center;
    pointer-events: none;
}

.wce-donut-pct {
    display: block;
    font-family: 'Outfit', sans-serif;
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--wce-text-main);
    line-height: 1;
}

.wce-donut-lbl {
    font-size: 0.75rem;
    color: var(--wce-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* --- Internal Links Section --- */
.wce-related-pools,
.wce-compare-section,
.wce-explore-section {
    margin: 40px 0;
}

.wce-related-pools__title,
.wce-compare-section__title,
.wce-explore-section__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--wce-text-main);
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--wce-border);
}

.wce-pool-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.wce-pool-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: 12px;
    padding: 14px 16px;
    text-decoration: none;
    transition: box-shadow 0.2s, border-color 0.2s, transform 0.2s;
}

.wce-pool-card:hover {
    border-color: var(--wce-primary);
    box-shadow: 0 6px 20px rgba(0,86,239,0.1);
    transform: translateY(-2px);
}

.wce-pool-card__name {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--wce-text-main);
}

.wce-pool-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.wce-pool-card__apy {
    background: #ecfdf5;
    color: #059669;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
}

.wce-pool-card__tvl {
    font-size: 0.75rem;
    color: var(--wce-text-muted);
}

.wce-pool-card__proto {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--wce-primary);
    background: var(--wce-primary-glow);
    padding: 2px 7px;
    border-radius: 5px;
}

.wce-compare-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wce-compare-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    background: white;
    border: 1.5px solid var(--wce-border);
    border-radius: 99px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--wce-text-main);
    text-decoration: none;
    transition: all 0.2s;
}

.wce-compare-pill:hover {
    border-color: var(--wce-primary);
    background: var(--wce-primary-glow);
    color: var(--wce-primary);
}

.wce-related-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.wce-related-links li {
    display: inline-flex;
}

.wce-related-links a {
    display: inline-flex;
    align-items: center;
    padding: 7px 14px;
    background: #f0f7ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--wce-primary);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

.wce-related-links a:hover {
    background: var(--wce-primary-glow);
    border-color: var(--wce-primary);
    text-decoration: none;
}

@media (max-width: 900px) {
    .wce-pool-data-visual { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .wce-pool-info-boxes { grid-template-columns: 1fr; }
    .wce-pool-card-grid { grid-template-columns: 1fr 1fr; }
}


.wce-data-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.wce-data-table th {
    background: #f8fafc;
    padding: 16px 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wce-text-muted);
    text-transform: uppercase;
}

.wce-data-table td {
    padding: 18px 20px;
    border-top: 1px solid var(--wce-border);
}

.wce-apy-badge {
    background: #ecfdf5;
    color: #059669;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.95rem;
}

.wce-apy-badge.tier-elite { background: #fee2e2; color: #dc2626; }
.wce-apy-badge.tier-high { background: #fef3c7; color: #d97706; }

/* --- Risk Box --- */
.wce-risk-callout, .wce-blog-risks div {
    background: #fff5f5;
    border-left: 5px solid #feb2b2;
    padding: 25px;
    border-radius: 0 var(--wce-radius) var(--wce-radius) 0;
    margin: 30px 0;
}

.wce-risk-callout strong {
    color: #c53030;
    display: block;
    margin-bottom: 5px;
}

/* --- Content Typography --- */
h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 1.85rem;
    font-weight: 700;
    margin: 50px 0 25px;
    color: var(--wce-bg-dark);
}

.wce-blog-intro {
    font-size: 1.25rem;
    color: var(--wce-text-muted);
    line-height: 1.8;
    margin-bottom: 40px;
}

/* --- Stat Cards --- */
.wce-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.wce-stat-card {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 20px;
    text-align: center;
    box-shadow: var(--wce-shadow);
    transition: transform 0.3s ease;
}

.wce-stat-card:hover {
    transform: translateY(-3px);
}

.wce-stat-card.highlight {
    border: 2px solid var(--wce-primary);
}

.wce-sc-label {
    font-size: 0.85rem;
    color: var(--wce-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.wce-sc-value {
    font-family: 'Outfit', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--wce-primary);
    line-height: 1;
    margin-bottom: 5px;
}

.wce-sc-sub {
    font-size: 0.8rem;
    color: var(--wce-text-muted);
}

/* --- FAQ & Lists --- */
.wce-faq-block {
    margin: 30px 0;
}

.wce-faq-item {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--wce-border);
}

.wce-faq-item:last-child {
    border-bottom: none;
}

.wce-faq-item h3 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.wce-strategy-list, .wce-exit-list {
    padding-left: 20px;
}

.wce-strategy-list li, .wce-exit-list li {
    margin-bottom: 12px;
}

/* --- Comparison Specific --- */
.wce-verdict-banner {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border: 1px solid #bbfcbd;
    border-radius: var(--wce-radius);
    padding: 25px;
    display: flex;
    gap: 20px;
    margin: 40px 0;
    align-items: center;
}

.wce-verdict-icon {
    font-size: 2.5rem;
}

.wce-verdict-title {
    display: block;
    font-size: 1.5rem;
    color: #166534;
    margin-bottom: 5px;
}

/* --- Comparison Grid --- */
.wce-cmp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.wce-cmp-card {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 20px;
    box-shadow: var(--wce-shadow);
}

.wce-cmp-card__label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--wce-text-muted);
    text-transform: uppercase;
    margin-bottom: 15px;
    text-align: center;
}

.wce-cmp-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.wce-cmp-side {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    border-radius: 12px;
    background: #f8fafc;
}

.wce-cmp-side.wce-cmp-win {
    background: #f0fdf4;
    border: 1px solid #bbfcbd;
}

.wce-cmp-side--b.wce-cmp-win {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}

.wce-cmp-protocol {
    font-size: 0.75rem;
    color: var(--wce-text-muted);
    margin-bottom: 4px;
}

.wce-cmp-val {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--wce-text-main);
}

.wce-cmp-divider {
    font-size: 0.7rem;
    font-weight: 700;
    color: #cbd5e1;
    text-transform: uppercase;
}

.wce-cmp-bar {
    height: 8px;
    border-radius: 4px;
    background: #e2e8f0;
    display: flex;
    overflow: hidden;
    margin-bottom: 8px;
}

.wce-cmp-bar__a { background: var(--wce-accent); }
.wce-cmp-bar__b { background: var(--wce-primary); }

.wce-cmp-pcts {
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--wce-text-muted);
}

/* --- Market Context --- */
.wce-market-context {
    display: flex;
    gap: 20px;
    background: #f8fafc;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 25px;
    margin: 30px 0;
}

.wce-mc-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.wce-mc-text {
    font-size: 1.05rem;
    color: var(--wce-text-main);
}

/* --- LP Mechanics --- */
.wce-lp-mechanics-box {
    display: flex;
    gap: 20px;
    background: #fdfaf0;
    border: 1px solid #fbeebc;
    border-radius: var(--wce-radius);
    padding: 25px;
    margin: 30px 0;
}

.wce-lp-icon {
    font-size: 2rem;
    flex-shrink: 0;
}

.wce-lp-content {
    font-size: 1.05rem;
    color: var(--wce-text-main);
}

/* --- Exit Signals --- */
.wce-exit-signals {
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-radius: var(--wce-radius);
    padding: 25px;
    margin: 30px 0;
}

.wce-exit-signals h3 {
    color: #c53030;
    margin-top: 0;
    margin-bottom: 20px;
}

.wce-exit-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wce-exit-list li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 15px;
    color: #742a2a;
}

.wce-exit-list li::before {
    content: "🚩";
    position: absolute;
    left: 0;
}

/* --- Charts --- */
.wce-chart-card {
    background: white;
    border: 1px solid var(--wce-border);
    border-radius: var(--wce-radius);
    padding: 30px;
    box-shadow: var(--wce-shadow);
    margin: 30px 0;
    overflow: hidden;
}

.wce-chart-card h3 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1.25rem;
    color: var(--wce-text-main);
    display: flex;
    align-items: center;
    gap: 10px;
}

.wce-chart-container {
    position: relative;
    height: 400px; /* Fixed height to prevent resize loop */
    width: 100%;
}

/* --- Breadcrumb --- */
.wce-breadcrumb {
    margin: 0 0 20px;
    padding: 10px 16px;
    background: #f8fafc;
    border-radius: 8px;
    border: 1px solid var(--wce-border);
}

.wce-breadcrumb ol {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    font-size: 0.85rem;
    color: var(--wce-text-muted);
}

.wce-breadcrumb li {
    display: flex;
    align-items: center;
}

.wce-breadcrumb a {
    color: var(--wce-primary);
    text-decoration: none;
    font-weight: 500;
}

.wce-breadcrumb a:hover { text-decoration: underline; }

.wce-bc-sep {
    margin: 0 4px;
    color: var(--wce-text-muted);
    font-size: 0.9rem;
}

/* --- CTA: Top Banner --- */
.wce-cta-top {
    background: linear-gradient(90deg, #0056ef, #00c27c);
    padding: 10px 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.wce-cta-top__inner {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.wce-cta-top__apy {
    color: rgba(255,255,255,0.9);
    font-size: 0.9rem;
    font-weight: 600;
    background: rgba(255,255,255,0.15);
    padding: 3px 10px;
    border-radius: 20px;
}

.wce-cta-top__link {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
}

.wce-cta-top__link:hover { text-decoration: underline; }

/* --- CTA: Table Strip --- */
.wce-cta-table {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f0f7ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 14px 20px;
    margin: 20px 0;
}

.wce-cta-table__label {
    color: var(--wce-text-main);
    font-size: 0.95rem;
    font-weight: 500;
}

.wce-cta-table__btn {
    background: var(--wce-primary);
    color: #fff;
    padding: 8px 18px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background 0.2s;
}

.wce-cta-table__btn:hover { background: #0047cc; }

/* --- CTA: Mid Card --- */
.wce-cta-mid {
    margin: 32px 0;
}

.wce-cta-mid__card {
    background: linear-gradient(135deg, #0a0f2e 0%, #0d2060 100%);
    border-radius: 16px;
    padding: 28px 32px;
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.wce-cta-mid__header { flex: 1; }

.wce-cta-mid__protocol-tag {
    display: inline-block;
    background: rgba(0,194,124,0.2);
    color: #00c27c;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.wce-cta-mid__title {
    color: #fff;
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
}

.wce-cta-mid__stats {
    display: flex;
    gap: 20px;
}

.wce-cta-mid__stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wce-cta-mid__stat-label {
    color: rgba(255,255,255,0.5);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.wce-cta-mid__stat-value {
    color: #00c27c;
    font-size: 1.3rem;
    font-weight: 800;
}

.wce-cta-mid__btn {
    background: linear-gradient(135deg, #00c27c, #0056ef);
    color: #fff;
    padding: 12px 24px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.95rem;
    white-space: nowrap;
    transition: opacity 0.2s;
}

.wce-cta-mid__btn:hover { opacity: 0.85; }

/* --- CTA: Bottom Block --- */
.wce-cta-bottom {
    background: linear-gradient(135deg, #0a0f2e, #0d2060);
    border-radius: 20px;
    padding: 48px;
    margin: 48px 0;
    text-align: center;
}

.wce-cta-bottom__headline {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 800;
    margin: 0 0 12px;
}

.wce-cta-bottom__body {
    color: rgba(255,255,255,0.7);
    font-size: 1rem;
    margin: 0 0 20px;
}

.wce-cta-bottom__features {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 24px;
}

.wce-cta-bottom__features li {
    color: #00c27c;
    font-weight: 600;
    font-size: 0.9rem;
}

.wce-cta-bottom__actions {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.wce-cta-bottom__btn {
    padding: 14px 28px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;
    transition: opacity 0.2s;
}

.wce-cta-bottom__btn--primary {
    background: linear-gradient(135deg, #00c27c, #0056ef);
    color: #fff;
}

.wce-cta-bottom__btn--secondary {
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.85);
    border: 1px solid rgba(255,255,255,0.2);
}

.wce-cta-bottom__btn:hover { opacity: 0.85; }

/* --- Cluster Nav --- */
.wce-cluster-nav {
    background: #f8fafc;
    border: 1px solid var(--wce-border);
    border-radius: 16px;
    padding: 24px;
    margin: 40px 0;
}

.wce-cluster-heading {
    font-size: 1rem;
    font-weight: 700;
    color: var(--wce-text-main);
    margin: 0 0 16px;
}

.wce-cluster-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
}

.wce-cluster-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #fff;
    border: 1px solid var(--wce-border);
    border-radius: 10px;
    padding: 14px 16px;
    text-decoration: none;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.wce-cluster-card:hover {
    border-color: var(--wce-primary);
    box-shadow: 0 4px 16px rgba(0,86,239,0.1);
}

.wce-cluster-pillar {
    border-color: var(--wce-primary);
    background: linear-gradient(135deg, #f0f7ff, #fff);
}

.wce-cluster-label {
    font-size: 0.72rem;
    color: var(--wce-text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wce-cluster-title {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--wce-text-main);
    line-height: 1.3;
}

/* --- Blog Page Specific Styles --- */
.wce-generated-blog {
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--wce-text-main);
    line-height: 1.7;
    max-width: 860px;
    margin: 0 auto;
}

.wce-blog-snapshot,
.wce-blog-analysis,
.wce-blog-opportunities,
.wce-blog-risks,
.wce-blog-takeaway {
    margin: 40px 0;
}

.wce-blog-ranking-summary {
    font-size: 1rem;
    color: var(--wce-text-muted);
    font-style: italic;
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--wce-border);
}

/* Analysis Box — dark glass card style */
.wce-analysis-box {
    background: linear-gradient(135deg, #0a0f2e 0%, #0d2060 100%);
    color: rgba(255,255,255,0.88);
    border-radius: var(--wce-radius);
    padding: 32px;
    font-size: 1.05rem;
    line-height: 1.8;
    box-shadow: 0 20px 40px rgba(0,0,0,0.15);
    position: relative;
    overflow: hidden;
}

.wce-analysis-box::before {
    content: '"';
    position: absolute;
    top: -10px;
    left: 20px;
    font-size: 8rem;
    color: rgba(0,194,124,0.1);
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
}

.wce-analysis-box a { color: #00c27c; }

/* Blog Opportunities — numbered strategy cards (same as pool but within blog context) */
.wce-blog-opportunities .wce-strategy-cards {
    margin: 20px 0;
}

/* Blog CTA block */
.wce-blog-cta {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-left: 5px solid var(--wce-primary);
    border-radius: 12px;
    padding: 24px 28px;
    margin: 40px 0;
}

.wce-blog-cta p {
    font-size: 1rem;
    color: var(--wce-text-main);
    margin: 0 0 16px;
}

.wce-blog-cta a {
    color: var(--wce-primary);
    font-weight: 600;
}

/* Blog Who-Should / Takeaway */
.wce-blog-takeaway .wce-who-should {
    background: linear-gradient(135deg, #f0fdf4, #dcfce7);
    border: 1px solid #bbf7d0;
    border-radius: 14px;
    padding: 24px 28px;
}

.wce-blog-takeaway .wce-who-should p {
    font-size: 1.05rem;
    color: #166534;
    font-weight: 500;
}

/* AI Badge for blog posts */
.wce-ai-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(90deg, rgba(0,86,239,0.1), rgba(0,194,124,0.1));
    border: 1px solid rgba(0,86,239,0.2);
    color: var(--wce-primary);
    font-size: 0.8rem;
    font-weight: 600;
    padding: 5px 14px;
    border-radius: 99px;
    margin-bottom: 20px;
    letter-spacing: 0.02em;
}

/* Pool Intro paragraph */
.wce-pool-intro {
    font-size: 1.1rem;
    color: var(--wce-text-muted);
    line-height: 1.8;
    margin-bottom: 32px;
    padding: 20px 24px;
    background: #f8fafc;
    border-left: 4px solid var(--wce-accent);
    border-radius: 0 10px 10px 0;
}

/* Freshness tag */
.wce-freshness {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    color: var(--wce-text-muted);
    margin-top: 20px;
}

/* --- Responsive --- */
@media (max-width: 768px) {
    .wce-strategy-card { flex-direction: column; }
    .wce-blog-hero, .wce-hero-banner { min-height: 300px; }
    .wce-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .wce-cmp-grid { grid-template-columns: 1fr; }
    .wce-chart-container { height: 300px; }
    .wce-cta-table { flex-direction: column; align-items: flex-start; }
    .wce-cta-mid__card { flex-direction: column; }
    .wce-cta-bottom { padding: 28px 20px; }
    .wce-cta-bottom__headline { font-size: 1.3rem; }
    .wce-breadcrumb ol { font-size: 0.8rem; }
}

@media (max-width: 480px) {
    .wce-stat-grid { grid-template-columns: 1fr; }
}
