﻿
/*Card Container */
.card-standard-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    padding-bottom: 60px;
}

.card-standard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.card-standard-card .card-margin {
    padding: 8px;
}

.card-standard-card .flex-grow-1 {
    flex-grow: 1; /* content expands naturally */
    padding: 15px 20px; /* padding added to the text */
    /*text-align: left;aligns the date to the left*/
}

.card-standard-card .card-body-link {
    margin-top: auto; /* pushes button to bottom */
}


.articleFeature .card-image{
    width: 100%;
    height: 200px; /* fixed height, adjust as you prefer */
    overflow: hidden;
    background-color: #f5f5f5; /*  if no image */
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

    /* Card Image Itself */
    .card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover; /* keeps proportions without stretching */
        display: block;
    }

.card-image {
    position: relative;
}

    .card-image:empty::after {
        content: "No Image";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 0.9rem;
        color: #999;
    }
.card-style-article .card-margin {
    padding-top: 5px; /* or more depending on hover translate */
}

.card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #d81b60;
    margin-bottom: 15px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    text-align: left;
}

.card-text {
    font-size: 0.95rem;
    text-align: left;
    color: #333;
    margin-bottom: 10px;
}
/*Card Body*/
.card-standard-card .article-category,
.card-standard-card .article-date,
.card-standard-card .card-text {
    text-align: left;  /*any additional text elements */

}


/*Card Footer*/
/* CTA Button / Footer */
.card-standard-card .card-body-link,
.card-standard-card .card-footer {
    padding: 8px 0 20px 16px;
    background: transparent !important;
    border-top: 0 !important;
    display: flex;
    justify-content: left; /* left button */
}
.card-standard-card .btn-outline-pink {
    border: 2px solid #001f4d;
    border-radius: 8px;
    font-weight: 600;
    padding: 8px 18px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    color: #001f4d;
    background-color: transparent;
}

    .card-standard-card .btn-outline-pink:hover {
      
        background-color: var(--GC-Aspire);
        color: #fff;
        border-color: var(--GC-Aspire);
    }



/*Solid Strip Under Image */
.card-strip {
    height: 8px; /* */
    width: 100%;
}

    .card-strip.odd {
        background-color: #E68396; /* pink */
    }

    .card-strip.even {
        background-color: #FFF7DC; /* yellow */
    }

.progress {
    margin-top: 20px;
    position: relative;
    z-index: 1;
    bottom: -25px;
}

/*  extra spacing for arrows */


/* Make each slide a flex container so card fills it */
.slick-slide {
    display: flex !important;
    height: auto !important; /* flex will be setting height-finally */
}

/* Track aligns slides correctly */
.slick-track {
    display: flex !important;
    align-items: stretch; /* all slides same height */
}

/* Card inside slide */
.slick-slide .card-standard-card {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto; /* fills slide */
    height: auto !important; /* let flex decide */
}

    /* Card content stretches, button at bottom */
    .slick-slide .card-standard-card .card-body {
        flex-grow: 1;
    }

    .slick-slide .card-standard-card .card-body-link {
        margin-top: auto; /* pushes button to bottom */
    }

/* Optional spacing inside slide */
.card-margin {
    flex: 1 1 auto;
    display: flex;
}


.standard-card .slick-prev,
.standard-card .slick-next {
    top: auto; /* ignore vertical centering */
    bottom: -30px; /* place arrows above padding-bottom */
    z-index: 99;
}

.standard-card .slick-prev {
    left: 10px; /* adjust distance from left edge */
}

.standard-card .slick-next {
    right: 10px; /* adjust distance from right edge */
}

/* Responsive Adjustments*/
@media (max-width: 992px) {
    .card-standard-card {
        margin-bottom: 20px;
    }
}
    @media (max-width: 768px) {
    .card-standard-card {
        margin-bottom: 20px;
    }

    @media (max-width: 480px) {
        /* Full-width card margin */
        .card-margin {
            flex: 1 1 100% !important;
            max-width: 100% !important;
            padding: 0 5px;
        }
        /* Card styling adjustments */
        .card-standard {
            position: relative;
            margin-bottom: 20px;
            border-radius: 8px;
            padding: 0;
            box-shadow: 0 2px 6px rgba(0,0,0,0.08);
        }
        /* Slick: hide all slides first */
        .news-slider .slick-slide {
            display: none !important;
        }
            /* Show only the active slide */
            .news-slider .slick-slide.slick-current {
                display: flex !important;
                flex: 1 1 100% !important;
                max-width: 100% !important;
            }
                /* Card inside active slide */
                .news-slider .slick-slide.slick-current .card-standard-card {
                    height: auto !important;
                }
        /* Hide arrows for mobile */
        .news-slider .slick-prev,
        .news-slider .slick-next {
            display: none !important;
        }
        /* Show dots */
        .news-slider .slick-dots {
            display: block !important;
        }
        /* Font size adjustments */
        .card-title {
            font-size: 1rem !important;
        }

        .card-text {
            font-size: 0.85rem !important;
        }
        /* Card padding */
        .card-standard-card .flex-grow-1 {
            padding: 10px 15px !important;
        }
    }
}
.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 30px;
    line-height: 1;
    opacity: .75;
    color: var(--GC-Aspire);
    -webkit-font-smoothing: antialiased;
}

.progress {
    height: 6px;
    background: #eee;
    width: 100%;
    position: relative;
    overflow: hidden;
    margin-top: 20px;
}

.progress-bar-fill {
    height: 100%;
    width: 0%;
    background: var(--GC-Aspire);
    transition: width 0.3s ease;
}
.btn.btn-outline-pink:focus,
.btn.btn-outline-pink:focus-visible,
.btn.btn-outline-pink:active {
    outline: none !important;
    box-shadow: none !important;
}