:root {
    --light-color: #f9f9f9;

    --light-gray-color: #e5e5e5;
    --blue-color: #120a7f;
    --light-green-color: #a0ce8b;
    
    --dark-bg-color: rgba(39, 48, 57, 0.05);
    --dark-color: #212529;
    
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
}

/* Prevent Horizontal Scroll */
html, body {
    overflow-x: hidden !important;
}

#coin-ticker-wrapper {
    overflow: hidden; /* Hides overflow */
    padding: 5px;
    background: var(--dark-color, #212529);
    color: var(--light-color, #f9f9f9);
    position: relative;
    height: 40px; /* Adjust height for proper display */
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Ensure content starts on-screen */
    width: 100vw; /* Prevents overflow from flex behavior */
    white-space: nowrap; /* Prevents items from wrapping */
}

#coin-ticker {
    display: flex;
    align-items: center;
    white-space: nowrap;
    position: absolute;
    will-change: transform;
    text-align: center;
    left: 0; /* Ensure it starts at the correct position */
}

#coin-ticker a {
    text-decoration: none;
}

#coin-ticker span {
    display: flex;
    align-items: center;
    font-size: 14px;
    gap: 5px; /* Adds spacing between elements */
}

#coin-ticker img {
    width: 30px;
    height: 30px;
    padding: 2px;
    margin-left: 55px;
    margin-right: 5px;
    border-radius: 50%;
    object-fit: cover;
}

#coin-ticker .coin-name {
    color: var(--light-color, #f9f9f9);
    font-weight: bold;
}

#coin-ticker .coin-price {
    color: var(--warning-color, #ffcd04);
    display: flex;
    align-items: center;
    font-size: 14px;
}

#coin-ticker .percentage-up,
#coin-ticker .percentage-down {
    display: flex;
    align-items: center;
    gap: 2px; /* Reduce gap between arrow and percentage */
    margin-left: 0; /* Remove extra spacing */
}

#coin-ticker .dashicons {
    font-size: 16px;
    margin-left: 2px;
    vertical-align: middle;
}

#coin-ticker .percentage-up {
    color: var(--light-green-color, #a0ce8b);
}

#coin-ticker .percentage-down {
    color: var(--danger-color, #dc3545);
}

/* Tables */
table caption {
    text-align: left;
    font-style: italic;
    font-size: smaller;
}

/* Portfolio */

/* General Chart Styling */
#portfolioPieChart, 
#portfolioLineChart, 
#performanceChart {
    height: 400px; /* Set a fixed height */
    width: 100%;
    max-width: 800px; /* Limit maximum width */
    margin: 0 auto; /* Center horizontally */
}

/* Ensure all chart containers maintain equal heights */
.chart-container {
    height: 450px; /* Fixed container height */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--dark-bg-color, rgba(39, 48, 57, 0.05));
    border: 2px solid var(--light-gray-color, #e5e5e5);
    margin-bottom: 20px;
    padding: 20px; /* Provide some spacing inside the container */
    overflow: hidden; /* Prevent overflow from growing the container */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .chart-container {
        height: auto; /* Let height adjust on smaller screens */
    }

    #portfolioPieChart, 
    #portfolioLineChart, 
    #performanceChart {
        height: 300px; /* Adjust height for smaller screens */
        max-width: 100%;
    }
}

/* Ensure canvas fills the card body */
.card-body canvas {
    width: 100%; 
    max-height: 100%; /* Limit height to container */
    height: auto; /* Let the canvas adjust its height dynamically */
}

/* Card */
.card {
    padding: 1rem !important;
    background: var(--dark-bg-color, rgba(39, 48, 57, 0.05));
    border: 2px solid var(--light-gray-color, #e5e5e5);
    color: var(--dark-color, #212529);
    height: 100%; /* Ensures cards stretch to the same height */
}

.card h3.h6 {
    color: var(--gray-color, #6c757d);
}

.card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}

/* Nav Tabs */
li.nav-item > button.nav-link.active {
    color: var(--dark-color, #212529);
    font-weight: bold;
}

li.nav-item > button.nav-link {
    color: var(--gray-color, #6c757d);
    background: var(--dark-bg-color, rgba(39, 48, 57, 0.05));
}

/* Markets Table: Trust Score */
.trust-score-circle {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin: auto;
}

/* Top Coins Widget */
.top-coins-list {
    padding: 0 10px;
}

/* Top Gainers/Losers */
.smarty-cdg-losers {
    background-color: rgba(220, 53, 69, 0.1);
    border-left: 5px solid var(--danger-color,#dc3545);
    border-right: 1px solid var(--danger-color,#dc3545);
}

.smarty-cdg-losers h4 {
    color: var(--danger-color,#dc3545);
    border-color: var(--danger-color,#dc3545);
    font-size: 1.75rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid;
}

.smarty-cdg-gainers {
    background-color: rgba(160, 206, 139, 0.1);
    border-left: 5px solid var(--success-color, #28a745);
    border-right: 1px solid var(--success-color, #28a745);
}

.smarty-cdg-gainers h4 {
    color: var(--success-color, #28a745);
    border-color: var(--success-color, #28a745);
    font-size: 1.75rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid;
}

.smarty-cdg-default {
    background-color: rgba(108,117,125, 0.1);
    border-left: 5px solid var(--gray-color, #6c757d);
    border-right: 1px solid var(--gray-color, #6c757d);
}

.smarty-cdg-default h4 {
    color:var(--gray-color, #6c757d);
    border-color: var(--gray-color, #6c757d);
    font-size: 1.75rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid;
}

@media (max-width: 768px) {
	#cryptoTabs,
	#pills-tab,
	#pills2-tab{
        flex-direction: column !important; /* Stack items vertically */
    }

	#cryptoTabs .nav-item,
    #pills-tab .nav-item,
	#pills2-tab .nav-item {
        width: 100%; /* Make each tab take full width */
        margin-bottom: 5px; /* Add spacing between tabs */
    }

	#cryptoTabs .nav-link,
    #pills-tab .nav-link,
	#pills2-tab .nav-link {
        text-align: center; /* Center text */
        width: 100%; /* Ensure full width */
    }
}

#currenciesDominanceChart, #tvlChainDominanceChart {
    display: block !important;
    min-width: 210px !important;
    min-height: 210px !important;
}

/* Helpers */
.bg-success { 
    background-color: var(--success-color, #28a745) !important; 
}  /* Green for High Trust */

.bg-warning { 
    background-color: var(--warning-color,#ffc107) !important; 
}  /* Yellow for Medium Trust */

.bg-danger  { 
    background-color: var(--danger-color,#dc3545) !important; 
}  /* Red for Low Trust */

.text-secondary-dark { 
    color: var(--dark-color, #212529) !important; 
} /* Dark for neutral change */

.text-success { 
    color: var(--success-color, #28a745) !important; 
} /* Green for positive change */

.text-danger  { 
    color: var(--danger-color, #dc3545) !important; 
} /* Red for negative change */

.table-success {
    --bs-table-color: var(--dark-color) !important;
    --bs-table-bg: #d1e7dd80 !important;
    --bs-table-border-color: #a7b9b1 !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-striped-color: var(--dark-color) !important;
    color: var(--dark-color) !important;
    border-color: var(--bs-table-border-color) !important;
}

.table-danger {
    --bs-table-color: var(--dark-color) !important;
    --bs-table-bg: rgba(220, 53, 69, 0.1) !important;
    --bs-table-border-color: #c6acae !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-striped-color: var(--dark-color) !important;
    color: var(--dark-color) !important;
    border-color: var(--bs-table-border-color) !important;
}