/* AI skill section */

.ai-skill {
    background: var(--second-bg-color);
}


.ai-skill-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);

    align-items: center;

    gap: var(--space-xl);

    width:
        min(
            100%,
            var(--container-width)
        );

    margin-inline: auto;
}


.ai-skill-image {
    width:
        min(
            100%,
            45rem
        );

    margin-inline: auto;
}


.ai-skill-image img {
    width: 100%;

    aspect-ratio: 4 / 3;

    object-fit: cover;

    border:
        0.3rem solid var(--main-color);

    border-radius:
        var(--border-radius-md);

    box-shadow:
        0 0 2.5rem var(--main-color);
}


.ai-skill-content h3 {
    margin-bottom:
        var(--space-md);

    font-size:
        var(--font-size-subheading);

    line-height: 1.2;
}


.ai-skill-content p {
    margin-bottom:
        var(--space-md);

    font-size:
        var(--font-size-base);

    line-height: 1.7;
}


.ai-applications {
    display: grid;

    gap:
        var(--space-sm);
}


.ai-applications li {
    display: flex;

    align-items: flex-start;

    gap:
        var(--space-sm);

    font-size:
        var(--font-size-base);

    line-height: 1.6;
}


.ai-applications li i {
    flex-shrink: 0;

    margin-top: 0.2rem;

    color:
        var(--main-color);

    font-size: 2rem;
}



/* Portfolio section */

.portfolio {
    display: flex;

    flex-direction: column;

    justify-content: center;

    background:
        var(--bg-color);
}


.portfolio-container {
    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    align-items: center;

    gap:
        var(--space-xl);

    width:
        min(
            100%,
            var(--container-width)
        );

    margin-inline: auto;
}


.portfolio-detail {
    display: none;
}


.portfolio-detail.active {
    display: block;
}


.portfolio-box .numb {
    color: transparent;

    font-size:
        clamp(
            5rem,
            8vw,
            8rem
        );

    line-height: 1;

    -webkit-text-stroke:
        0.07rem var(--text-color);
}


.portfolio-box h3 {
    margin:
        var(--space-xs)
        0
        var(--space-sm);

    font-size:
        clamp(
            2.8rem,
            4vw,
            3.5rem
        );

    line-height: 1.2;
}


.portfolio-box p {
    font-size:
        var(--font-size-base);

    line-height: 1.7;
}


.portfolio-box .tech {
    margin:
        var(--space-md)
        0;

    padding-bottom:
        var(--space-md);

    border-bottom:
        0.1rem solid var(--text-color);

    color:
        var(--main-color);
}



/* Project links */

.portfolio-box .live-github {
    display: flex;

    justify-content: flex-start;

    gap:
        var(--space-sm);
}


.portfolio-box .live-github a {
    position: relative;

    display: inline-flex;

    justify-content: center;
    align-items: center;

    width: 5.5rem;
    height: 5.5rem;

    background:
        var(--second-bg-color);

    border-radius:
        var(--border-radius-round);

    color:
        var(--text-color);

    font-size: 3rem;

    transition:
        color var(--transition-normal),
        transform var(--transition-normal);
}


.portfolio-box .live-github a:hover {
    color:
        var(--main-color);

    transform:
        translateY(-0.3rem);
}


.portfolio-box
.live-github
a:first-child i {
    transform:
        rotate(135deg);
}


.portfolio-box
.live-github
a span {
    position: absolute;

    top: -1.2rem;
    left: 50%;

    padding:
        0.5rem
        1rem;

    border-radius:
        var(--border-radius-sm);

    background:
        var(--text-color);

    color:
        var(--bg-color);

    font-size: 1.4rem;

    white-space: nowrap;

    pointer-events: none;

    opacity: 0;

    transform:
        translate(-50%, -100%)
        scale(0.95);

    transition:
        opacity var(--transition-fast),
        transform var(--transition-fast);
}


.portfolio-box
.live-github
a:hover span,

.portfolio-box
.live-github
a:focus-visible span {
    opacity: 1;

    transform:
        translate(-50%, -100%)
        scale(1);
}



/* Portfolio carousel */

.portfolio-carousel {
    width: 100%;

    overflow: hidden;

    border-radius:
        var(--border-radius-md);
}


.portfolio-carousel
.img-slide {
    display: flex;

    width: 100%;

    transition:
        transform
        0.5s
        ease-in-out;
}


.portfolio-carousel
.img-item {
    flex:
        0 0 100%;

    min-width: 100%;
}


.portfolio-carousel
.img-item img {
    width: 100%;

    aspect-ratio:
        16 / 10;

    object-fit: cover;

    border-radius:
        var(--border-radius-md);
}



/* Carousel navigation */

.portfolio-box
.navigation {
    display: flex;

    justify-content: flex-end;

    gap:
        var(--space-sm);

    margin-top:
        var(--space-md);
}


.portfolio-box
.navigation button {
    display: inline-flex;

    justify-content: center;
    align-items: center;

    width: 5rem;
    height: 5rem;

    background:
        var(--second-bg-color);

    border:
        0.2rem solid var(--main-color);

    border-radius:
        var(--border-radius-sm);

    color:
        var(--main-color);

    font-size: 3.2rem;

    transition:
        background var(--transition-normal),
        color var(--transition-normal),
        opacity var(--transition-normal);
}


.portfolio-box
.navigation
button:hover:not(.disabled) {
    background:
        var(--main-color);

    color:
        var(--bg-color);
}


.portfolio-box
.navigation
button.disabled {
    opacity: 0.35;

    cursor: not-allowed;
}



/* Tablet */

@media (max-width: 900px) {

    .ai-skill-container,
    .portfolio-container {
        grid-template-columns: 1fr;
    }


    .ai-skill-content,
    .portfolio-box:first-child {
        text-align: center;
    }


    .portfolio-box
    .live-github {
        justify-content: center;
    }


    .portfolio-box
    .navigation {
        justify-content: center;
    }
}



/* Mobile */

@media (max-width: 520px) {

    .ai-skill-content p,
    .ai-applications li,
    .portfolio-box p {
        font-size:
            var(--font-size-small);
    }


    .portfolio-box
    .live-github a {
        width: 4.8rem;
        height: 4.8rem;

        font-size: 2.6rem;
    }


    .portfolio-box
    .navigation button {
        width: 4.4rem;
        height: 4.4rem;

        font-size: 2.8rem;
    }
}