/* ========================
   Card Hover Effect - Perfectly Centered (No Visual Change)
   ======================== */

/* Section ko full-width aur content center karo */
.blogs-section {
    padding: 5rem 0;
}

/* Main container - max-width + auto margin se center */
.blogs-section .container {
    max-width: 1400px;           /* aapke site ke hisaab se adjust kar sakte ho (1200px ya 1300px bhi chalega) */
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Cards grid container - center alignment ke liye justify-content */
.card__container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3.5rem;                 /* row-gap ki jagah gap use kiya */
    justify-content: center;     /* ← yeh line cards ko horizontally center karti hai */
    max-width: 1200px;
    width: 100%;
    margin: 3rem auto 0;         /* top margin + left/right auto */
}

/* Single card - center mein rakhne ke liye justify-self */
.card__article {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;              /* extra safety ke liye */
    justify-self: center;        /* grid item ko center mein laata hai */
}

/* Image - original size preserved */
.card__img {
    width: 100%;
    max-width: 328px;
    border-radius: 1.5rem;
    display: block;
    margin: 0 auto;
}

/* Data Overlay - exact same behavior */
.card__data {
    width: clamp(260px, 85%, 280px);
    background-color: var(--container-color, #ffffff);
    padding: 1.5rem 2rem;
    box-shadow: 0 8px 24px hsla(0, 0%, 0%, 0.15);
    border-radius: 1rem;
    position: absolute;
    bottom: -9rem;
    left: 0;
    right: 0;
    margin-inline: auto;
    opacity: 0;
    transition: opacity 1s 1s;
}

/* Content inside data - same */
.card__description {
    display: block;
    font-size: var(--small-font-size, 0.813rem);
    margin-bottom: 0.25rem;
    color: var(--text-color, #666);
}

.card__title {
    font-size: var(--h2-font-size, 1.25rem);
    font-weight: 500;
    color: var(--title-color, #222);
    margin-bottom: 0.75rem;
}

.card__button {
    text-decoration: none;
    font-size: var(--small-font-size, 0.813rem);
    font-weight: 500;
    color: var(--first-color, #3b8db3);
}

.card__button:hover {
    text-decoration: underline;
}

/* Animations - EXACT SAME (no change) */
.card__article:hover .card__data {
    animation: show-data 1s forwards;
    opacity: 1;
    transition: opacity 0.3s;
}

.card__article:hover {
    animation: remove-overflow 2s forwards;
}

.card__article:not(:hover) {
    animation: show-overflow 2s forwards;
}

.card__article:not(:hover) .card__data {
    animation: remove-data 1s forwards;
}

/* Animations definitions - unchanged */
@keyframes show-data {
    50% { transform: translateY(-10rem); }
    100% { transform: translateY(-7rem); }
}

@keyframes remove-overflow {
    to { overflow: initial; }
}

@keyframes remove-data {
    0% { transform: translateY(-7rem); }
    50% { transform: translateY(-10rem); }
    100% { transform: translateY(0.5rem); }
}

@keyframes show-overflow {
    0% { overflow: initial; pointer-events: none; }
    50% { overflow: hidden; }
}

/* Responsive - center alignment maintain rahega */
@media screen and (max-width: 340px) {
    .card__data {
        width: 250px;
        padding: 1rem;
    }
}

@media screen and (min-width: 768px) {
    .card__container {
        grid-template-columns: repeat(2, minmax(320px, 360px));
        justify-content: center;
        gap: 2.5rem;
    }
}

@media screen and (min-width: 1120px) {
    .card__container {
        grid-template-columns: repeat(3, minmax(320px, 360px));
        justify-content: center;
        gap: 3rem;
    }
    .card__img {
        max-width: 348px;
    }
    .card__data {
        width: 316px;
        padding-inline: 2.5rem;
    }
}