/* =====================================================================
   Components.
   Header, Hero, Rows, Cards, Chips, Newsletter, Footer, Article,
   FAQ, Archive, Coin, Review, Prediction, Calculator embed, 404.
   ===================================================================== */

/* ============================================================
   Header
   ============================================================ */
.cc-header {
    background: var(--cc-surface);
    border-bottom: 1px solid var(--cc-border);
    position: sticky;
    top: 0;
    z-index: 100;
}
.cc-header-inner {
    max-width: var(--cc-container);
    margin: 0 auto;
    padding: var(--cc-space-4);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cc-space-4);
}
.cc-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--cc-text);
}
.cc-logo:hover { color: var(--cc-text); }
.cc-logo-mark {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--cc-accent);
    color: var(--cc-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--cc-font-display);
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
}
.cc-logo-text {
    font-family: var(--cc-font-display);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: -0.01em;
}
.cc-nav-list {
    display: flex;
    gap: var(--cc-space-5);
    margin: 0;
    padding: 0;
    list-style: none;
}
.cc-nav-list a {
    color: var(--cc-text-muted);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.15s ease;
}
.cc-nav-list a:hover,
.cc-nav-list .current-menu-item > a,
.cc-nav-list .current_page_item > a,
.cc-nav-list .current-cat > a {
    color: var(--cc-accent);
}
.cc-menu-toggle {
    display: none;
    background: transparent;
    border: none;
    padding: 8px;
    cursor: pointer;
    width: 40px;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
}
.cc-menu-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--cc-text);
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.cc-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.cc-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.cc-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.cc-mobile-menu { display: none; border-top: 1px solid var(--cc-border); background: var(--cc-surface); }
.cc-mobile-menu:not([hidden]) { display: block; }
.cc-mobile-menu-list {
    list-style: none;
    padding: var(--cc-space-3) var(--cc-space-4);
    margin: 0;
}
.cc-mobile-menu-list li { margin-bottom: var(--cc-space-2); }
.cc-mobile-menu-list a {
    color: var(--cc-text);
    text-decoration: none;
    font-size: 16px;
    display: block;
    padding: var(--cc-space-2) 0;
}

/* ============================================================
   Hero
   ============================================================ */
.cc-hero { padding: var(--cc-space-8) 0 var(--cc-space-7); }
.cc-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: var(--cc-space-7);
    align-items: center;
}
.cc-hero-image {
    aspect-ratio: 5/4;
    background: linear-gradient(135deg, #2B2520 0%, #4A3520 100%);
    border-radius: var(--cc-radius-md);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: var(--cc-space-4);
    position: relative;
    text-decoration: none;
}
.cc-hero-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cc-hero-placeholder {
    font-family: var(--cc-font-mono);
    font-size: 12px;
    color: var(--cc-accent);
    position: relative;
    z-index: 1;
    opacity: 0.9;
}
.cc-hero-title {
    font-family: var(--cc-font-display);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 var(--cc-space-4);
    letter-spacing: -0.015em;
}
.cc-hero-title a {
    color: inherit;
    text-decoration: none;
}
.cc-hero-title a:hover { color: var(--cc-accent); }
.cc-hero-dek {
    font-size: 17px;
    line-height: 1.6;
    color: var(--cc-text-muted);
    margin: 0 0 var(--cc-space-5);
}

/* ============================================================
   Byline
   ============================================================ */
.cc-byline {
    display: flex;
    align-items: center;
    gap: var(--cc-space-3);
    font-size: 13px;
    color: var(--cc-text-faint);
    flex-wrap: wrap;
}
.cc-byline .cc-dot { color: var(--cc-border-strong); }

/* ============================================================
   Rows
   ============================================================ */
.cc-row { padding: var(--cc-space-7) 0; }
.cc-row-head {
    border-top: 1px solid var(--cc-border);
    padding-top: var(--cc-space-6);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: var(--cc-space-6);
}
.cc-row-title {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h2);
    font-weight: 500;
    margin: 0;
    letter-spacing: -0.01em;
}
.cc-row-more {
    font-size: 13px;
    color: var(--cc-accent);
    text-decoration: none;
}
.cc-row-more:hover { color: var(--cc-accent-hover); }

/* ============================================================
   Cards
   ============================================================ */
.cc-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cc-space-6);
}
.cc-card {
    display: flex;
    flex-direction: column;
}
.cc-card-image {
    aspect-ratio: 16/10;
    border-radius: var(--cc-radius-md);
    margin-bottom: var(--cc-space-3);
    overflow: hidden;
    background: linear-gradient(135deg, #2B2520 0%, #4A3520 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
}
.cc-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cc-card-image-formula {
    font-family: var(--cc-font-mono);
    color: var(--cc-accent);
    font-size: 14px;
    text-align: center;
    padding: 0 var(--cc-space-4);
    line-height: 1.6;
}
.cc-card-image-placeholder {
    font-family: var(--cc-font-mono);
    color: var(--cc-accent);
    font-size: 11px;
    padding: 0 var(--cc-space-3);
    opacity: 0.8;
}
.cc-card .cc-eyebrow {
    font-size: 10px;
    margin-bottom: 6px;
}
.cc-card-title {
    font-family: var(--cc-font-display);
    font-size: 19px;
    line-height: 1.3;
    margin: 0 0 var(--cc-space-2);
    font-weight: 500;
    letter-spacing: -0.01em;
}
.cc-card-title a {
    color: var(--cc-text);
    text-decoration: none;
}
.cc-card-title a:hover { color: var(--cc-accent); }
.cc-card-meta {
    font-size: 12px;
    color: var(--cc-text-faint);
}
.cc-card-blurb {
    font-size: 13px;
    color: var(--cc-text-muted);
    line-height: 1.5;
    margin: 0 0 var(--cc-space-2);
}
.cc-card-cta {
    color: var(--cc-accent);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    margin-top: auto;
}
.cc-card-cta:hover { color: var(--cc-accent-hover); }

/* ============================================================
   Chips
   ============================================================ */
.cc-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
    margin-top: var(--cc-space-2);
}
.cc-chip-prediction {
    background: var(--cc-text);
    color: var(--cc-accent);
    font-family: var(--cc-font-mono);
    letter-spacing: 0.01em;
}
.cc-chip-prediction .cc-chip-label {
    color: var(--cc-text-faint);
    margin-right: 8px;
    font-weight: 400;
}
.cc-chip-verdict {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border-strong);
    color: var(--cc-text-muted);
    font-size: 12px;
    padding: 5px 11px;
}
.cc-chip-verdict strong {
    color: var(--cc-accent);
    margin: 0 4px;
    font-weight: 600;
}

/* ============================================================
   Newsletter
   ============================================================ */
.cc-newsletter {
    background: var(--cc-surface-alt);
    border-top: 1px solid var(--cc-border);
    border-bottom: 1px solid var(--cc-border);
}
.cc-newsletter-inner {
    max-width: var(--cc-container);
    margin: 0 auto;
    padding: var(--cc-space-6) var(--cc-space-4);
    display: flex;
    align-items: center;
    gap: var(--cc-space-6);
    flex-wrap: wrap;
}
.cc-newsletter-copy { flex: 1 1 280px; }
.cc-newsletter-copy h3 {
    font-family: var(--cc-font-display);
    font-size: 24px;
    margin: 0 0 4px;
    font-weight: 500;
}
.cc-newsletter-copy p {
    font-size: 15px;
    color: var(--cc-text-muted);
    margin: 0;
}
.cc-newsletter-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
}
.cc-newsletter-form input[type="email"] {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border-strong);
    border-radius: var(--cc-radius-md);
    padding: 11px 14px;
    font-size: 14px;
    font-family: var(--cc-font-body);
    color: var(--cc-text);
    min-width: 240px;
    outline: none;
}
.cc-newsletter-form input[type="email"]:focus { border-color: var(--cc-accent); }
.cc-newsletter-form button {
    background: var(--cc-accent);
    color: var(--cc-bg);
    border: none;
    border-radius: var(--cc-radius-md);
    padding: 11px 22px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s ease;
}
.cc-newsletter-form button:hover { background: var(--cc-accent-hover); }
.cc-newsletter-form button[disabled] { opacity: 0.7; cursor: wait; }
.cc-honeypot {
    position: absolute;
    left: -9999px;
    opacity: 0;
    pointer-events: none;
}
.cc-newsletter-message {
    width: 100%;
    font-size: 13px;
    color: var(--cc-text-muted);
    margin-top: var(--cc-space-2);
    min-height: 18px;
}
.cc-newsletter-message.is-success { color: var(--cc-up); }
.cc-newsletter-message.is-error   { color: var(--cc-down); }

/* ============================================================
   Footer
   ============================================================ */
.cc-footer {
    background: var(--cc-surface);
    padding: var(--cc-space-8) 0 var(--cc-space-5);
    border-top: 1px solid var(--cc-border);
}
.cc-footer-inner {
    max-width: var(--cc-container);
    margin: 0 auto;
    padding: 0 var(--cc-space-4);
    display: grid;
    grid-template-columns: 1.4fr 2.6fr;
    gap: var(--cc-space-7);
    align-items: start;
}
.cc-footer-brand { max-width: 360px; }
.cc-footer-tagline {
    color: var(--cc-text-muted);
    font-size: 14px;
    margin-top: var(--cc-space-3);
    line-height: 1.6;
}
.cc-footer-social {
    display: flex;
    gap: 10px;
    margin-top: var(--cc-space-4);
}
.cc-footer-social a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--cc-border-strong);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cc-text-muted);
    transition: color 0.15s ease, border-color 0.15s ease;
}
.cc-footer-social a:hover { color: var(--cc-accent); border-color: var(--cc-accent); }
.cc-footer-cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cc-space-6);
}
.cc-footer-col-title {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--cc-text-faint);
    font-weight: 600;
    margin: 0 0 var(--cc-space-3);
}
.cc-footer-col-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cc-footer-col-list li { margin-bottom: var(--cc-space-2); }
.cc-footer-col-list a {
    color: var(--cc-text-muted);
    text-decoration: none;
    font-size: 14px;
}
.cc-footer-col-list a:hover { color: var(--cc-accent); }
.cc-footer-bottom {
    border-top: 1px solid var(--cc-border);
    margin: var(--cc-space-7) auto 0;
    padding: var(--cc-space-4) var(--cc-space-4) 0;
    max-width: var(--cc-container);
}
.cc-footer-bottom .cc-disclaimer {
    font-size: 13px;
    color: var(--cc-text-faint);
    max-width: 760px;
    line-height: 1.6;
    margin: 0 0 var(--cc-space-2);
}
.cc-footer-copy { font-size: 13px; color: var(--cc-text-faint); margin: 0; }

/* ============================================================
   Article (single.php, page.php)
   ============================================================ */
.cc-article { padding-top: var(--cc-space-7); }
.cc-article-header {
    text-align: center;
    margin-bottom: var(--cc-space-6);
}
.cc-article-header .cc-eyebrow { margin-bottom: var(--cc-space-3); }
.cc-article-title {
    font-family: var(--cc-font-display);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 500;
    line-height: 1.15;
    margin: 0 0 var(--cc-space-4);
    letter-spacing: -0.015em;
}
.cc-article-dek {
    max-width: 680px;
    margin: 0 auto var(--cc-space-5);
    font-size: 19px;
    color: var(--cc-text-muted);
    line-height: 1.5;
}
.cc-article-header .cc-byline { justify-content: center; }
.cc-article-hero {
    margin: var(--cc-space-6) 0;
}
.cc-article-hero img {
    border-radius: var(--cc-radius-md);
    width: 100%;
    height: auto;
}

/* ============================================================
   FAQ
   ============================================================ */
.cc-faq {
    max-width: var(--cc-prose);
    margin: var(--cc-space-7) auto 0;
    border-top: 1px solid var(--cc-border);
    padding-top: var(--cc-space-6);
}
.cc-faq h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    font-weight: 500;
    margin-bottom: var(--cc-space-4);
    letter-spacing: -0.01em;
}
.cc-faq-item {
    border-bottom: 1px solid var(--cc-border);
    padding: var(--cc-space-3) 0;
}
.cc-faq-item summary {
    cursor: pointer;
    font-weight: 500;
    color: var(--cc-text);
    list-style: none;
    padding-right: var(--cc-space-5);
    position: relative;
}
.cc-faq-item summary::-webkit-details-marker { display: none; }
.cc-faq-item summary::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    color: var(--cc-accent);
    font-size: 22px;
    line-height: 1;
}
.cc-faq-item[open] summary::after { content: '−'; }
.cc-faq-item div {
    margin-top: var(--cc-space-3);
    color: var(--cc-text-muted);
}

/* ============================================================
   Archive
   ============================================================ */
.cc-archive-header {
    padding: var(--cc-space-7) 0 var(--cc-space-5);
    border-bottom: 1px solid var(--cc-border);
    text-align: center;
}
.cc-archive-title {
    font-family: var(--cc-font-display);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 500;
    margin: 0 0 var(--cc-space-3);
    letter-spacing: -0.015em;
}
.cc-archive-desc {
    max-width: 680px;
    margin: 0 auto;
    color: var(--cc-text-muted);
}
.cc-pagination {
    margin-top: var(--cc-space-7);
    display: flex;
    justify-content: center;
    gap: var(--cc-space-3);
    flex-wrap: wrap;
}
.cc-pagination .page-numbers {
    color: var(--cc-text-muted);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: var(--cc-radius-sm);
    border: 1px solid transparent;
}
.cc-pagination .page-numbers:hover { color: var(--cc-accent); }
.cc-pagination .current {
    background: var(--cc-accent);
    color: var(--cc-bg);
}

/* ============================================================
   404
   ============================================================ */
.cc-error {
    padding: var(--cc-space-9) 0;
    text-align: center;
}
.cc-error h1 {
    font-family: var(--cc-font-display);
    font-size: 44px;
    margin: 0 0 var(--cc-space-4);
    font-weight: 500;
}
.cc-error p {
    color: var(--cc-text-muted);
    max-width: 480px;
    margin: 0 auto var(--cc-space-5);
}

/* ============================================================
   Coin page
   ============================================================ */
.cc-coin-header {
    padding: var(--cc-space-7) 0 var(--cc-space-5);
    border-bottom: 1px solid var(--cc-border);
}
.cc-coin-header .cc-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cc-space-5);
    flex-wrap: wrap;
}
.cc-coin-identity {
    display: flex;
    align-items: center;
    gap: var(--cc-space-4);
}
.cc-coin-logo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}
.cc-coin-rank {
    font-family: var(--cc-font-mono);
    font-size: 13px;
    color: var(--cc-text-faint);
    margin-bottom: 4px;
}
.cc-coin-title {
    font-family: var(--cc-font-display);
    font-size: 36px;
    font-weight: 500;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.015em;
}
.cc-coin-symbol {
    font-family: var(--cc-font-mono);
    font-size: 16px;
    color: var(--cc-text-muted);
    margin-left: var(--cc-space-2);
    font-weight: 400;
}
.cc-coin-price-block {
    text-align: right;
}
.cc-coin-price {
    font-family: var(--cc-font-display);
    font-size: 36px;
    font-weight: 500;
    color: var(--cc-text);
    line-height: 1.1;
}
.cc-coin-change {
    font-family: var(--cc-font-mono);
    font-size: 14px;
    margin-top: 4px;
}
.cc-coin-change-period {
    color: var(--cc-text-faint);
    margin-left: 4px;
}
.cc-coin-syncing {
    color: var(--cc-text-muted);
    font-size: 13px;
    font-style: italic;
}

.cc-coin-stats {
    padding: var(--cc-space-6) 0;
    border-bottom: 1px solid var(--cc-border);
}
.cc-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cc-space-5);
}
.cc-stat {
    padding: var(--cc-space-4);
    background: var(--cc-surface);
    border-radius: var(--cc-radius-md);
    border: 1px solid var(--cc-border);
}
.cc-stat-label {
    font-size: 12px;
    color: var(--cc-text-muted);
    margin-bottom: 6px;
}
.cc-stat-value {
    font-family: var(--cc-font-mono);
    font-size: 17px;
    color: var(--cc-text);
    font-weight: 500;
}
.cc-stat-sub {
    font-size: 11px;
    color: var(--cc-text-faint);
    margin-top: 2px;
}

.cc-coin-performance {
    padding: var(--cc-space-6) 0;
    border-bottom: 1px solid var(--cc-border);
}
.cc-coin-performance h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    margin: 0 0 var(--cc-space-4);
    font-weight: 500;
    letter-spacing: -0.01em;
}
.cc-perf-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--cc-space-3);
}
.cc-perf-cell {
    background: var(--cc-surface);
    padding: var(--cc-space-3) var(--cc-space-4);
    border-radius: var(--cc-radius-md);
    border: 1px solid var(--cc-border);
}
.cc-perf-label {
    font-size: 11px;
    color: var(--cc-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.cc-perf-value {
    font-family: var(--cc-font-mono);
    font-size: 17px;
    font-weight: 500;
    margin-top: 4px;
}

.cc-coin-about {
    padding: var(--cc-space-7) 0;
    border-bottom: 1px solid var(--cc-border);
}
.cc-coin-about h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h2);
    margin: 0 0 var(--cc-space-4);
    font-weight: 500;
    letter-spacing: -0.015em;
}

/* Coin internal-linking block */
.cc-coin-links { padding: var(--cc-space-6) 0; border-top: 1px solid var(--cc-border); }
.cc-coin-cta-bar {
    display: flex;
    align-items: center;
    gap: var(--cc-space-3);
    background: var(--cc-text);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-4) var(--cc-space-5);
    text-decoration: none;
    margin-bottom: var(--cc-space-6);
}
.cc-coin-cta-bar .cc-eyebrow { margin: 0; color: var(--cc-accent); }
.cc-coin-cta-text {
    color: var(--cc-bg);
    font-family: var(--cc-font-display);
    font-size: 18px;
    font-weight: 500;
    flex: 1;
}
.cc-coin-cta-arrow { color: var(--cc-accent); font-size: 20px; }
.cc-coin-links-title {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    font-weight: 500;
    margin: 0 0 var(--cc-space-4);
    letter-spacing: -0.01em;
}
.cc-coin-peers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cc-space-3);
}
.cc-coin-peer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: var(--cc-space-3) var(--cc-space-4);
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    text-decoration: none;
    color: var(--cc-text);
}
.cc-coin-peer:hover { border-color: var(--cc-border-strong); }
.cc-coin-peer-logo { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.cc-coin-peer-name { font-weight: 500; font-size: 14px; }
.cc-coin-peer-sym { color: var(--cc-text-faint); font-size: 12px; font-family: var(--cc-font-mono); }
.cc-coin-peer-price { margin-left: auto; font-family: var(--cc-font-mono); font-size: 13px; color: var(--cc-text-muted); }
.cc-coin-links-more { margin-top: var(--cc-space-4); }
.cc-coin-links-more a { color: var(--cc-accent); text-decoration: none; font-size: 14px; }

/* Top coins link strip (internal-link concentration) */
.cc-top-coins { padding: var(--cc-space-6) 0; border-top: 1px solid var(--cc-border); }
.cc-top-coins-strip {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cc-space-2);
}
.cc-top-coin {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 12px;
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: 999px;
    text-decoration: none;
    color: var(--cc-text);
    font-size: 13px;
}
.cc-top-coin:hover { border-color: var(--cc-accent); }
.cc-top-coin-logo { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.cc-top-coin-name { font-weight: 500; }
.cc-top-coin-sym { color: var(--cc-text-faint); font-family: var(--cc-font-mono); font-size: 11px; }

/* Breadcrumbs */
.cc-breadcrumbs {
    padding: var(--cc-space-4) 0 0;
    font-size: 12px;
    color: var(--cc-text-faint);
}
.cc-breadcrumbs a { color: var(--cc-text-muted); text-decoration: none; }
.cc-breadcrumbs a:hover { color: var(--cc-accent); }
.cc-breadcrumbs .separator { margin: 0 6px; color: var(--cc-border-strong); }

/* Author box */
.cc-authorbox {
    display: flex;
    gap: var(--cc-space-4);
    align-items: flex-start;
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-5);
    margin: var(--cc-space-7) 0 0;
}
.cc-authorbox-avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.cc-authorbox-body .cc-eyebrow { margin-bottom: 4px; }
.cc-authorbox-name { font-family: var(--cc-font-display); font-size: 19px; font-weight: 500; margin: 0 0 var(--cc-space-2); }
.cc-authorbox-name a { color: var(--cc-text); text-decoration: none; }
.cc-authorbox-name a:hover { color: var(--cc-accent); }
.cc-authorbox-bio { font-size: 14px; color: var(--cc-text-muted); line-height: 1.55; margin: 0 0 var(--cc-space-2); }
.cc-authorbox-link { font-size: 13px; color: var(--cc-accent); text-decoration: none; }

/* Author archive header */
.cc-author-header {
    text-align: center;
    padding: var(--cc-space-8) 0 var(--cc-space-6);
    border-bottom: 1px solid var(--cc-border);
}
.cc-author-avatar { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; margin-bottom: var(--cc-space-3); }
.cc-author-name { font-family: var(--cc-font-display); font-size: clamp(28px, 4vw, 40px); font-weight: 500; margin: 0 0 var(--cc-space-3); letter-spacing: -0.015em; }
.cc-author-bio { max-width: 600px; margin: 0 auto var(--cc-space-3); color: var(--cc-text-muted); line-height: 1.6; }
.cc-author-link { color: var(--cc-accent); text-decoration: none; font-size: 14px; }

/* Coin news */
.cc-coin-news { padding: var(--cc-space-6) 0; border-top: 1px solid var(--cc-border); }

/* Load more */
.cc-coins-loadmore-wrap { text-align: center; margin-top: var(--cc-space-5); }
.cc-coins-loadmore[disabled] { opacity: 0.7; cursor: wait; }

/* Coin jump nav */
.cc-coin-jump {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--cc-surface);
    border-top: 1px solid var(--cc-border);
    border-bottom: 1px solid var(--cc-border);
}
.cc-coin-jump .cc-container {
    display: flex;
    gap: var(--cc-space-5);
    overflow-x: auto;
    padding-top: 12px;
    padding-bottom: 12px;
}
.cc-coin-jump a {
    color: var(--cc-text-muted);
    text-decoration: none;
    font-size: 13px;
    white-space: nowrap;
}
.cc-coin-jump a:hover { color: var(--cc-accent); }

/* Chart */
.cc-coin-chart-section { padding: var(--cc-space-6) 0; border-bottom: 1px solid var(--cc-border); }
.cc-chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cc-space-4);
    flex-wrap: wrap;
    margin-bottom: var(--cc-space-4);
}
.cc-chart-head h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    font-weight: 500;
    margin: 0;
    letter-spacing: -0.01em;
}
.cc-chart-ranges { display: flex; gap: 4px; }
.cc-range {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-sm);
    padding: 6px 12px;
    font-size: 12px;
    font-family: var(--cc-font-mono);
    color: var(--cc-text-muted);
    cursor: pointer;
    transition: all 0.15s ease;
}
.cc-range:hover { color: var(--cc-text); }
.cc-range.is-active { background: var(--cc-accent); color: var(--cc-bg); border-color: var(--cc-accent); }
.cc-chart {
    height: 320px;
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    overflow: visible;
    position: relative;
}
.cc-chart-svg { width: 100%; height: 100%; display: block; border-radius: var(--cc-radius-md); }
.cc-chart-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--cc-text-faint);
    font-size: 14px;
}
.cc-grid { stroke: var(--cc-border); stroke-width: 1; }
.cc-axis-label { fill: var(--cc-text-faint); font-size: 11px; font-family: var(--cc-font-mono); }
.cc-cross { stroke: var(--cc-border-strong); stroke-width: 1; stroke-dasharray: 3 3; }
.cc-dot { fill: var(--cc-surface); stroke-width: 2; }
.cc-chart-tip {
    position: absolute;
    transform: translate(-50%, -100%);
    background: var(--cc-text);
    color: var(--cc-bg);
    padding: 6px 9px;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.3;
    pointer-events: none;
    white-space: nowrap;
    z-index: 5;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.cc-chart-tip.cc-tip-below { transform: translate(-50%, 0); }
.cc-chart-tip strong { display: block; font-family: var(--cc-font-mono); font-weight: 600; }
.cc-chart-tip span { display: block; color: var(--cc-text-faint); font-size: 11px; margin-top: 1px; }

/* Converter */
.cc-converter {
    margin-top: var(--cc-space-5);
    background: var(--cc-surface-alt);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-5);
    max-width: 520px;
}
.cc-converter h3 {
    font-family: var(--cc-font-display);
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 var(--cc-space-3);
}
.cc-converter-row { display: flex; align-items: flex-end; gap: var(--cc-space-3); }
.cc-converter-row label { flex: 1; display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--cc-text-muted); }
.cc-converter-row input {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border-strong);
    border-radius: var(--cc-radius-sm);
    padding: 10px 12px;
    font-family: var(--cc-font-mono);
    font-size: 15px;
    color: var(--cc-text);
    width: 100%;
    outline: none;
}
.cc-converter-row input:focus { border-color: var(--cc-accent); }
.cc-converter-eq { padding-bottom: 10px; color: var(--cc-text-faint); }

/* About toggle */
.cc-about-toggle {
    background: none;
    border: none;
    color: var(--cc-accent);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    padding: 0;
    margin-top: var(--cc-space-2);
}

/* Markets / historic share the coins-table styles. Just spacing. */
.cc-coin-markets, .cc-coin-historic { padding: var(--cc-space-6) 0; border-top: 1px solid var(--cc-border); }
.cc-coin-markets h2, .cc-coin-historic h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    font-weight: 500;
    margin: 0 0 var(--cc-space-4);
    letter-spacing: -0.01em;
}

/* Global prices */
.cc-coin-global { padding: var(--cc-space-6) 0; border-top: 1px solid var(--cc-border); }
.cc-coin-global h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h3);
    font-weight: 500;
    margin: 0 0 var(--cc-space-4);
    letter-spacing: -0.01em;
}
.cc-global-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--cc-space-3);
}
.cc-global-cell {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-4);
}
.cc-global-pair { font-family: var(--cc-font-mono); font-size: 12px; color: var(--cc-text-faint); }
.cc-global-name { font-size: 12px; color: var(--cc-text-muted); margin: 2px 0 6px; }
.cc-global-price { font-family: var(--cc-font-mono); font-size: 17px; font-weight: 500; color: var(--cc-text); }

.cc-coin-disclaimer {
    display: block;
    font-size: 12px;
    color: var(--cc-text-faint);
    padding-top: var(--cc-space-5);
    padding-bottom: var(--cc-space-6);
    line-height: 1.6;
}

/* ============================================================
   Review page
   ============================================================ */
.cc-verdict-block {
    text-align: center;
    margin: var(--cc-space-5) 0;
}
.cc-verdict-oneliner {
    margin-top: var(--cc-space-3);
    color: var(--cc-text-muted);
    font-style: italic;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
}
.cc-review-subjects {
    padding: var(--cc-space-6) 0;
}
.cc-subjects-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--cc-space-5);
}
.cc-subject {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-5);
}
.cc-subject.is-winner {
    border-color: var(--cc-accent);
    box-shadow: 0 0 0 2px rgba(201, 123, 15, 0.1);
}
.cc-subject-logo {
    width: 56px;
    height: 56px;
    border-radius: var(--cc-radius-md);
    margin-bottom: var(--cc-space-3);
    object-fit: contain;
}
.cc-subject-name {
    font-family: var(--cc-font-display);
    font-size: 22px;
    margin: 0 0 4px;
    font-weight: 500;
}
.cc-subject-score {
    font-family: var(--cc-font-mono);
    font-size: 17px;
    color: var(--cc-accent);
    margin-bottom: var(--cc-space-4);
    font-weight: 500;
}
.cc-proscons {
    margin-top: var(--cc-space-4);
}
.cc-proscons h4 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cc-text-muted);
    margin: 0 0 var(--cc-space-2);
    font-weight: 600;
}
.cc-proscons ul {
    padding-left: var(--cc-space-4);
    margin: 0;
}
.cc-proscons li {
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--cc-text);
}
.cc-subject-link {
    display: inline-block;
    margin-top: var(--cc-space-4);
    color: var(--cc-accent);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

/* ============================================================
   Price Prediction page
   ============================================================ */
.cc-forecast {
    padding: var(--cc-space-6) 0;
}
.cc-forecast h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h2);
    margin: 0 0 var(--cc-space-4);
    font-weight: 500;
    letter-spacing: -0.015em;
}
.cc-forecast-table {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    overflow: hidden;
}
.cc-forecast-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    padding: var(--cc-space-3) var(--cc-space-4);
    border-bottom: 1px solid var(--cc-border);
    font-family: var(--cc-font-mono);
    font-size: 15px;
}
.cc-forecast-row:last-child { border-bottom: none; }
.cc-forecast-head {
    background: var(--cc-surface-alt);
    color: var(--cc-text-muted);
    font-family: var(--cc-font-body);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}
.cc-scenarios {
    margin: var(--cc-space-7) auto 0;
    max-width: var(--cc-prose);
}
.cc-scenarios > h2 {
    font-family: var(--cc-font-display);
    font-size: var(--cc-h2);
    margin: 0 0 var(--cc-space-5);
    font-weight: 500;
    letter-spacing: -0.015em;
}
.cc-scenario {
    background: var(--cc-surface);
    border-left: 4px solid var(--cc-accent);
    padding: var(--cc-space-4) var(--cc-space-5);
    margin-bottom: var(--cc-space-4);
    border-radius: var(--cc-radius-sm);
}
.cc-scenario-bull { border-left-color: var(--cc-up); }
.cc-scenario-bear { border-left-color: var(--cc-down); }
.cc-scenario h3 {
    font-family: var(--cc-font-display);
    font-size: 19px;
    margin: 0 0 var(--cc-space-3);
    font-weight: 500;
}
.cc-methodology {
    background: var(--cc-surface-alt);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-5);
    margin: var(--cc-space-6) auto 0;
    max-width: var(--cc-prose);
}
.cc-methodology h3 {
    font-family: var(--cc-font-display);
    font-size: 17px;
    margin: 0 0 var(--cc-space-3);
    font-weight: 500;
}
.cc-methodology p { margin: 0; }

/* ============================================================
   Calculator embed
   ============================================================ */
.cc-calc-embed {
    background: var(--cc-surface);
    border-top: 1px solid var(--cc-border);
    border-bottom: 1px solid var(--cc-border);
    padding: var(--cc-space-6) 0;
}

/* ============================================================
   Single post layout — TOC | article | sidebar
   ============================================================ */
.cc-container--wide {
    max-width: 1400px;
}
.cc-single-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 320px;
    gap: 40px;
    align-items: start;
    padding-top: var(--cc-space-6);
}
.cc-single-main { min-width: 0; }
.cc-single-main .cc-prose { margin: 0; max-width: none; }

/* TOC rail */
.cc-single-toc {
    position: sticky;
    top: 90px;
    align-self: start;
}
.cc-toc {
    border-left: 2px solid var(--cc-border);
    padding-left: var(--cc-space-4);
}
.cc-toc-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--cc-text-faint);
    font-weight: 600;
    margin-bottom: var(--cc-space-3);
}
.cc-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cc-toc-item { line-height: 1.35; }
.cc-toc-item a {
    display: block;
    color: var(--cc-text-muted);
    text-decoration: none;
    font-size: 13px;
    padding: 5px 0;
    transition: color 0.15s ease;
}
.cc-toc-item a:hover { color: var(--cc-text); }
.cc-toc-item a.is-active { color: var(--cc-accent); font-weight: 500; }
.cc-toc-l3 a { padding-left: var(--cc-space-3); font-size: 12px; }

/* Share */
.cc-share {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: var(--cc-space-5);
    padding-left: var(--cc-space-4);
    flex-wrap: wrap;
}
.cc-share-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--cc-text-faint);
    font-weight: 600;
    width: 100%;
    margin-bottom: 2px;
}
.cc-share-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--cc-border-strong);
    background: var(--cc-surface);
    color: var(--cc-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.15s ease, border-color 0.15s ease;
    position: relative;
    padding: 0;
}
.cc-share-btn:hover {
    color: var(--cc-accent);
    border-color: var(--cc-accent);
}
.cc-share-copy .cc-share-copied {
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--cc-text);
    color: var(--cc-bg);
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 4px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}
.cc-share-copy.is-copied .cc-share-copied { opacity: 1; }

/* Full byline (written by / reviewed by / updated) */
.cc-byline-full {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--cc-space-6);
    flex-wrap: wrap;
}
.cc-byline-people {
    display: flex;
    gap: var(--cc-space-6);
    flex-wrap: wrap;
}
.cc-byline-person {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
}
.cc-byline-person .cc-avatar { width: 40px; height: 40px; flex-shrink: 0; }
.cc-byline-role {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cc-text-faint);
}
.cc-byline-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--cc-text);
}
.cc-byline-meta {
    display: flex;
    align-items: center;
    gap: var(--cc-space-3);
    font-size: 13px;
    color: var(--cc-text-faint);
}

/* Sidebar */
.cc-sidebar { min-width: 0; }
.cc-sidebar-sticky {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: var(--cc-space-5);
}
.cc-sidebar-card {
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    padding: var(--cc-space-5);
}
.cc-sidebar-card h3 {
    font-family: var(--cc-font-display);
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 var(--cc-space-2);
}
.cc-sidebar-heading {
    font-size: 13px !important;
    font-family: var(--cc-font-body) !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cc-text-muted);
    font-weight: 600 !important;
    margin-bottom: var(--cc-space-3) !important;
}
.cc-sidebar-newsletter {
    background: var(--cc-surface-alt);
    border-color: var(--cc-border-strong);
}
.cc-sidebar-newsletter p {
    font-size: 13px;
    color: var(--cc-text-muted);
    margin: 0 0 var(--cc-space-3);
}
.cc-newsletter-form--stack {
    flex-direction: column;
    align-items: stretch;
}
.cc-newsletter-form--stack input[type="email"] { min-width: 0; width: 100%; }
.cc-newsletter-form--stack button { width: 100%; }
.cc-sidebar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cc-sidebar-list li { border-top: 1px solid var(--cc-border); }
.cc-sidebar-list li:first-child { border-top: none; }
.cc-sidebar-list a {
    display: block;
    padding: var(--cc-space-3) 0;
    text-decoration: none;
}
.cc-sidebar-list-title {
    display: block;
    font-size: 14px;
    color: var(--cc-text);
    line-height: 1.35;
    font-weight: 500;
}
.cc-sidebar-list a:hover .cc-sidebar-list-title { color: var(--cc-accent); }
.cc-sidebar-list-meta {
    display: block;
    font-size: 11px;
    color: var(--cc-text-faint);
    margin-top: 3px;
}
.cc-sidebar-promo p {
    font-size: 13px;
    color: var(--cc-text-muted);
    margin: 0 0 var(--cc-space-3);
}

/* Market movers (sidebar) */
.cc-movers-period {
    font-family: var(--cc-font-mono);
    font-size: 10px;
    color: var(--cc-text-faint);
    letter-spacing: 0.04em;
    margin-left: 4px;
}
.cc-movers-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.cc-movers-loading,
.cc-movers-empty {
    font-size: 13px;
    color: var(--cc-text-faint);
    padding: var(--cc-space-2) 0;
}
.cc-mover { border-top: 1px solid var(--cc-border); }
.cc-mover:first-child { border-top: none; }
.cc-mover-link {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 8px;
    padding: 9px 0;
    text-decoration: none;
    color: var(--cc-text);
}
a.cc-mover-link:hover .cc-mover-sym { color: var(--cc-accent); }
.cc-mover-id {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.cc-mover-logo {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}
.cc-mover-sym {
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.02em;
}
.cc-mover-price {
    font-family: var(--cc-font-mono);
    font-size: 12px;
    color: var(--cc-text-muted);
    white-space: nowrap;
}
.cc-mover-change {
    font-family: var(--cc-font-mono);
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    min-width: 56px;
    text-align: right;
}

/* ============================================================
   Coins archive table
   ============================================================ */
.cc-coins-section { padding: var(--cc-space-6) 0 var(--cc-space-8); }
.cc-coins-toolbar {
    margin-bottom: var(--cc-space-4);
}
.cc-coins-search {
    width: 100%;
    max-width: 320px;
    background: var(--cc-surface);
    border: 1px solid var(--cc-border-strong);
    border-radius: var(--cc-radius-md);
    padding: 10px 14px;
    font-size: 14px;
    font-family: var(--cc-font-body);
    color: var(--cc-text);
    outline: none;
}
.cc-coins-search:focus { border-color: var(--cc-accent); }
.cc-coins-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
    background: var(--cc-surface);
}
.cc-coins-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.cc-coins-table th {
    text-align: right;
    padding: var(--cc-space-3) var(--cc-space-4);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--cc-text-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--cc-border);
    white-space: nowrap;
    user-select: none;
}
.cc-coins-table th.cc-col-rank { text-align: left; width: 48px; }
.cc-coins-table th.cc-col-name { text-align: left; }
.cc-coins-table th.is-sortable { cursor: pointer; }
.cc-coins-table th.is-sortable:hover { color: var(--cc-accent); }
.cc-coins-table th.is-sorted-asc::after  { content: ' ↑'; color: var(--cc-accent); }
.cc-coins-table th.is-sorted-desc::after { content: ' ↓'; color: var(--cc-accent); }
.cc-coins-table td {
    padding: var(--cc-space-3) var(--cc-space-4);
    border-bottom: 1px solid var(--cc-border);
    text-align: right;
    font-family: var(--cc-font-mono);
    white-space: nowrap;
}
.cc-coins-table tr:last-child td { border-bottom: none; }
.cc-coins-table tbody tr:hover { background: var(--cc-surface-alt); }
.cc-coins-table td.cc-col-rank {
    text-align: left;
    color: var(--cc-text-faint);
    font-size: 13px;
}
.cc-coins-table td.cc-col-name {
    text-align: left;
    font-family: var(--cc-font-body);
}
.cc-coin-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--cc-text);
}
.cc-coin-cell:hover .cc-coin-cell-name { color: var(--cc-accent); }
.cc-coin-cell-logo {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.cc-coin-cell-logo--empty { background: var(--cc-surface-alt); border: 1px solid var(--cc-border); }
.cc-coin-cell-name { font-weight: 500; }
.cc-coin-cell-symbol {
    color: var(--cc-text-faint);
    font-size: 12px;
    font-family: var(--cc-font-mono);
    text-transform: uppercase;
}
.cc-coins-note {
    font-size: 12px;
    color: var(--cc-text-faint);
    margin-top: var(--cc-space-4);
}
.cc-coins-empty {
    text-align: center;
    padding: var(--cc-space-8) var(--cc-space-4);
    background: var(--cc-surface);
    border: 1px solid var(--cc-border);
    border-radius: var(--cc-radius-md);
}
.cc-coins-empty p { margin: 0 0 var(--cc-space-2); color: var(--cc-text); }
.cc-coins-empty-sub { color: var(--cc-text-muted) !important; font-size: 14px; }

/* ============================================================
   Homepage — news layout
   ============================================================ */

/* Coin ticker */
.cc-ticker {
    background: var(--cc-text);
    overflow: hidden;
    border-bottom: 1px solid var(--cc-border);
}
.cc-ticker-track {
    display: flex;
    gap: var(--cc-space-5);
    padding: 10px var(--cc-space-4);
    overflow-x: auto;
    scrollbar-width: none;
}
.cc-ticker-track::-webkit-scrollbar { display: none; }
.cc-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    white-space: nowrap;
    font-size: 13px;
    flex-shrink: 0;
}
.cc-ticker-logo { width: 18px; height: 18px; border-radius: 50%; }
.cc-ticker-sym { color: var(--cc-bg); font-weight: 600; font-family: var(--cc-font-mono); }
.cc-ticker-price { color: #cfc8ba; font-family: var(--cc-font-mono); }
.cc-ticker-chg { font-family: var(--cc-font-mono); font-size: 12px; }

/* Market stats bar */
.cc-marketbar {
    background: var(--cc-surface);
    border-bottom: 1px solid var(--cc-border);
}
.cc-marketbar-inner {
    display: flex;
    gap: var(--cc-space-6);
    padding-top: 10px;
    padding-bottom: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}
.cc-marketbar-inner::-webkit-scrollbar { display: none; }
.cc-mstat { display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 13px; }
.cc-mstat-label { color: var(--cc-text-faint); }
.cc-mstat-val { color: var(--cc-text); font-weight: 600; font-family: var(--cc-font-mono); }

.cc-home { padding-top: var(--cc-space-6); }

/* News row (horizontal) */
.cc-news-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: var(--cc-space-3);
    padding: var(--cc-space-3) 0;
    border-bottom: 1px solid var(--cc-border);
}
.cc-news-row:last-child { border-bottom: none; }
.cc-news-row-thumb {
    display: block;
    aspect-ratio: 16/10;
    border-radius: var(--cc-radius-sm);
    overflow: hidden;
    background: linear-gradient(135deg, #2B2520 0%, #4A3520 100%);
}
.cc-news-row-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cc-thumb-ph {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--cc-accent); font-family: var(--cc-font-mono); font-size: 11px;
    text-align: center; padding: 4px;
}
.cc-news-cat {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cc-accent);
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 4px;
}
.cc-news-row-title {
    font-family: var(--cc-font-display);
    font-size: 16px;
    line-height: 1.3;
    margin: 0 0 4px;
    font-weight: 500;
}
.cc-news-row-title a { color: var(--cc-text); text-decoration: none; }
.cc-news-row-title a:hover { color: var(--cc-accent); }
.cc-news-row-meta { font-size: 12px; color: var(--cc-text-faint); }

/* Lead story */
.cc-lead-thumb {
    display: block;
    aspect-ratio: 16/9;
    border-radius: var(--cc-radius-md);
    overflow: hidden;
    margin-bottom: var(--cc-space-3);
    background: linear-gradient(135deg, #2B2520 0%, #4A3520 100%);
}
.cc-lead-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cc-lead-title {
    font-family: var(--cc-font-display);
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.15;
    margin: 6px 0 var(--cc-space-2);
    font-weight: 500;
    letter-spacing: -0.01em;
}
.cc-lead-title a { color: var(--cc-text); text-decoration: none; }
.cc-lead-title a:hover { color: var(--cc-accent); }
.cc-lead-dek { color: var(--cc-text-muted); font-size: 15px; line-height: 1.5; margin: 0 0 var(--cc-space-2); }

/* Hero block */
.cc-home-hero {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: var(--cc-space-7);
    padding-bottom: var(--cc-space-7);
    border-bottom: 1px solid var(--cc-border);
}
.cc-hero-secondary { display: flex; flex-direction: column; }
.cc-hero-secondary .cc-news-row { grid-template-columns: 96px 1fr; }

/* Latest + sidebar */
.cc-home-main {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--cc-space-7);
    padding: var(--cc-space-7) 0;
}
.cc-home-sidebar { display: flex; flex-direction: column; gap: var(--cc-space-5); }
.cc-section-title, .cc-row-title a { text-decoration: none; color: inherit; }

/* Category blocks */
.cc-cat-block { padding: var(--cc-space-7) 0; border-top: 1px solid var(--cc-border); }
.cc-cat-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--cc-space-6); }
.cc-cat-list { display: flex; flex-direction: column; }
.cc-cat-list .cc-news-row { grid-template-columns: 88px 1fr; }

@media (max-width: 980px) {
    .cc-home-hero { grid-template-columns: 1fr; gap: var(--cc-space-5); }
    .cc-home-main { grid-template-columns: 1fr; }
    .cc-cat-grid { grid-template-columns: 1fr; gap: var(--cc-space-4); }
}
@media (max-width: 1100px) {
    .cc-single-layout {
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: var(--cc-space-6);
    }
    .cc-single-toc { display: none; }
}

@media (max-width: 860px) {
    .cc-nav { display: none; }
    .cc-menu-toggle { display: flex; }

    .cc-hero { padding: var(--cc-space-6) 0; }
    .cc-hero-grid { grid-template-columns: 1fr; gap: var(--cc-space-5); }
    .cc-hero-title { font-size: 28px; }

    .cc-cards { grid-template-columns: 1fr; gap: var(--cc-space-5); }

    .cc-newsletter-inner { flex-direction: column; align-items: flex-start; }
    .cc-newsletter-form { width: 100%; }
    .cc-newsletter-form input[type="email"] { min-width: 0; flex: 1; }

    .cc-footer-inner { grid-template-columns: 1fr; gap: var(--cc-space-6); }
    .cc-footer-cols { grid-template-columns: repeat(2, 1fr); }
    .cc-article-title { font-size: 28px; }
    .cc-article-dek { font-size: 16px; }

    .cc-single-layout {
        grid-template-columns: 1fr;
    }
    .cc-sidebar-sticky { position: static; }
    .cc-sidebar { margin-top: var(--cc-space-6); }

    .cc-byline-full { gap: var(--cc-space-4); }
    .cc-byline-people { gap: var(--cc-space-5); }

    .cc-coin-header .cc-container { flex-direction: column; align-items: flex-start; }
    .cc-coin-price-block { text-align: left; }
    .cc-coin-title { font-size: 28px; }
    .cc-coin-price { font-size: 28px; }
    .cc-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .cc-perf-grid { grid-template-columns: repeat(2, 1fr); }

    .cc-subjects-grid { grid-template-columns: 1fr; }

    .cc-forecast-row { font-size: 13px; }

    .cc-coins-table .cc-hide-sm { display: none; }
    .cc-coin-peers { grid-template-columns: 1fr; }
    .cc-global-grid { grid-template-columns: repeat(2, 1fr); }
    .cc-chart { height: 240px; }
    .cc-authorbox { flex-direction: column; gap: var(--cc-space-3); }
}

@media (max-width: 480px) {
    .cc-stats-grid { grid-template-columns: 1fr; }
    .cc-byline-people { flex-direction: column; gap: var(--cc-space-3); }
    .cc-coins-table th, .cc-coins-table td { padding: var(--cc-space-2) var(--cc-space-3); font-size: 13px; }
}
