
/* fear and greed indicator style */
.cfg-indicator-container {
    display: flex;
    flex-direction: column;
    border: 1px solid #e8e8e8;
    border-bottom: 8px solid #e8e8e8;;
    padding: 24px;
    padding-bottom: 13px;
    max-width: 410px;
    background-color: #ffffff;
}

.cfg-indicator-container * {
    /* font-family: "Noto Sans", sans-serif; */
}

.cfg-top-content-holder {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.cfg-main-content-holder {
    display: flex;
    gap: 23px;
    flex-direction: column;
}

#cfg-gauge {
    position: relative;
    display: flex;
    justify-content: center;
    /* overflow: hidden; */
}

.cfg-now-label-gauge {
    font-weight: 700;
}

span.cfg-now-number {
    font-size: 36px;
    font-weight: 700;
    color: #211b2e;
    line-height: 42px;
}

.cfg-now-label {
    font-weight: 500;
    color: #737373;
    font-size: 14px;
}

.cfg-now-label-holder {
    display: flex;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    bottom: 0;
    align-items: center;
}

.cfg-now-holder,
.cfg-yesterday-holder,
.cfg-week-holder {
    display: flex;
    justify-content: space-between;
    color: #737373;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 2px;
}

.cfg-now-label-s,
.cfg-yesterday-label-s,
.cfg-week-label-s {
    font-weight: 600;
}

.cfg-indicator-wrapper {
    display: flex;
    flex-direction: column;
    width: 350px;
    padding-top: 5px;
    align-self: center;
    position: relative;
}

.cfg-sentiment-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cfg-segment {
    transform-origin: center bottom; /* Pivot point at bottom center */
    transform: rotate(-175deg); /* Initial hidden state */
    animation: fanOpen 0.81s cubic-bezier(0.42, 0, 0.58, 1) forwards;
}

.cfg-segment:nth-child(1) {
    animation-delay: 0s;
}

.cfg-segment:nth-child(2) {
    animation-delay: 0.1s;
}

.cfg-segment:nth-child(3) {
    animation-delay: 0.2s;
}

.cfg-segment:nth-child(4) {
    animation-delay: 0.3s;
}

.cfg-segment:nth-child(5) {
    animation-delay: 0.4s;
}

@keyframes fanOpen {
    to {
        transform: rotate(0deg); /* Open to default position */
    }
}

.cfg-subtitle {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 4px;
    margin-top: 20px;
}

/* Needle Animation */
.cfg-needle {
    position: absolute;
    /* width: 2px; */
    height: 131px;
    background: transparent;
    bottom: 0px;
    left: 50%;
    display: flex;
    justify-content: center;
    /* transform-origin: bottom center; */
    transform-origin: bottom center;
    transform: rotate(-90deg) translateX(-50%);
    animation: none;
    z-index: 10;
    /* background: red !important; */
    width: 24px; /* 99 bit fix */
}

/* 99 bit fix */
.cfg-needle svg {
    width: 24px;
    height: 24px;
}

@keyframes needleMove {
    to {
        transform: rotate(var(--needle-rotation)) translateX(calc(-50% - 0px));

    }
}

.cfg-needle svg circle {
    fill: transparent;
    transition: 0.5s ease-in-out;
}

/* Dot Animation */
.cfg-needle svg {
    animation: dotFade 1s ease-in-out forwards;
    animation-delay: 1s; /* Match needle animation delay */
    transform-origin: center;
    opacity: 0;
    transform: scale(0.6);
    display: block;
    overflow: visible;
}

@keyframes dotFade {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.cfg-last-updated {
    font-size: 14px;
    display: none;
}

.cfg-title {
    margin-bottom: 40px;
}

.cfg-indicator-labels {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
}

@keyframes labelFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.cfg-indicator-labels text {
    opacity: 0;
    animation: labelFadeIn 0.5s ease-in-out forwards;
}

text.cfg-indicator--1 {
    animation-delay: 0.7s;
}

text.cfg-indicator--2 {
    animation-delay: 0.8s;
}

text.cfg-indicator--3 {
    animation-delay: 0.9s;
}

text.cfg-indicator--4 {
    animation-delay: 1s;
}

text.cfg-indicator--5 {
    animation-delay: 1.1s;
}

#cfg-gauge {
    position: relative;
}

#cfg-gauge:before,
#cfg-gauge:after {
    position: absolute;
    bottom: -22px;
    font-size: 14px;
    color: #737373;
    width: 28px;
    height: 14px;
    line-height: 14px;
    display: block;
    text-align: center;
    opacity: 0;
    animation: labelFadeIn 0.2s ease-in-out forwards;
    animation-delay: 0.2s;
}

#cfg-gauge:before {
    content: '0';
    left: 12%;
}

#cfg-gauge:after {
    content: '100';
    right: 12%;
}
