/*
 * Cryptocurrency Styles - Passend zum Börsen-Plugin Design
 * public/css/krypto-cryptocurrency.css
 */

/* Container & Width - Matching Börsen-Seiten */
.krypto-cryptocurrency-single {
    font-family: inherit;
    line-height: 1.6;
    color: var(--kb-text);
}

/* Einheitliche Breite aller Boxen (Hero, Tab-Leiste, Sektionen, Wrapper). border-box, damit
   Innenabstand und Rahmen nicht außen dazukommen – vorher waren Boxen je nach Padding
   1.218 bis 1.280 px breit. 1.266 px = bisherige Breite der meisten Boxen (1.200 + 2 × 32 + 2). */
.krypto-cryptocurrency-single {
    --kb-page-width: var(--kb-width);
}

.krypto-cryptocurrency-single > section,
.krypto-cryptocurrency-single > nav,
.krypto-cryptocurrency-single > div {
    box-sizing: border-box;
    max-width: var(--kb-page-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Mobil: schmaler Rand, damit die Boxen nicht am Bildschirmrand kleben (gilt für alle Tabs und
   die Vergleichsseite; main.… schlägt die eigene Polsterung von .krypto-compare) */
@media (max-width: 768px) {
    main.krypto-cryptocurrency-single {
        padding-left: 8px;
        padding-right: 8px;
        box-sizing: border-box;
    }

    /* Raster-Spalten dürfen schmaler werden als ihr längster Inhalt (sonst Überlauf auf kleinen
       Handys, z. B. On-Chain-Karten 348 px bei 311 px Platz) */
    .krypto-cryptocurrency-single [class*="grid"] > * {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    /* Kopfzeilen mit Titel und Auswahl (z. B. On-Chain-Chart) umbrechen statt überstehen */
    .krypto-cryptocurrency-single .chart-header {
        flex-wrap: wrap;
        gap: 12px;
    }

    .krypto-cryptocurrency-single .chart-controls,
    .krypto-cryptocurrency-single .metric-select {
        max-width: 100%;
        min-width: 0;
    }

    .krypto-cryptocurrency-single .chart-tabs {
        flex-wrap: wrap;
    }
}

/* Hero Section - Crypto Header */
.crypto-hero {
    background: var(--kb-bg);
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.crypto-hero-header {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 32px;
}

.crypto-hero-actions {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 10px;
    margin-left: auto;
}

.crypto-breadcrumb {
    margin-bottom: 12px;
}

.crypto-logo {
    width: 80px;
    height: 80px;
    background: white;
    border-radius: var(--kb-radius);
    padding: 12px;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.crypto-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.crypto-title-group h1 {
    margin: 0 0 8px 0;
    font-size: 2.25rem;
    font-weight: 800;
    color: var(--kb-text);
}

.crypto-subtitle {
    font-size: 1rem;
    color: #6b7280;
    margin: 0;
}

/* Key Metrics Grid */
.crypto-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.metric-card {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
}

.metric-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.metric-label {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.metric-value {
    font-size: 1.75rem;
    font-weight: 800;
    color: var(--kb-text);
    margin-bottom: 4px;
}

.metric-change {
    font-size: 0.875rem;
    font-weight: 600;
}

.metric-change.positive {
    color: #10b981;
}

.metric-change.negative {
    color: #ef4444;
}

.metric-change.neutral {
    color: #6b7280;
}

/* Einleitung / Kurzbeschreibung Section */
.crypto-intro-section {
    background: var(--kb-warn-soft);
    border: 1px solid #fed7aa;
    border-left: 4px solid var(--kb-cta);
    border-radius: 12px;
    padding: 24px 32px;
    margin-bottom: 32px;
    box-shadow: none;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    overflow: hidden;
    max-width: 100%;
    box-sizing: border-box;
}

.crypto-intro-content {
    font-size: 1.0625rem;
    line-height: 1.8;
    color: #374151;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

.crypto-intro-content p {
    margin: 0 0 12px 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

.crypto-intro-content p:last-child {
    margin-bottom: 0;
}

/* Tab Navigation */
.crypto-tabs {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 8px;
    margin-bottom: 32px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    box-shadow: none;
}

.crypto-tab {
    padding: 12px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: #6b7280;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.crypto-tab:hover {
    background: #f9fafb;
    color: var(--kb-text);
    text-decoration: none;
}

.crypto-tab.active {
    background: var(--kb-cta);
    color: white;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

/* Währungsschalter rechts in der Tab-Leiste */
.crypto-tabs-currency {
    display: flex;
    align-items: center;
    margin-left: auto;
    padding: 0 4px;
}

/* Prognose Dashboard */
.prognose-dashboard {
    background: var(--kb-bg);
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.dashboard-title {
    margin: 0 0 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--kb-accent);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--kb-text);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.dashboard-card {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 24px;
    transition: all 0.3s ease;
}

.dashboard-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
    border-color: #d1d5db;
}

.dashboard-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.dashboard-card-label {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 600;
}

.dashboard-card-value {
    font-size: 2rem;
    font-weight: 800;
    color: var(--kb-text);
    line-height: 1;
}

.dashboard-card-subtitle {
    font-size: 0.875rem;
    color: #6b7280;
    margin-top: 8px;
}

/* Hinweis zur Höchstmenge (Feld „Hinweis zur Höchstmenge“), sichtbar unter „Max: …“ */
.crypto-max-supply-note {
    font-size: 0.8rem;
    line-height: 1.4;
    color: #6b7280;
    margin-top: 6px;
    overflow-wrap: anywhere;
}

/* Chart Section */
.chart-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.chart-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0;
}

.chart-badge {
    background: var(--kb-accent);
    color: white;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.chart-legend {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
    justify-content: center;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-color {
    width: 16px;
    height: 16px;
    border-radius: 4px;
}

.legend-label {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 600;
}

.chart-wrapper {
    position: relative;
    height: 350px;
}

/* Prognose Stats */
.prognose-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 24px;
}

.prognose-stat {
    text-align: center;
    padding: 16px;
    background: #f9fafb;
    border-radius: 8px;
    border: 1px solid var(--kb-border);
}

.prognose-stat-label {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.prognose-stat-value {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kb-text);
}

.prognose-stat-change {
    font-size: 0.875rem;
    font-weight: 600;
    margin-top: 4px;
}

/* Perspektiven Section */
.perspektiven-section {
    margin-bottom: 32px;
}

/* Abschnittsüberschrift wie .kb-h2 (blaue Linie wie auf krypto-boersen.com) */
.section-title {
    margin: 0 0 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--kb-accent);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--kb-text);
}

.perspektiven-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.perspektive-card {
    padding: 32px;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.perspektive-card.positive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--kb-good);
}

.perspektive-card.negative::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--kb-bad);
}

.perspektive-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0 0 20px 0;
}

.perspektive-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.perspektive-item {
    position: relative;
    padding-left: 32px;
    line-height: 1.6;
    color: var(--kb-text);
    font-size: 0.9375rem;
}

.perspektive-item.positive::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    background: var(--kb-good);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
    box-shadow: none;
}

.perspektive-item.negative::before {
    content: "✗";
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    background: var(--kb-bad);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
    box-shadow: none;
}

/* Historische Rendite */
.rendite-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.rendite-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 24px;
}

.rendite-year {
    text-align: center;
    padding: 20px;
    background: #f9fafb;
    border-radius: 12px;
    border: 1px solid var(--kb-border);
    transition: all 0.3s ease;
}

.rendite-year:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

.rendite-year-label {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 600;
    margin-bottom: 8px;
}

.rendite-year-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--kb-text);
}

.rendite-year-value.positive {
    color: #10b981;
}

.rendite-year-value.negative {
    color: #ef4444;
}

/* Verwandte Cryptos Grid */
.related-cryptos {
    margin-bottom: 32px;
}

.related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 24px;
}

.related-crypto-card {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    text-decoration: none;
    display: block;
}

.related-crypto-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-4px);
    border-color: #d1d5db;
    text-decoration: none;
}

.related-crypto-logo {
    width: 50px;
    height: 50px;
    margin: 0 auto 12px;
}

.related-crypto-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.related-crypto-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--kb-text);
    margin-bottom: 4px;
}

.related-crypto-symbol {
    font-size: 0.75rem;
    color: #6b7280;
}

/* FAQ Section Styles */
.faq-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.faq-item {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: white;
    border: none;
    cursor: pointer;
    text-align: left;
    font-size: 1rem;
    font-weight: 600;
    color: var(--kb-text);
    transition: all 0.2s ease;
}

.faq-question:hover {
    background: #f9fafb;
}

.faq-question[aria-expanded="true"] {
    background: #f3f4f6;
    border-bottom: 1px solid var(--kb-border);
}

.faq-question-text {
    flex: 1;
    padding-right: 16px;
}

.faq-toggle-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    transition: transform 0.3s ease;
}

.faq-question[aria-expanded="true"] .faq-toggle-icon {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.faq-item.active .faq-answer {
    max-height: 1000px;
}

.faq-answer-content {
    padding: 0 24px 20px 24px;
    color: #374151;
    line-height: 1.6;
    font-size: 0.95rem;
}

.faq-answer-content p {
    margin: 0 0 12px 0;
}

.faq-answer-content p:last-child {
    margin-bottom: 0;
}

/* Bewertung Section */
.content-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

/* Einzelbewertungen - Grid Layout */
.individual-ratings {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.rating-bar-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    background: var(--kb-bg);
    backdrop-filter: blur(10px);
    border-radius: var(--kb-radius);
    border: 1px solid rgba(226, 232, 240, 0.8);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.rating-bar-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #d1d5db, transparent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.rating-bar-item:hover::before {
    opacity: 1;
}

.rating-bar-item:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
    border-color: #d1d5db;
}

.rating-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.rating-label {
    font-weight: 700;
    color: var(--kb-text);
    font-size: 0.9375rem;
}

.rating-bar-item .rating-score {
    font-weight: 800;
    font-size: 1.125rem;
    color: #6b7280;
}

/* Progress Bar */
.progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(226, 232, 240, 0.5);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}

.progress-fill {
    height: 100%;
    background: var(--kb-accent);
    border-radius: 10px;
    transition: width 0.5s ease;
    position: relative;
}

.progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: shimmer 2s infinite;
}

@keyframes shimmer {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(100%);
    }
}

.rating-comment {
    font-size: 0.875rem;
    color: #6b7280;
    font-style: italic;
}

/* Rating Overview - Fazit */
.rating-overview {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 30px;
    margin-top: 40px;
}

.overall-rating {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 30px;
    background: var(--kb-bg);
    color: var(--kb-text);
    border-radius: var(--kb-radius);
    border: 1px solid var(--kb-border);
    box-shadow: none;
    position: relative;
    overflow: hidden;
}

.overall-rating::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--kb-cta);
}

.overall-rating h3 {
    margin: 0 0 24px 0;
    font-size: 0.875rem;
    color: var(--kb-text);
    opacity: 0.7;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.overall-rating .rating-circle {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.overall-rating .rating-score {
    font-size: 4rem;
    font-weight: 800;
    color: var(--kb-text);
    line-height: 1;
}

.overall-rating .rating-max {
    font-size: 1.5rem;
    color: #6b7280;
    font-weight: 700;
}

.rating-breakdown {
    display: flex;
    flex-direction: column;
}

.conclusion-section {
    background: var(--kb-warn-soft);
    padding: 30px;
    border-radius: var(--kb-radius);
    border: 1px solid #fed7aa;
    border-left: 4px solid var(--kb-cta);
    box-shadow: none;
}

.conclusion-section h2 {
    margin-top: 0;
    color: var(--kb-text);
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.conclusion-content {
    line-height: 1.7;
    color: #4b5563;
    font-size: 0.9375rem;
}

.conclusion-content p {
    margin: 0 0 12px 0;
}

.conclusion-content p:last-child {
    margin-bottom: 0;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .crypto-metrics {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rendite-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .rating-overview {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .individual-ratings {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .crypto-hero {
        padding: 20px;
    }

    .crypto-hero-header {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .crypto-title-group h1 {
        font-size: 1.75rem;
    }

    .crypto-intro-section {
        padding: 20px;
    }

    .crypto-intro-content {
        font-size: 1rem;
    }

    .crypto-metrics {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .crypto-tabs {
        padding: 6px;
        gap: 6px;
    }

    .crypto-tab {
        padding: 10px 16px;
        font-size: 0.875rem;
        flex: 1;
        text-align: center;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .perspektiven-grid {
        grid-template-columns: 1fr;
    }

    .chart-wrapper {
        height: 300px;
    }

    .prognose-stats {
        grid-template-columns: 1fr;
    }

    .rendite-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .related-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .faq-question {
        padding: 16px 18px;
        font-size: 0.9375rem;
    }

    .faq-answer-content {
        padding: 0 18px 16px 18px;
        font-size: 0.875rem;
    }

    .faq-accordion {
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .crypto-logo {
        width: 60px;
        height: 60px;
    }

    .crypto-title-group h1 {
        font-size: 1.5rem;
    }

    .metric-value {
        font-size: 1.5rem;
    }

    .dashboard-card-value {
        font-size: 1.75rem;
    }

    .chart-section {
        padding: 20px;
    }

    .chart-wrapper {
        height: 250px;
    }

    .rendite-grid {
        grid-template-columns: 1fr;
    }

    .related-grid {
        grid-template-columns: 1fr;
    }
}

/* Loading States */
.loading-skeleton {
    background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
    border-radius: 8px;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Exchange Comparison Section */
.exchange-comparison-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.section-header {
    margin-bottom: 32px;
    text-align: center;
}

.section-subtitle {
    font-size: 1rem;
    color: #6b7280;
    margin-top: 8px;
}

.exchange-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
    gap: 24px;
    margin-bottom: 24px;
}

.exchange-card {
    background: var(--kb-bg);
    border: 2px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 24px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Gleich hohe Karten: Preis und Knopf unten auf einer Linie (Kurs und Kaufen) */
.exchange-cards-grid .exchange-card {
    display: flex;
    flex-direction: column;
}

.exchange-cards-grid .exchange-price-section {
    margin-top: auto;
}

.exchange-cards-grid .exchange-cta {
    margin-top: 0;
}

.exchange-name .exchange-fee,
.exchange-name .exchange-rating {
    display: block;
    line-height: 1.5;
}

.exchange-name .exchange-rating {
    font-size: 0.8125rem;
    color: #6b7280;
}

.exchange-name .exchange-rating strong {
    color: var(--kb-text);
}

.exchange-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-4px);
    border-color: #d1d5db;
}

.exchange-card.priority-exchange {
    border: 2px solid var(--kb-cta);
    background: var(--kb-warn-soft);
    box-shadow: none;
}

.exchange-card.priority-exchange::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--kb-cta);
}

.exchange-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: var(--kb-cta);
    color: white;
    padding: 6px 12px;
    border-radius: var(--kb-radius);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: none;
}

.exchange-header {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    padding-top: 8px;
}

.exchange-logo {
    width: 64px;
    height: 64px;
    background: white;
    border-radius: 12px;
    padding: 8px;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.exchange-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.exchange-name {
    flex: 1;
}

.exchange-name h3 {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0 0 4px 0;
}

.exchange-fee {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 600;
}

.exchange-price-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
    text-align: center;
}

.exchange-price-label {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.exchange-price {
    font-size: 2rem;
    font-weight: 800;
    color: var(--kb-text);
    margin-bottom: 8px;
    line-height: 1;
}

.exchange-price strong {
    color: var(--kb-text);
}

.exchange-fee-calc {
    font-size: 0.8125rem;
    color: #6b7280;
    font-weight: 500;
}

.loading-spinner {
    display: inline-block;
    color: #9ca3af;
    font-size: 0.9375rem;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.exchange-cta {
    margin-top: 16px;
}

.exchange-button {
    box-sizing: border-box; /* width: 100% plus Padding ragte über den Kartenrand */
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    width: 100%;
    padding: 14px 24px;
    background: var(--kb-cta);
    color: white;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: none;
    border: none;
    cursor: pointer;
}

.exchange-button:hover {
    background: var(--kb-cta-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    color: white;
    text-decoration: none;
}

.exchange-button svg {
    width: 14px;
    height: 14px;
}

.exchange-disclaimer {
    font-size: 0.8125rem;
    color: #6b7280;
    text-align: center;
    margin: 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--kb-border);
}

/* Responsive Exchange Cards */
@media (max-width: 1024px) {
    .exchange-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .exchange-cards-grid {
        grid-template-columns: 1fr;
    }

    .exchange-comparison-section {
        padding: 20px;
    }

    .exchange-card {
        padding: 20px;
    }

    .exchange-price {
        font-size: 1.75rem;
    }

    .exchange-badge {
        font-size: 0.625rem;
        padding: 4px 10px;
    }
}

/* Monthly Performance Section */
.monthly-performance-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.monthly-table-wrapper {
    overflow-x: auto;
    margin-bottom: 24px;
    border-radius: 12px;
    border: 1px solid var(--kb-border);
}

.monthly-performance-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
}

.monthly-performance-table thead {
    background: var(--kb-bg-soft);
}

.monthly-performance-table thead th {
    padding: 16px 20px;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 700;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--kb-border);
}

.monthly-performance-table tbody tr {
    transition: background-color 0.2s ease;
    border-bottom: 1px solid #f3f4f6;
}

.monthly-performance-table tbody tr:hover {
    background-color: #f9fafb;
}

.monthly-performance-table tbody tr:last-child {
    border-bottom: none;
}

.monthly-performance-table td {
    padding: 16px 20px;
    font-size: 0.9375rem;
    color: var(--kb-text);
}

.monthly-performance-table .month-name {
    font-weight: 600;
    color: var(--kb-text);
}

.monthly-performance-table .high-value {
    color: #10b981;
    font-weight: 600;
}

.monthly-performance-table .low-value {
    color: #ef4444;
    font-weight: 600;
}

.monthly-performance-table .change-value.positive,
.monthly-performance-table .change-percent.positive {
    color: #10b981;
    font-weight: 700;
}

.monthly-performance-table .change-value.negative,
.monthly-performance-table .change-percent.negative {
    color: #ef4444;
    font-weight: 700;
}

.monthly-performance-table .change-value.neutral,
.monthly-performance-table .change-percent.neutral {
    color: #6b7280;
}

/* Monthly Summary */
.monthly-summary {
    background: var(--kb-bg);
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 24px;
    margin-top: 24px;
}

.summary-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.summary-stat {
    text-align: center;
    padding: 16px;
    background: white;
    border-radius: 8px;
    border: 1px solid var(--kb-border);
}

.summary-label {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.summary-value {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
}

.summary-value.positive {
    color: #10b981;
}

.summary-value.negative {
    color: #ef4444;
}

/* Responsive Monthly Table */
@media (max-width: 1024px) {
    .summary-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .monthly-performance-table thead th,
    .monthly-performance-table td {
        padding: 12px 16px;
        font-size: 0.875rem;
    }
}

@media (max-width: 768px) {
    .monthly-performance-section {
        padding: 20px;
    }

    .summary-stats {
        grid-template-columns: 1fr;
    }

    .monthly-performance-table {
        font-size: 0.8125rem;
    }

    .monthly-performance-table thead th,
    .monthly-performance-table td {
        padding: 10px 12px;
        font-size: 0.8125rem;
    }

    /* Hide some columns on mobile */
    .monthly-performance-table th:nth-child(4),
    .monthly-performance-table td:nth-child(4),
    .monthly-performance-table th:nth-child(5),
    .monthly-performance-table td:nth-child(5),
    .monthly-performance-table th:nth-child(6),
    .monthly-performance-table td:nth-child(6) {
        display: none;
    }
}

/* Fear & Greed Index Section */
.fear-greed-section {
    background: white;
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    padding: 32px;
    margin-bottom: 32px;
    box-shadow: none;
}

.fear-greed-header {
    margin-bottom: 32px;
}

.fear-greed-container {
    /* Layout wird inline im HTML definiert */
}

.fear-greed-gauge {
    text-align: center;
}

.gauge-background {
    max-width: 300px;
    margin: 0 auto 20px;
}

.gauge-svg {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.1));
}

.gauge-value-container {
    text-align: center;
}

.gauge-value {
    font-size: 3rem;
    font-weight: 800;
    color: var(--kb-text);
    margin-bottom: 8px;
}

.gauge-value strong {
    background: var(--kb-cta);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gauge-label {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.gauge-label.fear-extreme {
    color: #ef4444;
}

.gauge-label.fear {
    color: #f97316;
}

.gauge-label.neutral {
    color: #fbbf24;
}

.gauge-label.greed {
    color: #84cc16;
}

.gauge-label.greed-extreme {
    color: #10b981;
}

.fear-greed-info h3,
.fear-greed-info h4 {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0 0 12px 0;
}

.fear-greed-description {
    margin-bottom: 24px;
}

.fear-greed-description p {
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
}

.fear-greed-legend {
    background: #f9fafb;
    border: 1px solid var(--kb-border);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}

.legend-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.legend-row:last-child {
    margin-bottom: 0;
}

.legend-indicator {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    flex-shrink: 0;
}

.legend-indicator.extreme-fear {
    background: #ef4444;
}

.legend-indicator.fear {
    background: #f97316;
}

.legend-indicator.neutral {
    background: #fbbf24;
}

.legend-indicator.greed {
    background: #84cc16;
}

.legend-indicator.extreme-greed {
    background: #10b981;
}

.legend-text {
    font-size: 0.9375rem;
    color: #4b5563;
    font-weight: 600;
}

.fear-greed-interpretation {
    background: var(--kb-warn-soft);
    border-left: 4px solid var(--kb-cta);
    border-radius: 8px;
    padding: 16px;
}

.fear-greed-interpretation h4 {
    margin: 0 0 8px 0;
}

.fear-greed-interpretation p {
    color: #6b7280;
    line-height: 1.6;
    margin: 0;
    font-size: 0.9375rem;
}

/* Responsive Fear & Greed */
@media (max-width: 1024px) {
    .fear-greed-container {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .gauge-background {
        max-width: 250px;
    }

    .gauge-value {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .fear-greed-section {
        padding: 20px;
    }

    .gauge-background {
        max-width: 200px;
    }

    .gauge-value {
        font-size: 2rem;
    }

    .gauge-label {
        font-size: 1rem;
    }

    .fear-greed-legend {
        padding: 16px;
    }

    .legend-indicator {
        width: 20px;
        height: 20px;
    }

    .legend-text {
        font-size: 0.875rem;
    }
}

/* Unsere Meinung Section */
.crypto-opinion-section {
    margin-bottom: 32px;
}

.crypto-opinion-box {
    background: var(--kb-bg-soft);
    border: 1px solid var(--kb-border);
    border-left: 4px solid #9ca3af;
    border-radius: 12px;
    padding: 30px;
    box-shadow: none;
}

.opinion-content {
    line-height: 1.7;
    color: #374151;
    font-size: 0.9375rem;
}

.opinion-content p {
    margin: 0 0 12px 0;
}

.opinion-content p:last-child {
    margin-bottom: 0;
}

/* Responsive Opinion Box */
@media (max-width: 768px) {
    .crypto-opinion-box {
        padding: 20px;
    }

    .opinion-content {
        font-size: 0.875rem;
    }
}

/* Two-Column Layout with Sticky Sidebar */
.content-with-sidebar {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    align-items: start;
}

.crypto-content-main {
    min-width: 0;
    overflow: hidden;
}

/* Bilder und Medien im Content auf Spaltenbreite begrenzen */
.crypto-content-main img,
.crypto-content img,
.crypto-content-main figure,
.crypto-content figure,
.crypto-content-main iframe,
.crypto-content iframe,
.crypto-content-main video,
.crypto-content video,
.crypto-content-main table,
.crypto-content table {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
}

/* WordPress-spezifische Klassen */
.crypto-content-main .wp-caption,
.crypto-content .wp-caption,
.crypto-content-main .alignnone,
.crypto-content .alignnone,
.crypto-content-main .aligncenter,
.crypto-content .aligncenter,
.crypto-content-main .alignleft,
.crypto-content .alignleft,
.crypto-content-main .alignright,
.crypto-content .alignright {
    max-width: 100% !important;
    height: auto !important;
}

.crypto-content-main .alignleft,
.crypto-content .alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1em;
}

.crypto-content-main .alignright,
.crypto-content .alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1em;
}

.crypto-content-main .aligncenter,
.crypto-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.crypto-exchange-sidebar {
    position: sticky;
    align-self: start;
}

/* Exchange Sidebar Card */
.exchange-sidebar-card {
    background: white;
    border: 2px solid var(--kb-cta);
    border-radius: var(--kb-radius);
    padding: 24px;
    box-shadow: none;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.exchange-sidebar-card:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    transform: translateY(-2px);
}

/* Sidebar Logo */
.exchange-sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.exchange-sidebar-logo img {
    max-width: 120px;
    max-height: 60px;
    object-fit: contain;
}

/* Sidebar Header with Name and Bonus */
.exchange-sidebar-header {
    text-align: center;
    margin-bottom: 24px;
}

.exchange-sidebar-header h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0 0 8px 0;
}

.exchange-bonus-badge {
    display: inline-block;
    background: var(--kb-cta);
    color: white;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: none;
}

/* Sidebar Rating Section */
.exchange-sidebar-rating {
    text-align: center;
    margin-bottom: 24px;
    padding: 20px;
    background: var(--kb-bg);
    border-radius: 12px;
    border: 1px solid var(--kb-border);
}

.rating-label {
    font-size: 0.75rem;
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.rating-value {
    font-size: 2rem;
    font-weight: 800;
    color: var(--kb-text);
    margin-bottom: 12px;
    line-height: 1;
}

.rating-value::after {
    content: '/10';
    font-size: 1.125rem;
    font-weight: 600;
    color: #9ca3af;
    margin-left: 4px;
}

.rating-stars {
    display: flex;
    justify-content: center;
    gap: 4px;
}

.rating-stars .star {
    font-size: 1.5rem;
    line-height: 1;
}

.rating-stars .star.filled {
    color: #fbbf24;
    text-shadow: 0 2px 4px rgba(251, 191, 36, 0.3);
}

.rating-stars .star.empty {
    color: #d1d5db;
}

/* Sidebar Button */
.exchange-sidebar-button {
    display: block;
    width: 100%;
    padding: 14px 24px;
    background: var(--kb-cta);
    color: white;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: none;
    margin-bottom: 12px;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.exchange-sidebar-button:hover {
    background: var(--kb-cta-hover);
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
    color: white;
    text-decoration: none;
}

/* Sidebar Text Link */
.exchange-sidebar-link {
    display: block;
    text-align: center;
    color: #6b7280;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
}

.exchange-sidebar-link:hover {
    color: var(--kb-cta);
    text-decoration: underline;
}

/* Responsive Sidebar Layout */
@media (max-width: 1200px) {
    .content-with-sidebar {
        grid-template-columns: 1fr 320px;
        gap: 24px;
    }

    .exchange-sidebar-card {
        padding: 20px;
    }

    .exchange-sidebar-logo img {
        max-width: 100px;
        max-height: 50px;
    }

    .exchange-sidebar-header h3 {
        font-size: 1.125rem;
    }

    .rating-value {
        font-size: 1.75rem;
    }

    .rating-stars .star {
        font-size: 1.25rem;
    }
}

@media (max-width: 1024px) {
    .content-with-sidebar {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .crypto-exchange-sidebar {
        position: relative;
        top: 0;
        max-width: 500px;
        margin: 0 auto;
    }

    .exchange-sidebar-card {
        padding: 24px;
    }
}

@media (max-width: 768px) {
    .exchange-sidebar-card {
        padding: 20px;
    }

    .exchange-sidebar-logo img {
        max-width: 90px;
        max-height: 45px;
    }

    .exchange-sidebar-header h3 {
        font-size: 1rem;
    }

    .exchange-bonus-badge {
        font-size: 0.6875rem;
        padding: 3px 10px;
    }

    .rating-value {
        font-size: 1.5rem;
    }

    .rating-stars .star {
        font-size: 1.125rem;
    }

    .exchange-sidebar-button {
        padding: 12px 20px;
        font-size: 0.9375rem;
    }
}

/* ===============================================
   Bitcoin On-Chain Metriken Section
   =============================================== */

.onchain-metrics-section {
    margin: 60px 0;
    padding: 40px;
    background: var(--kb-bg);
    border-radius: var(--kb-radius);
    box-shadow: none;
}

/* On-Chain Grid Layout */
.onchain-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    gap: 24px;
    margin: 30px 0;
    overflow: visible;
}

/* On-Chain Metric Card */
.onchain-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: visible;
}

.onchain-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--kb-accent);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.onchain-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.onchain-card:hover::before {
    opacity: 1;
}

.onchain-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.onchain-card-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.onchain-card-info {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: help;
    position: relative;
}

/* Hinweistext (data-tooltip) erscheint schwebend über kb-tip.js – nie abgeschnitten, auch per Tastatur/Antippen */
.onchain-card-info:focus-visible {
    outline: 2px solid var(--kb-accent);
    outline-offset: 2px;
}

.onchain-card-value {
    font-size: 2rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 8px 0;
    line-height: 1.2;
}

.onchain-card-change {
    font-size: 0.875rem;
    font-weight: 600;
    margin: 8px 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.onchain-card-change.bullish {
    color: #10b981;
}

.onchain-card-change.bearish {
    color: #ef4444;
}

.onchain-card-change.neutral {
    color: #64748b;
}

.onchain-card-sparkline {
    margin-top: 16px;
    height: 40px;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.onchain-card-signal {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: var(--kb-radius);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-bullish {
    background: #dcfce7;
    color: #15803d;
}

.badge-bearish {
    background: #fee2e2;
    color: #b91c1c;
}

.badge-neutral {
    background: #f1f5f9;
    color: #475569;
}

/* Historical Chart Container */
.onchain-chart-container {
    margin: 40px 0;
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: none;
}

.chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 16px;
}

.chart-header h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kb-text);
    margin: 0;
}

.chart-controls {
    display: flex;
    align-items: center;
    gap: 16px;
}

.metric-select {
    padding: 8px 16px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #475569;
    background: white;
    cursor: pointer;
    transition: all 0.2s ease;
}

.metric-select:hover {
    border-color: var(--kb-accent);
}

.metric-select:focus {
    outline: none;
    border-color: var(--kb-accent);
    box-shadow: 0 0 0 3px rgba(10, 166, 245, 0.1);
}

.chart-tabs {
    display: flex;
    gap: 8px;
    background: #f1f5f9;
    padding: 4px;
    border-radius: 8px;
}

.chart-tab {
    padding: 8px 16px;
    border: none;
    background: transparent;
    color: #64748b;
    font-size: 0.875rem;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.chart-tab:hover {
    background: rgba(10, 166, 245, 0.1);
    color: var(--kb-accent);
}

.chart-tab.active {
    background: var(--kb-accent);
    color: white;
}

/* Prognose-Signale */
.onchain-signals {
    margin-top: 40px;
}

.onchain-signals h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kb-text);
    margin-bottom: 20px;
}

.signal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
    gap: 20px;
}

.signal-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: none;
    border-left: 4px solid #e2e8f0;
    transition: all 0.3s ease;
}

.signal-card.bullish {
    border-left-color: #10b981;
    background: var(--kb-good-soft);
}

.signal-card.bearish {
    border-left-color: #ef4444;
    background: var(--kb-bad-soft);
}

.signal-card.neutral {
    border-left-color: #64748b;
    background: var(--kb-bg);
}

.signal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.signal-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.signal-card.bullish .signal-icon {
    background: #dcfce7;
}

.signal-card.bearish .signal-icon {
    background: #fee2e2;
}

.signal-card.neutral .signal-icon {
    background: #f1f5f9;
}

.signal-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--kb-text);
}

.signal-description {
    font-size: 0.875rem;
    color: #64748b;
    line-height: 1.6;
}

.signal-strength {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.signal-strength-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
}

.signal-strength-value {
    font-size: 0.875rem;
    font-weight: 700;
}

.signal-card.bullish .signal-strength-value {
    color: #10b981;
}

.signal-card.bearish .signal-strength-value {
    color: #ef4444;
}

.signal-card.neutral .signal-strength-value {
    color: #64748b;
}

/* Responsive Design */
@media (max-width: 768px) {
    .onchain-metrics-section {
        padding: 24px;
        margin: 40px 0;
    }

    .onchain-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .chart-header {
        flex-direction: column;
        align-items: stretch;
    }

    .chart-controls {
        flex-direction: column;
        align-items: stretch;
    }

    .metric-select {
        width: 100%;
    }

    .chart-tabs {
        justify-content: space-between;
    }

    .signal-grid {
        grid-template-columns: 1fr;
    }

    .onchain-chart-container {
        padding: 20px;
    }
}

/* ==========================================================================
   EMA (Exponential Moving Averages) Section
   ========================================================================== */

.ema-section {
    margin: 60px 0;
    padding: 40px;
    background: var(--kb-bg);
    border-radius: var(--kb-radius);
    box-shadow: none;
}

/* EMA Cards Grid */
.ema-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
    gap: 20px;
    margin: 30px 0;
}

.ema-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ema-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.ema-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 12px;
    margin-bottom: 12px;
}

.ema-card-label {
    font-weight: 700;
    font-size: 14px;
    color: var(--kb-text);
}

.ema-card-period {
    font-size: 11px;
    color: #64748b;
    background: #f1f5f9;
    padding: 4px 8px;
    border-radius: 4px;
}

.ema-card-value {
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin: 8px 0;
}

.ema-card-distance {
    font-size: 13px;
    font-weight: 600;
    margin-top: 8px;
}

.ema-card-distance.positive {
    color: #10b981;
}

.ema-card-distance.negative {
    color: #ef4444;
}

/* EMA Trend Card */
.ema-trend-card {
    background: var(--kb-bg);
    border: 2px solid #e2e8f0;
    padding: 24px;
    text-align: center;
}

.ema-trend-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 12px;
}

.ema-trend-icon {
    font-size: 32px;
}

.ema-trend-title {
    font-size: 14px;
    color: #64748b;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ema-trend-value {
    font-size: 28px;
    font-weight: 700;
    margin: 8px 0 12px 0;
}

.ema-trend-value.strong-bullish {
    color: #059669;
}

.ema-trend-value.bullish {
    color: #10b981;
}

.ema-trend-value.neutral {
    color: #64748b;
}

.ema-trend-value.bearish {
    color: #ef4444;
}

.ema-trend-value.strong-bearish {
    color: #dc2626;
}

.ema-trend-description {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

/* EMA Signals */
.ema-signals {
    margin: 40px 0;
}

.ema-signals h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #0f172a;
}

.signal-interpretation {
    margin-top: 12px;
    padding: 12px;
    background: rgba(10, 166, 245, 0.1);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}

/* EMA Chart Container */
.ema-chart-container {
    margin: 40px 0;
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: none;
}

.ema-chart-container .chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 16px;
}

.ema-chart-container .chart-header h3 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.ema-chart-container .chart-tabs {
    display: flex;
    gap: 8px;
}

.ema-chart-container .chart-tab {
    padding: 8px 16px;
    border: 2px solid #e2e8f0;
    background: #ffffff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s;
}

.ema-chart-container .chart-tab:hover {
    border-color: var(--kb-accent);
    color: var(--kb-accent);
    background: #eff6ff;
}

.ema-chart-container .chart-tab.active {
    border-color: var(--kb-accent);
    background: var(--kb-accent);
    color: #ffffff;
}

#ema-chart {
    height: 400px;
}

#ema-chart canvas {
    max-height: 400px;
}

.loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
}

.loading-spinner span {
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-spinner p {
    margin-top: 16px;
    color: #64748b;
    font-size: 14px;
}

/* EMA Info Box */
.ema-info-box {
    margin: 40px 0 0 0;
    padding: 24px;
    background: var(--kb-accent-soft);
    border-radius: 12px;
    border-left: 4px solid var(--kb-accent);
}

.ema-info-box h4 {
    font-size: 16px;
    font-weight: 700;
    color: #1e40af;
    margin: 0 0 16px 0;
}

.ema-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.ema-info-item {
    font-size: 13px;
    line-height: 1.6;
    color: #1e3a8a;
}

.ema-info-item strong {
    display: block;
    color: #1e40af;
    margin-bottom: 4px;
}

.ema-info-box p {
    font-size: 13px;
    line-height: 1.6;
    color: #1e3a8a;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .ema-section {
        padding: 24px 20px;
        margin: 40px 0;
    }

    .ema-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .ema-chart-container {
        padding: 16px;
    }

    .ema-chart-container .chart-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .ema-chart-container .chart-tabs {
        width: 100%;
        justify-content: space-between;
    }

    .ema-chart-container .chart-tab {
        flex: 1;
        padding: 8px 12px;
        font-size: 12px;
    }

    #ema-chart {
        height: 300px;
    }

    .ema-info-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .ema-trend-value {
        font-size: 24px;
    }

    .ema-card-value {
        font-size: 20px;
    }
}

/* Eingabefelder und Intro-Boxen mit width: 100% plus Padding ragten auf dem Handy über den Rand */
.krypto-cryptocurrency-single input,
.krypto-cryptocurrency-single .section-intro {
    box-sizing: border-box;
}

/* Börse ohne hinterlegte Gebühr: kein berechneter Endpreis */
.exchange-price--unknown {
    font-size: 1rem;
    font-weight: 600;
    color: #9ca3af;
}

/* Kompakte Kaufempfehlung (Rechner, Sparplan) */
.crypto-recommendation {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    background: var(--kb-warn-soft);
    border: 2px solid var(--kb-cta);
    border-radius: var(--kb-radius);
    padding: 24px 28px;
    margin-bottom: 32px;
}

.crypto-recommendation-exchange {
    display: flex;
    align-items: center;
    gap: 16px;
}

.crypto-recommendation-exchange img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--kb-border);
    padding: 6px;
    box-sizing: border-box;
}

.crypto-recommendation-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #d97706;
}

.crypto-recommendation-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--kb-text);
}

.crypto-recommendation-facts {
    display: flex;
    gap: 12px;
    font-size: 0.875rem;
    color: #6b7280;
}

.crypto-recommendation-text p {
    margin: 0;
    color: #4b5563;
    line-height: 1.6;
}

.crypto-recommendation-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 240px;
}

.crypto-recommendation-compare {
    color: #6b7280;
    font-size: 0.875rem;
    text-decoration: none;
}

.crypto-recommendation-compare:hover {
    color: #d97706;
}

@media (max-width: 900px) {
    .crypto-recommendation {
        grid-template-columns: 1fr;
    }

    .crypto-recommendation-actions {
        min-width: 0;
    }
}

.crypto-recommendation-price {
    margin-top: 6px;
    font-size: 0.9375rem;
    color: #4b5563;
}

.crypto-recommendation-price strong {
    color: #d97706;
}

/* Börsen-Karten: Trust Score, Regulierung, Sparplan, Staking */
.exchange-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 12px 0 4px;
}

.exchange-trust {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 0.75rem;
    color: #4b5563;
}

.exchange-trust-label {
    font-weight: 600;
}

.exchange-badge-chip {
    padding: 3px 9px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Das Wichtigste in Kürze */
.crypto-summary-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
    gap: 12px;
    margin: 0 0 20px;
}

.crypto-summary-fact {
    padding: 14px 16px;
    border: 1px solid var(--kb-border);
    border-radius: 10px;
    background: #f9fafb;
}

.crypto-summary-fact dt {
    margin: 0 0 4px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
}

.crypto-summary-fact dd {
    margin: 0;
}

.crypto-summary-fact dd strong {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
}

.crypto-summary-fact dd span {
    display: block;
    margin-top: 2px;
    font-size: 0.8125rem;
    color: #6b7280;
}

.crypto-summary-jumps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.crypto-summary-jumps-label {
    margin-right: 4px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #374151;
}

.crypto-summary-jumps a {
    padding: 6px 12px;
    border: 1px solid var(--kb-border);
    border-radius: 999px;
    background: #fff;
    color: #374151;
    font-size: 0.8125rem;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s;
}

.crypto-summary-jumps a:hover,
.crypto-summary-jumps a:focus-visible {
    border-color: var(--kb-cta);
    color: #b45309;
}

@media (max-width: 600px) {
    .crypto-summary-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 16px;
    }

    .crypto-summary-fact {
        padding: 10px 12px;
    }

    .crypto-summary-fact dd strong {
        font-size: 1rem;
    }

    .crypto-summary-jumps {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0 -4px;
        padding: 0 4px 4px;
        scrollbar-width: thin;
    }

    .crypto-summary-jumps a,
    .crypto-summary-jumps-label {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

/* Klickbare Fakten (Link über die ganze Karte) */
.crypto-summary-fact.is-link {
    position: relative;
    transition: border-color 0.15s, background 0.15s;
}

.crypto-summary-fact.is-link:hover,
.crypto-summary-fact.is-link:focus-within {
    border-color: var(--kb-cta);
    background: #fffaf2;
}

.crypto-summary-more {
    display: block;
    margin-top: 2px;
    font-size: 0.8125rem;
    color: #b45309;
    text-decoration: none;
}

.crypto-summary-more::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 10px;
}

.crypto-summary-more:focus-visible {
    outline: none;
}

.crypto-summary-fact.is-link:focus-within {
    outline: 2px solid var(--kb-cta);
    outline-offset: 2px;
}

/* Sprungziele nicht unter der Admin-Bar bzw. einem festen Header verstecken */
.krypto-cryptocurrency-single section[id] {
    scroll-margin-top: 90px;
}

@media (max-width: 768px) {
    .crypto-tabs-currency {
        flex-basis: 100%;
        justify-content: center;
        margin-left: 0;
        padding-top: 4px;
    }
}

/* kb-ui-Angleichung: Überschriften wie .kb-h2/.kb-h3. Höhere Spezifität, weil die gemeinsamen
   Börsen-Stylesheets (comparison.css, content.css) .section-title und .content-section h2 global setzen. */
.krypto-cryptocurrency-single .section-title,
.krypto-cryptocurrency-single .dashboard-title,
.krypto-cryptocurrency-single h2.chart-title,
.krypto-cryptocurrency-single .content-section h2,
.krypto-cryptocurrency-single .crypto-content-main h2 {
    width: fit-content; /* blaue Linie nur so lang wie der Text */
    max-width: 100%;
    margin: 0 0 20px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--kb-accent);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--kb-text);
}

.krypto-cryptocurrency-single .content-section h3,
.krypto-cryptocurrency-single .crypto-content-main h3 {
    margin: 24px 0 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--kb-text);
}

.krypto-cryptocurrency-single .chart-header h2.chart-title {
    margin: 0;
}

/* Eigene Icons (kb-icons) statt Zeichen und Emojis in ::before/::after */
.perspektive-item.positive::before {
    content: "";
    border-radius: 0;
    background: var(--kbi-check-good) center / contain no-repeat;
    color: transparent;
    font-size: 0;
    width: 22px;
    height: 22px;
}
.perspektive-item.negative::before {
    content: "";
    border-radius: 0;
    background: var(--kbi-cross-bad) center / contain no-repeat;
    color: transparent;
    font-size: 0;
    width: 22px;
    height: 22px;
}

/* ===== Box-Regeln (siehe docs/DESIGN-REGELN.md) =====
   Ebene 1: Jeder Abschnitt direkt in <main> (bzw. in einer Gruppe wie den Jahresprognosen) ist eine Karte –
   weiß, Rahmen, 12 px Radius, Innenabstand --kb-pad, 24 px Abstand. Ausnahmen mit eigener Fläche:
   Kurzbeschreibung und Empfehlung (Hinweiskarten). Navigation (Tab-Leiste) ist eine Leiste. */
main.krypto-cryptocurrency-single > section,
main.krypto-cryptocurrency-single > .pm-years > section {
    box-sizing: border-box;
    margin-top: 0;
    margin-bottom: var(--kb-gap);
    padding: var(--kb-pad);
    border: 1px solid var(--kb-border);
    border-radius: var(--kb-radius);
    background: var(--kb-bg);
    box-shadow: none;
}

main.krypto-cryptocurrency-single > section.crypto-intro-section,
main.krypto-cryptocurrency-single > section.crypto-recommendation {
    background: var(--kb-warn-soft);
}

main.krypto-cryptocurrency-single > .pm-years {
    margin-bottom: 0;
}

main.krypto-cryptocurrency-single > nav.crypto-tabs {
    margin-bottom: var(--kb-gap);
}

/* Info-Symbol neben Kennzahl-Titeln: nur das Icon, mittig zur Textzeile (kein alter Kreis) */
.krypto-cryptocurrency-single .indicator-header .volume-card-label {
    margin-bottom: 0;
}

.krypto-cryptocurrency-single .indicator-tooltip,
.krypto-cryptocurrency-single .onchain-card-info {
    width: auto;
    height: auto;
    border-radius: 0;
    background: none;
    line-height: 1;
}

.krypto-cryptocurrency-single .indicator-tooltip:hover,
.krypto-cryptocurrency-single .onchain-card-info:hover {
    background: none;
    transform: none;
}

.krypto-cryptocurrency-single .indicator-tooltip .kb-icon,
.krypto-cryptocurrency-single .onchain-card-info .kb-icon {
    width: 18px;
    height: 18px;
}

/* Ebene 2: innerhalb einer Karte keine zweite weiße Rahmen-Karte über die volle Breite –
   Zusammenfassungen als graue Fläche, Diagramme und verschachtelte Bereiche ohne eigenen Rahmen. */
.krypto-cryptocurrency-single .monthly-summary,
.krypto-cryptocurrency-single .ema-card.ema-trend-card {
    border: 0;
    background: var(--kb-bg-soft);
    box-shadow: none;
}

main.krypto-cryptocurrency-single > section section.prognose-dashboard,
main.krypto-cryptocurrency-single > section div.prognose-dashboard {
    margin: 24px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

/* Abschnitts-Untertitel linksbündig unter der Überschrift (wie alle Texte in Karten) */
main.krypto-cryptocurrency-single > section .section-subtitle {
    margin: -8px 0 16px;
    color: var(--kb-muted);
    font-size: 16px;
    text-align: left;
}

/* Karten-Kästen der Unterseiten (Aufbewahrung, Anbieter-Kästen für ETP und Sparplan) – gemeinsam, weil sie
   auf Kaufen und Sparplan-Rechner vorkommen. Vorher nur in crypto/kaufen.css. */
.crypto-timing-note {
    margin: 14px 0 0;
    font-size: 0.8125rem;
    color: #6b7280;
}

/* Aufbewahrung und Steuern */
.crypto-storage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
    gap: 16px;
}

.crypto-storage-card {
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--kb-border);
    border-radius: 10px;
    background: #fff;
}

/* Knopf unten und so breit wie die Karte – in allen Karten gleich groß */
.crypto-storage-card p:has(> .kb-btn) {
    margin-top: auto;
    padding-top: 10px;
}

.crypto-storage-card .kb-btn {
    display: flex;
    width: 100%;
}

.crypto-storage-card h3 {
    margin: 0 0 4px;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--kb-text);
}

.crypto-storage-card p {
    margin: 10px 0 0;
    color: #4b5563;
    font-size: 0.9375rem;
    line-height: 1.6;
}

.crypto-storage-card .crypto-storage-for {
    margin-top: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #b45309;
}

.crypto-storage-pro::before,
.crypto-storage-con::before {
    display: inline-block;
    width: 1.25em;
    font-weight: 700;
}

.crypto-storage-pro::before {
    content: "+";
    color: #059669;
}

.crypto-storage-con::before {
    content: "\2212";
    color: #b91c1c;
}

.crypto-storage-note {
    margin-top: 20px;
    padding: 16px 20px;
    border-left: 4px solid var(--kb-accent);
    border-radius: 8px;
    background: #eff6ff;
    color: #1e3a8a;
    line-height: 1.7;
}

.crypto-storage-note strong {
    font-weight: 700;
}

.crypto-storage-note p {
    margin: 4px 0 0;
}

/* FAQ der Unterseiten (Kaufen: automatische Fragen; alle Tabs: Fragen aus „Texte der Unterseiten“) */
.crypto-buy-faq-item {
    border: 1px solid var(--kb-border);
    border-radius: 10px;
    background: #fff;
    margin-bottom: 10px;
}

.crypto-buy-faq-item summary {
    position: relative;
    padding: 16px 48px 16px 20px;
    font-weight: 600;
    color: var(--kb-text);
    cursor: pointer;
    list-style: none;
}

.crypto-buy-faq-item summary::-webkit-details-marker {
    display: none;
}

.crypto-buy-faq-item summary::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.25rem;
    color: var(--kb-cta);
}

.crypto-buy-faq-item[open] summary::after {
    content: "\2212";
}

.crypto-buy-faq-item summary:focus-visible {
    outline: 2px solid var(--kb-cta);
    outline-offset: 2px;
    border-radius: 10px;
}

.crypto-buy-faq-item p {
    margin: 0;
    padding: 0 20px 18px;
    color: #4b5563;
    line-height: 1.7;
}

/* Einleitung und Redaktionstext der Unterseiten */
.kb-tab-intro {
    max-width: 820px;
    margin: 0 0 24px;
    color: #4b5563;
    font-size: 1.05rem;
    line-height: 1.7;
}

.kb-tab-intro p {
    margin: 0 0 10px;
}

.kb-tab-text {
    color: #4b5563;
    line-height: 1.8;
}

.kb-tab-text h2 {
    margin: 28px 0 12px;
    color: var(--kb-text);
    font-size: 1.5rem;
}

.kb-tab-text > :first-child {
    margin-top: 0;
}

.kb-tab-text h3 {
    margin: 22px 0 10px;
    color: var(--kb-text);
    font-size: 1.2rem;
}

.kb-tab-text p,
.kb-tab-text ul,
.kb-tab-text ol {
    margin: 0 0 14px;
}

.kb-tab-text ul,
.kb-tab-text ol {
    padding-left: 22px;
}

.kb-tab-text a {
    color: var(--kb-cta);
}

/* Eckdaten/Technologie-Karten der Coin-Übersicht: Beschriftung nie zusammendrücken („Kernmerkma-l:“),
   langer Wert bricht rechtsbündig zwischen Wörtern um */
.dashboard-card div[style*="space-between"] > :first-child,
.exchange-details div[style*="space-between"] > :first-child {
    flex: none;
    margin-right: 14px;
    white-space: nowrap;
}

.dashboard-card div[style*="space-between"] > :last-child,
.exchange-details div[style*="space-between"] > :last-child {
    min-width: 0;
    text-align: right;
    overflow-wrap: break-word;
}

/* Anzeige-Platzierung in der Kaufen-Liste (Krypto_Sponsored) */
.exchange-card--ad {
    position: relative;
    border-color: #e0c97a;
    background: #fffdf6;
}

.exchange-ad-tag {
    position: absolute;
    top: 12px;
    right: 12px;
}
/* Empfehlungs-Karte: gleichmäßiger Rand (vorher zusätzlicher 4-px-Balken oben) */
.exchange-card.priority-exchange::before {
    display: none;
}
