/* ====================================================
   projects.css — Projects section
   ==================================================== */

.projects {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: clamp(16px, 1.1vw, 16px);
    padding: 24px;
    padding-top: clamp(144px, 12vw, 176px);
    box-sizing: border-box;
    background-color: var(--a-color-white);
    scroll-snap-align: start;
}

/* Top Container: Header with background */
.projects__top-container {
    background-color: var(--a-color-beige-50);
    border-radius: clamp(24px, 2.22vw, 32px);
    padding: clamp(32px, 2.78vw, 40px) clamp(24px, 2.22vw, 32px);
    width: 100%;
    box-sizing: border-box;
}

/* Header: Title + Description (2-column layout) */
.projects__header {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(40px, 5.5vw, 120px);
    margin-bottom: clamp(40px, 4vw, 64px);
    max-width: 1920px;
    width: 100%;
}

.projects__title-wrapper {
    display: flex;
    align-items: flex-start;
}

.projects__title {
    font-family: var(--a-font-mono);
    font-size: clamp(48px, 6.5vw, 120px);
    font-weight: 700;
    line-height: 56px;
    color: var(--a-color-black-800);
    margin: 0;
    letter-spacing: -4%;
}

.projects__description {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2vw, 32px);
}

.projects__paragraph {
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: var(--a-color-beige-800);
    margin: 0;
}

/* Card Dates in Top Container */
.projects__card-dates {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.projects__card-date {
    font-family: var(--a-font-mono);
    font-size: clamp(11px, 0.90vw, 13px);
    font-weight: 500;
    color: var(--a-color-beige-600);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.projects__card-status {
    font-family: var(--a-font-mono);
    font-size: clamp(11px, 0.90vw, 13px);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.projects__card-status--progress {
    color: var(--a-color-black-800);
}

.projects__card-status--finished {
    color: var(--a-color-beige-600);
}

.projects__card-status--planning {
    color: var(--a-color-blue-500);
}

.projects__card-status--on-hold {
    color: var(--a-color-yellow-500);
}

.projects__card-status--launching {
    color: var(--a-color-green-500);
}

/* Dates Wrapper for Horizontal Scroll */
.projects__dates-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.projects__dates-wrapper::-webkit-scrollbar {
    display: none;
}

.projects__dates {
    display: inline-flex;
    gap: 16px;
    padding: 0;
    margin: 0;
}

.projects__dates .projects__card-dates {
    flex-shrink: 0;
    width: clamp(400px, 35.5vw, 512px);
}

/* Project Cards Horizontal Scroll */
.projects__cards-wrapper {
    width: calc(100% + 24px);
    margin-right: -24px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.projects__cards-wrapper::-webkit-scrollbar {
    display: none;
}

.projects__cards {
    display: inline-flex;
    gap: 16px;
    padding: 0;
    margin: 0;
}

/* Individual Project Card - Horizontal Layout */
.projects__card {
    flex-shrink: 0;
    width: clamp(400px, 35.5vw, 512px);
    height: clamp(120px, 10.5vw, 152px);
    background-color: var(--a-color-beige-50);
    border-radius: clamp(20px, 2.22vw, 32px);
    overflow: hidden;
    display: flex;
    flex-direction: row;
    transition: transform 0.3s ease;
    box-sizing: border-box;
}

/* .projects__card:hover:not(.projects__card--disabled) {
    transform: translateY(-4px);
} */

/* Disabled Card State */
.projects__card--disabled {
    cursor: not-allowed;
}

.projects__card--disabled .projects__card-image {
    opacity: 0.5;
}

.projects__card--disabled .projects__card-image img {
    filter: grayscale(100%) brightness(1.2);
}

.projects__card--disabled .projects__icon {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Card Image - Left Side */
.projects__card-image {
    position: relative;
    width: clamp(120px, 11.1vw, 160px);
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
    background-color: var(--a-color-beige-100);
    border-radius: clamp(20px, 2.22vw, 32px);
}

.projects__card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Eye Icon on Image */
.projects__icon--eye,
.projects__icon--eye-off {
    position: absolute;
    bottom: 12px;
    left: 12px;
    width: 48px;
    height: 48px;
    padding: 12px;
    background-color: var(--a-color-white);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--a-color-black-800);
}

.projects__icon--eye:hover,
.projects__icon--eye-off:hover:not(:disabled) {
    background-color: var(--a-color-beige-50);
    transform: scale(1.1);
}

.projects__icon--eye-off:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Card Content - Right Side */
.projects__card-content {
    flex: 1;
    padding: clamp(16px, 1.67vw, 24px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* gap: clamp(6px, 0.55vw, 8px); */
    gap: 4px;
}

/* Card Header with Title and Actions */
.projects__card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.projects__card-title {
    /* font-size: clamp(16px, 1.45vw, 21px); */
    font-size: 16px;
    font-family: var(--a-font-mono);
    font-weight: 700;
    line-height: 24px;
    color: var(--a-color-black-800);
    margin: 0;
}

/* Action Icons (Frame Corners + External Link) */
.projects__card-actions {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.projects__icon--frame-corners,
.projects__icon--external-link {
    width: 32px;
    height: 32px;
    background-color: var(--a-color-beige-50);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: var(--a-color-black-800);
}

.projects__icon--frame-corners:hover:not(:disabled),
.projects__icon--external-link:hover:not(:disabled) {
    background-color: var(--a-color-beige-100);
    transform: scale(1.1);
}

.projects__icon--frame-corners:disabled,
.projects__icon--external-link:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.projects__card-category {
    font-size: clamp(12px, 0.97vw, 14px);
    font-weight: 400;
    color: var(--a-color-beige-700);
    margin: 0;
}

.projects__card-description {
    font-size: clamp(12px, 0.97vw, 14px);
    line-height: 1.5;
    color: var(--a-color-beige-800);
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

/* Responsive Adjustments */
@media (max-width: 991px) {
    .projects {
        padding: 120px 24px 48px;
    }

    .projects__top-container {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .projects__header {
        grid-template-columns: 1fr;
        gap: 32px;
        margin-bottom: 32px;
    }

    .projects__title {
        font-size: clamp(40px, 8vw, 64px);
    }

    .projects__card {
        width: clamp(340px, 60vw, 420px);
        height: clamp(100px, 15vw, 140px);
    }

    .projects__card-image {
        width: clamp(100px, 18vw, 140px);
    }

    .projects__dates .projects__card-dates {
        width: clamp(340px, 60vw, 420px);
    }

    .projects__icon--eye,
    .projects__icon--eye-off {
        width: 36px;
        height: 36px;
    }

    .projects__icon--frame-corners,
    .projects__icon--external-link {
        width: 28px;
        height: 28px;
    }
}

@media (max-width: 600px) {
    .projects {
        padding: 100px 24px 40px;
    }

    .projects__top-container {
        padding: 20px 16px;
    }

    .projects__card {
        width: clamp(300px, 75vw, 360px);
        height: auto;
        min-height: 100px;
    }

    .projects__card-image {
        width: clamp(80px, 20vw, 120px);
    }

    .projects__card-content {
        padding: 16px;
    }
}


/* Responsive Adjustments */
@media (max-width: 991px) {
    .projects {
        padding: 120px 24px 48px;
    }

    .projects__top-container {
        padding: 24px 20px;
        border-radius: 24px;
    }

    .projects__header {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .projects__title {
        font-size: clamp(40px, 8vw, 64px);
    }

    .projects__card {
        width: clamp(280px, 70vw, 360px);
    }

    .projects__icon {
        width: 40px;
        height: 40px;
    }

    .projects__icon svg {
        width: 20px;
        height: 20px;
    }
}

@media (max-width: 600px) {
    .projects {
        padding: 100px 24px 40px;
    }

    .projects__top-container {
        padding: 20px 16px;
    }

    .projects__card {
        width: clamp(260px, 80vw, 320px);
    }

    .projects__card-content {
        padding: 20px;
    }
}