/**
 * Blog Carousel Styles
 * Overrides existing grid layout to allow Slick carousel to work properly
 * Uses aggressive selectors to override styles.css
 */

/* Completely disable flex grid layout for blog-slider carousel */
.blog-slider.columns {
    display: grid !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 6rem 0 6rem !important;
    margin-top: 50px !important;
    position: relative !important;
}

/* Override blog-main styles that conflict with carousel */
.blog-slider.columns.blog-main {
    display: grid !important;
    flex-wrap: nowrap !important;
    align-items: unset !important;
}

/* Ensure carousel track displays properly */
.blog-slider .slick-track {
    display: flex !important;
}

/* Style the slides */
.blog-slider .slick-slide {
    display: flex !important;
    min-height: auto;
}

/* Ensure column items work as carousel slides with proper sizing */
.blog-slider.columns>.column {
    box-shadow: 0 0 10px 0 #67658122 !important;
    margin: 0 10px !important;
    width: 22% !important;
    flex-basis: 22% !important;
    padding: 0 !important;
    min-height: 400px !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    display: flex !important;
}

.blog-slider .column h2,
.blog-slider .column p {
    padding: 20px 40px !important;
}

.blog-slider .column a {
    text-decoration: none !important;
}

.blog-slider .column .subtitle {
    font-size: 14px;
    line-height: 25px;
    font-weight: 700;
    text-transform: uppercase;
    height: 120px;
}

.blog-slider .column p.post-excerpt {
    display: none;
    font-size: 13px;
    line-height: 17px;
}

.blog-slider .column p.post-access {
    font-size: 13px;
    line-height: 17px;
    text-align: right;
    color: #E42128;
}

.blog-slider .column .featured-image img {
    min-height: 260px;
    object-fit: cover;
}

/* Tablet: 2 posts per slide */
@media screen and (max-width: 1023px) {
    .blog-slider.columns>.column {
        width: 45% !important;
        flex-basis: 45% !important;
        margin: 20px !important;
    }
}

/* Mobile: 1 post per slide */
@media screen and (max-width: 768px) {
    .blog-slider.columns>.column {
        width: 100% !important;
        flex-basis: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* Hide dots pagination completely */
.blog-slider .slick-dots {
    display: none !important;
}

.blog-slider .slick-dots button {
    display: none !important;
}

/* Style navigation arrows*/
.blog-slider .slick-arrow {
    /*background: #fff;*/
    height: 100%;
    position: absolute;
    top: 0;
    width: 6rem;
    z-index: 100;
}

.blog-slider .slick-arrow.left {
    left: -50px;
}

.blog-slider .slick-arrow.right {
    right: -50px;
}

.blog-slider .slick-arrow button {
    background: transparent;
    border: none;
    color: #d3ded8;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.blog-slider .slick-arrow button .icon {
    height: 4.7rem !important;
    transition: all .3s ease-in-out;
    width: 4.7rem !important;
}

.blog-slider .slick-arrow button .icon {
    stroke: currentColor;
    stroke-width: 1.7;
    fill: none;
    overflow: hidden;
    vertical-align: middle;
}

/* Ensure arrows are visible on all screens */
@media screen and (min-width: 769px) {

    .blog-slider .slick-prev,
    .blog-slider .slick-next {
        display: block !important;
    }
}

/* Show arrows on mobile too */
@media screen and (max-width: 768px) {

    .blog-slider .slick-prev,
    .blog-slider .slick-next {
        display: block !important;
    }
}