/* Project-specific styles - scoped to projects pages and homepage carousel */
.projects-page .project-card,
.projects-carousel .project-card {
    position: relative;
    display: block;
}

.projects-page .project-card > a,
.projects-carousel .project-card > a {
    display: block;
    overflow: hidden;
}

.projects-page .project-card__img,
.projects-carousel .project-card__img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
    transition: transform .45s ease;
    margin: 0;
}

/* No upward shift on hover to avoid gaps */
.projects-page .project-card:hover .project-card__img,
.projects-carousel .project-card:hover .project-card__img,
.projects-carousel .owl-item.center .project-card__img {
    transform: none;
}

.projects-page .project-card__title,
.projects-carousel .project-card__title {
    position: absolute;
    padding: 0 15px;
    width: 100%;
    height: 80px;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--dark);
    transition: transform .35s ease, opacity .35s ease;
    transform: translateY(50%);
    opacity: .95;
}

.projects-page .project-card:hover .project-card__title,
.projects-carousel .project-card:hover .project-card__title,
.projects-carousel .owl-item.center .project-card__title {
    transform: translateY(0);
    opacity: 1;
}

.projects-page .project-card__title h5,
.projects-carousel .project-card__title h5 {
    margin: 0;
    color: var(--primary);
}

/* Small responsive tweak */
@media (max-width: 576px) {
    .projects-page .project-card__img,
    .projects-carousel .project-card__img {
        height: 200px;
    }
    .projects-page .project-card__title,
    .projects-carousel .project-card__title {
        height: 60px;
    }
}
