/* ============================================================
   CUSTOM SLAB SLIDER (NO SLICK)
   ============================================================ */

.slab-slider {
    position: relative;
    overflow: visible; /* allow left/right peeking */
    width: 100%;
}

/* Each slide is absolutely positioned; JS controls translation */
.slab-slider .single-slab-slide {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;              /* full container width (your 1215px max) */
    max-width: 1215px;        /* keeps your layout consistent */
    transform: translateX(100%); /* default offscreen */
    opacity: 0;
    z-index: 1;
    margin-left: -50%;        /* centers the slide */
    transition: transform 0.45s ease, opacity 0.45s ease;
    box-sizing: border-box;
}

/* ACTIVE SLIDE */
.slab-slider .single-slab-slide.is-active {
    opacity: 1;
    z-index: 3;
    transform: translateX(0%);
}

/* LEFT + RIGHT NEIGHBORS */
.slab-slider .single-slab-slide.is-neighbor {
    opacity: 1;
    z-index: 2;
}

/* ============================================================
   INNER SCALING (REPLACES TRANSFORM ON OUTER SLIDE)
   ============================================================ */

/* Neighbor slides shrink slightly */
.slab-slider .single-slab-slide.is-neighbor .single-slab-slide-inner {
    /*transform: scale(0.9);*/
    transform: scale(0.7);
    opacity: 0.9;
    transition: transform 0.35s ease, opacity 0.35s ease;
    transform-origin: center center;
}

/* Active slide inner content is full size */
.slab-slider .single-slab-slide.is-active .single-slab-slide-inner {
    transform: scale(1);
    opacity: 1;
}

/* Base inner wrapper style */
.slab-slider .single-slab-slide .single-slab-slide-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform 0.35s ease, opacity 0.35s ease;
}



/* ============================================================
   TOP CONTENT SECTION
   ============================================================ */

.slab-slider .single-slab-slide .slab-top {
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.slab-slider .single-slab-slide .slab-top .slab-fake-background {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
}

.slab-slider .single-slab-slide .slab-top .slab-fake-background img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.7);
}

.slab-slider .single-slab-slide .slab-top .slab-top-content {
    position: relative;
    z-index: 2;
    /*max-width: 640px;*/
    max-width: 600px;
    width: 100%;
    padding: 100px 20px 60px;
    margin-left: auto;
    margin-right: auto;
}

.slab-slider .single-slab-slide .slab-top .slab-top-content .slab-title {
    text-align: center;
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
}

.slab-slider .single-slab-slide .slab-top .slab-top-content .slab-text {
    text-align: center;
}

.slab-slider .single-slab-slide .slab-top .slab-top-content .slab-link {
    text-align: center;
}
@media screen and (max-width: 640px){
	.slab-slider .single-slab-slide .slab-top .slab-top-content .slab-link .fusion-button{
	    padding: 11px 14px !important;
		font-size: 14px !important;
	}
}

/* ============================================================
   BOTTOM IMAGE GRID
   ============================================================ */

.slab-slider .single-slab-slide .slab-bottom {
    flex: 0 0 auto;
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    margin-left: -3px;
    margin-right: -3px;
}

.slab-slider .single-slab-slide .slab-bottom .slab-bottom-single-image {
    width: calc(25% - 6px);
    margin-left: 3px;
    margin-right: 3px;
}

.slab-slider .single-slab-slide .slab-bottom .slab-bottom-single-image .image-frame {
    display: inline-block;
    overflow: hidden;
    position: relative;
    max-width: 100%;
    width: 100%;
    line-height: 1;
    transition: all 0.3s ease;
}

.slab-slider .single-slab-slide .slab-bottom .slab-bottom-single-image .image-frame img {
    aspect-ratio: 4/3;
    object-fit: cover;
    width: 100%;
}
@media screen and (max-width: 640px){
	.slab-slider .single-slab-slide .slab-bottom .slab-bottom-single-image {
	    width: calc(50% - 6px);
	}
}

/* ============================================================
   OPTIONAL: GAP TUNING
   ============================================================ */

/* 
You may adjust gap between slides by modifying JS translateX values:

-100% → left neighbor
 100% → right neighbor

These will always give perfect spacing since scale happens *inside* now.
*/




/* ============================================================
   Slide Dots
   ============================================================ */
.slab-slider-dots{
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	display: none;
}
.slab-slider-dots .slab-dot{
	border: solid 1px #FFFFFF;
    border-radius: 50%;
    width: 10px;
    height: 10px;
    padding: 0;
    color: #939393;
    font-size: 1px !important;
    background-color: rgb(0 0 0 / 0%);
    -webkit-transition: background-color ease .2s;
    -o-transition: background-color ease .2s;
    transition: background-color ease .2s;
    margin-left: 5px;
    margin-right: 5px;
}
.slab-slider-dots .slab-dot.is-active{
	background-color: #FFFFFF;
}
@media screen and (max-width: 1350px){
	.slab-slider-dots{
		display: block;
	}
}
