/* --- Section 3: Integrations Cloud Layout --- */

.section3-flex-wrapper {
    display: flex;
    gap: 40px;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.section3-text {
    flex: 0 0 35%;
    min-width: 280px;
}

.section3-visual {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Orbit Container */
.integrations-orbit-container {
    position: relative;
    width: 100%;
    max-width: 500px;
    height: 500px;
    margin: 0 auto;
}

/* Cloud Layout */
.orbit-cloud {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

/* Icons - BASE STYLES */
.orbit-icon {
    position: absolute;
    width: 50px;
    height: 50px;
    /* NO bubble - transparent background */
    background: transparent;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    transition: transform 0.3s ease, filter 0.3s ease;
    cursor: pointer;
}

/* ===========================================
   ICON POSITIONING: ORGANIC CLOUD
   Icons spread around brain, avoiding line crossings
   =========================================== */

/* Spread icons organically - no two icons in same path to center */
.orbit-icon:nth-child(1) {
    top: 5%;
    left: 48%;
}

.orbit-icon:nth-child(2) {
    top: 12%;
    left: 72%;
}

.orbit-icon:nth-child(3) {
    top: 8%;
    left: 25%;
}

.orbit-icon:nth-child(4) {
    top: 20%;
    left: 88%;
}

.orbit-icon:nth-child(5) {
    top: 18%;
    left: 8%;
}

.orbit-icon:nth-child(6) {
    top: 32%;
    left: 95%;
}

.orbit-icon:nth-child(7) {
    top: 28%;
    left: 3%;
}

.orbit-icon:nth-child(8) {
    top: 45%;
    left: 92%;
}

.orbit-icon:nth-child(9) {
    top: 42%;
    left: 5%;
}

.orbit-icon:nth-child(10) {
    top: 58%;
    left: 95%;
}

.orbit-icon:nth-child(11) {
    top: 55%;
    left: 2%;
}

.orbit-icon:nth-child(12) {
    top: 70%;
    left: 90%;
}

.orbit-icon:nth-child(13) {
    top: 68%;
    left: 8%;
}

.orbit-icon:nth-child(14) {
    top: 82%;
    left: 78%;
}

.orbit-icon:nth-child(15) {
    top: 80%;
    left: 20%;
}

.orbit-icon:nth-child(16) {
    top: 92%;
    left: 62%;
}

.orbit-icon:nth-child(17) {
    top: 90%;
    left: 35%;
}

.orbit-icon:nth-child(18) {
    top: 95%;
    left: 50%;
}

.orbit-icon:nth-child(19) {
    top: 15%;
    left: 55%;
}

.orbit-icon:nth-child(20) {
    top: 85%;
    left: 10%;
}

.orbit-icon:nth-child(21) {
    top: 75%;
    left: 50%;
}

.orbit-icon:nth-child(22) {
    top: 35%;
    left: 15%;
}

.orbit-icon:hover {
    transform: scale(1.25);
    z-index: 10;
    /* Backlit white glow from behind */
    filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.8)) drop-shadow(0 0 30px rgba(255, 255, 255, 0.4));
}

.orbit-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none;
    transition: filter 0.3s ease;
}

/* Specific icon size adjustments */
.orbit-icon:nth-child(10),
/* Freshworks */
.orbit-icon:nth-child(14),
/* Magento */
.orbit-icon:nth-child(17)

/* Asana */
    {
    width: 70px;
    height: 70px;
}

/* Center Brain */
.orbit-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

/* Connection Canvas */
#integrations-flow-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* ===========================================
   RESPONSIVE: TABLET
   =========================================== */
@media (max-width: 968px) {
    .section3-flex-wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .section3-text {
        flex: 1;
        text-align: center !important;
    }

    .section3-text .section-title,
    .section3-text .section-subtitle {
        text-align: center !important;
    }

    .integrations-orbit-container {
        max-width: 400px;
        height: 400px;
    }

    .orbit-icon {
        width: 40px;
        height: 40px;
    }

    .orbit-center .visual-container {
        width: 150px !important;
        height: 150px !important;
    }
}

/* ===========================================
   RESPONSIVE: MOBILE - SAME CLOUD, BIGGER & CENTERED
   =========================================== */
@media (max-width: 600px) {
    .section3-flex-wrapper {
        flex-direction: column;
        gap: 15px;
        padding: 0 10px;
    }

    .section3-text {
        width: 100%;
        min-width: unset;
    }

    .section3-text .section-title {
        font-size: 1.6rem;
    }

    .section3-visual {
        width: 100%;
        max-width: 100%;
        overflow: visible;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* BIGGER Container - use more screen space */
    .integrations-orbit-container {
        position: relative !important;
        max-width: 340px;
        width: 90vw;
        /* Use 90% of screen width */
        height: 340px;
        margin: 0 auto;
    }

    /* Cloud must be absolute with full dimensions */
    .orbit-cloud {
        position: absolute !important;
        width: 100% !important;
        height: 100% !important;
        top: 0 !important;
        left: 0 !important;
    }

    /* BIGGER Icons, LESS padding so logos fill more */
    .orbit-icon {
        position: absolute !important;
        width: 36px !important;
        height: 36px !important;
        padding: 2px !important;
        /* Less padding = logo fills more */
    }

    /* Brain - bigger for mobile */
    .orbit-center {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }

    .orbit-center .visual-container {
        width: 110px !important;
        height: 110px !important;
    }

    /* Canvas stays visible */
    #integrations-flow-canvas {
        display: block !important;
    }
}