@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400&family=Poppins:wght@700&display=swap');

.cpw-section-dbb6d045 {
    width: 100%;
    background-color: #FEFDFA;
    padding: 80px 20px;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
    overflow: hidden;
}

.cpw-header-dbb6d045 {
    text-align: center;
    margin-bottom: 60px;
}

.cpw-heading-dbb6d045 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(28px, 4vw, 42px);
    color: #1F2E22;
    margin: 0 0 16px;
    line-height: 1.2;
}

.cpw-subheading-dbb6d045 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: clamp(15px, 2vw, 18px);
    color: #767B70;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

.cpw-wheel-container-dbb6d045 {
    position: relative;
    width: 100%;
    max-width: 620px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}

.cpw-dashed-ring-dbb6d045 {
    position: absolute;
    top: 50px;
    bottom: 50px;
    left: 50px;
    right: 50px;
    border-radius: 50%;
    border: 2px dashed rgba(75, 107, 69, 0.35);
    z-index: 1;
}

.cpw-hub-dbb6d045 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 160px;
    height: 160px;
    background-color: #4B6B45;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 16px;
    z-index: 3;
    box-shadow: 0 10px 30px rgba(75, 107, 69, 0.2);
    padding: 20px;
    box-sizing: border-box;
}

.cpw-node-wrapper-dbb6d045, .cpw-arrow-wrapper-dbb6d045 {
    position: absolute;
    top: 50px;
    bottom: 50px;
    left: 50%;
    width: 0;
    transform: rotate(var(--angle));
    z-index: 4;
}

.cpw-node-dbb6d045 {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%) rotate(calc(-1 * var(--angle)));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.cpw-node-dbb6d045:hover {
    transform: translate(-50%, -55%) rotate(calc(-1 * var(--angle)));
}

.cpw-icon-dbb6d045 {
    width: 60px;
    height: 60px;
    background-color: #F2EDE0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    color: #4B6B45;
    font-size: 24px;
    margin-bottom: 8px;
}

/* Ensure SVG icons are visible within Elementor icon wrapper */
.cpw-icon-dbb6d045 svg {
    width: 28px;
    height: 28px;
    fill: currentColor; /* Assuming filled SVGs are used by Elementor standard */
}

.cpw-icon-dbb6d045 i {
    color: #4B6B45;
}

.cpw-text-dbb6d045 {
    text-align: center;
    white-space: nowrap;
    position: absolute;
    top: 100%;
    margin-top: 4px;
    background: rgba(254, 253, 250, 0.85);
    padding: 4px 8px;
    border-radius: 4px;
}

.cpw-title-dbb6d045 {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #1F2E22;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.cpw-subtitle-dbb6d045 {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    color: #767B70;
}

.cpw-arrow-dbb6d045 {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0; 
    height: 0; 
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid #4B6B45;
    transform: translate(-50%, -50%) rotate(90deg);
}

@media (max-width: 768px) {
    .cpw-wheel-container-dbb6d045 {
        transform: scale(0.85);
    }
    .cpw-text-dbb6d045 {
        background: transparent;
    }
}

@media (max-width: 480px) {
    .cpw-wheel-container-dbb6d045 {
        transform: scale(0.65);
        margin: -10% auto;
    }
    .cpw-hub-dbb6d045 {
        font-size: 14px;
        width: 120px;
        height: 120px;
    }
    /* Hide the text content below the process nodes on mobile site */
    .cpw-text-dbb6d045 {
        display: none;
    }
    .cpw-node-dbb6d045 {
        margin-bottom: 0; /* Remove margin space as text is hidden */
    }
}