.signpost-heading-holder {
    margin-bottom: 48px;
}

.signpost-swiper-holder:has(.signpost-slider:not(.slider-disabled)) {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
}

.signpost-box-img-wrap {
    width: 100%;
    padding-bottom: 81%;
    position: relative;
    clip-path: polygon(0 0, 100% 0%, 82% 100%, 0% 100%);
    margin-bottom: 40px;
}

.signpost-box-img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}

.signpost-box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shape-front {
    position: absolute;
    top: 0;
    right: 0px;
    width: 17.5%;
    height: 100%;
    background: #F1B605;
    transform: skewX(-12.5deg);
    transform-origin: top right;
    z-index: 3;
    clip-path: polygon(100% 0%, 100% 100%, 5% 90%);
}

.shape-back {
    position: absolute;
    top: 0;
    right: 0px;
    width: 15.5%;
    height: 100%;
    background: #C4BFB6;
    mix-blend-mode: multiply;
    transform: skewX(-12.5deg);
    transform-origin: top right;
    z-index: 2;
    clip-path: polygon(100% 0%, 100% 100%, 0% 94%);
}

.signpost-box-title {
    font-size: 25px;
    line-height: 1.35;
    letter-spacing: -0.01em;
    margin-bottom: 12px;
}

.slider-disabled .signpost-slider-list.swiper-wrapper {
    flex-wrap: wrap;
}

.slider-disabled.signpost-slider .signpost-slider-list {
    width: calc(100% + 30px);
    margin-left: -15px;
    margin-bottom: -30px;
}

.slider-disabled.signpost-slider .signpost-slider-item {
    width: 50%;
    padding: 0 15px;
    margin-bottom: 30px;
}

.signpost-btn-link {
    margin-top: 44px;
}

/* ========================================== 
! Large devices (desktops, less than 1200px)
=========================================== */
@media (max-width:1199.98px) {}

/*==========================================
! Medium devices (tablets, less than 992px)
========================================== */
@media (max-width:991.98px) {
    .signpost-swiper-holder:has(.signpost-slider:not(.slider-disabled)) {
        padding-left: 12px;
        padding-right: 12px;
    }

    .signpost-slider:not(.slider-disabled) .signpost-slider-item.swiper-slide {
        width: 340px;
    }
}

/* Mobile: slide width fits inside viewport so first/last slides aren't cut off (JS uses slidesOffset 24px each side) */
@media (max-width:767.98px) {
    .signpost-slider:not(.slider-disabled) .signpost-slider-item.swiper-slide {
        width: min(340px, calc(100vw - 96px));
    }
}

/* =================================================  
! Small devices (landscape phones, less than 768px)
================================================= */
@media (max-width:767.98px) {
    .signpost-heading-holder {
        margin-bottom: 30px;
    }

    .slider-disabled.signpost-slider .signpost-slider-list {
        width: 100%;
        margin-left: 0;
        margin: 0;
    }

    .slider-disabled.signpost-slider .signpost-slider-item {
        width: 100%;
        padding: 0;
    }

    .slider-disabled.signpost-slider .signpost-slider-item {
        margin-bottom: 0;
    }

    .slider-disabled.signpost-slider .signpost-slider-item+.signpost-slider-item {
        margin-top: 54px;
    }

    /* Swiper uses slidesOffsetBefore/After 24px so first/last slides stay visible; no extra padding */
    .signpost-swiper-holder:has(.signpost-slider:not(.slider-disabled)) {
        padding-left: 0;
        padding-right: 0;
    }

    .signpost-box-img-wrap {
        margin-bottom: 36px;
    }

    .signpost-btn-link {
        margin-top: 34px;
    }
}

/* ======================================================
! Extra small devices (portrait phones, less than 576px)
====================================================== */
@media (max-width:575.98px) {}

/* =========== signpost Slider CSS END =========== */