.cg-wrapper-d3c7912e {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.cg-center-mobile-d3c7912e {
    display: none;
    text-align: center;
    padding: 20px;
    background: #eeeeee;
    border-radius: 10px;
    margin-bottom: 20px;
    width: 100%;
}

.cg-graph-container-d3c7912e {
    position: relative;
    width: 400px;
    height: 400px;
    max-width: 100%;
    margin: 0 auto;
}

.cg-graph-bg-d3c7912e {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    /* Default mask, can be overridden by Elementor controls */
    -webkit-mask: radial-gradient(transparent 48%, black 48%);
    mask: radial-gradient(transparent 48%, black 48%);
}

.cg-center-d3c7912e {
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    background: #eeeeee;
    border-radius: 50%;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    overflow: hidden;
}

.cg-content-d3c7912e {
    display: none;
    width: 100%;
    animation: fadein 0.3s ease-in-out;
}

.cg-content-d3c7912e.active {
    display: block;
}

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

/* Arrow masking layer */
.cg-masks-d3c7912e {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    display: none; /* hidden by default, shown if gap > 0 */
}

.cg-arrow-mask-d3c7912e {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 100%;
}

/* Straight line separator */
.cg-arrow-mask-d3c7912e::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0px; /* set by elementor */
    height: 50%; /* center to edge */
    background: white; /* set by elementor */
}

/* SVG Text layer */
.cg-svg-layer-d3c7912e {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: auto; /* allow clicks on svg */
    z-index: 5;
}

.cg-clickable-group-d3c7912e:hover path {
    fill: rgba(0,0,0,0.1); /* feedback on hover */
}

.cg-svg-text-d3c7912e {
    fill: #ffffff;
    font-weight: bold;
}

@media (max-width: 767px) {
    .cg-center-d3c7912e {
        display: none;
    }
    .cg-center-mobile-d3c7912e {
        display: block;
    }
    .cg-graph-container-d3c7912e {
        width: 300px;
        height: 300px;
    }
}
