#skills.page {
    /* overflow: hidden; */
    height: fit-content;
}

.skillsCont {
    /* all: unset; */
    position: relative;
    width: 100%;
    height: fit-content;
    display: grid;
    grid-template-columns: repeat(3, auto);
    column-gap: 3rem;
    justify-content: center;
    align-items: stretch;
    transition: height 0.3s ease;


    .container {
        width: 260px;
        height: 260px;
        border-radius: 50%;
        padding: 4px;
        cursor: pointer;
        /* border: 1px solid red; */
        background: transparent;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        z-index: 6;
        /* box-shadow: 0 0 0px 26px rgba(100, 100, 100, 0.3); */
        transition: all 0.3s ease;
        transform-origin: center left;
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.3s ease;
    }

    .container:hover {
        transform: scale(1.03);
    }

    .container.active {
        z-index: 100;
    }

    .blurred {
        filter: blur(4px);
        opacity: 0;
        pointer-events: none;
        transition: all 0.3s ease;
    }

    .icon {
        width: 45%;
        height: 45%;
    }

    .container h2 {
        font-size: 22px;
        font-weight: bold;
        color: rgb(220, 220, 220);
        margin: 12px 0;
        margin-top: 4px;
    }

    .container h1 {
        font-size: 20px;
        font-weight: 800;
        color: #a5a2a2;
    }

    .divider {
        margin: 10px 0;
        border-top: 2px dotted #aaa;
        width: 60px;
    }

    .container p {
        font-size: 14px;
        color: #e7e1e1;
        padding: 0 20px;
        letter-spacing: 1.2px;
    }

    .icon {
        user-select: none;
    }

    /* lines to connect skills to the category */
    .branch-line {
        position: absolute;
        width: 100px;
        height: 4px;
        background-color: rgb(209, 209, 209);
        transform-origin: left center;
        transition: all 0.3s ease;

        z-index: 10000;
        top: 0;
        left: 0;
        /* background-color: red; */
    }

    .tail-line::before {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: white;
        transform: translate(-50%, -50%);
    }

    .tail-line,
    .end-line {
        border-radius: 100px;
    }

    .end-line::after,
    .center-line::after {
        position: absolute;
        content: "";
        top: 50%;
        right: -7px;
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: white;
        transform: translateY(-50%);
    }



    /* Skill Box Styles */
    .skill-wrapper {
        display: flex;
        align-items: center;
        position: absolute;

        max-width: 360px;
        background: rgba(0, 0, 0, 0.5);
        color: white;

        padding: 12px 24px 12px 12px;
        border-radius: 100px;

        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
        z-index: 1;

        /* Optional transition */
        transition: transform 0.3s ease;
    }

    .skill-wrapper:hover {
        transform: scale(1.03);
    }

    .skill-icon {
        height: 70px;
        aspect-ratio: 1;
        margin-right: 16px;
        border-radius: 70px;
        background: rgba(40, 40, 40, 0.3);
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
        z-index: 2;
    }

    .skill-icon .icon {
        width: 60%;
        height: 60%;
        border-radius: 4px;
    }

    .info-box h3 {
        margin-bottom: 8px;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 1px;
    }

    .info-box p {
        font-size: 14px;
        color: #dcdde1;
        line-height: 1.4;
        letter-spacing: 0.3px;
    }

    .end-line::after,
    .center-line::after {
        position: absolute;
        content: "";
        top: calc(100% - 6px);
        right: 0%;
        width: 8px;
        height: 8px;
        border-radius: 8px;
        background-color: white;
        transform-origin: center;
        transform: translateX(25%);
    }

}



@media screen and (max-width :900px) {
    .skillsCont {
        grid-template-columns: repeat(2, auto);
        row-gap: 2rem;
        column-gap: 3rem;
        margin-bottom: 2rem;
    }

    .skill-categories p {
        transform-origin: center;
    }
}

@media screen and (min-width :1440px) {
    .skillsCont {
        column-gap: 15rem !important;
    }

    .container p {
        font-size: 16px;
    }
}

@media screen and (max-width :720px) {
    .skillsCont {
        grid-template-columns: repeat(2, auto);
        row-gap: 2rem;
        column-gap: 1rem;
        margin-bottom: 2rem;
    }

    .skillsCont .container {
        width: 200px !important;
        height: 200px !important;
    }



    .skill-wrapper {
        padding: 12px !important;
    }

    .skill-wrapper .skill-icon {
        margin-right: 0;
    }

    .skill-wrapper .info-box {
        display: none;

        aspect-ratio: 1;
    }

    .end-line {
        position: absolute;
        width: 4px !important;
        height: 80px !important;
    }

}

@media screen and (max-width :500px) {
    .skillsCont {
        grid-template-columns: repeat(1, auto);
        row-gap: 1rem;
        column-gap: 0rem;
        margin-top: 2rem;
    }

    .skillsCont .container {
        width: 220px !important;
        height: 200px !important;
    }

    #skills .under-lg {
        margin-bottom: 1rem;
    }

    .end-line {
        height: 50px !important;
    }

    .skill-icon {
        height: 50px !important;
    }
}


@media screen and (max-width :360px) {

    .skillsCont {
        grid-template-columns: repeat(1, auto);
        row-gap: 3rem;
        column-gap: 0rem;
        margin-top: 2rem;
    }

    .skillsCont .container {
        width: 180px !important;
        height: 180px !important;
    }

    .skill-categories h2 {
        font-size: 18px !important;
    }

    .skill-categories p {
        line-height: 1.2;
    }

    .end-line {
        height: 50px !important;
    }

    .skill-icon {
        height: 50px !important;
    }

    .skill-wrapper {
        padding: 6px !important;
    }
}