@import "../../resources/scss/util/variables";
@import "../../resources/scss/util/mixins";
.block-guides-carousel {
	padding: $grid-gutter-width 0;
	@include bp($md) {
		padding: 0;
	}
	.container {
		padding-right: 0;
	}
	&__slider {
		margin-left: -16px;
		@include bp($md) {
			margin-left: 0;
		}
	}
	&__heading-wrapper {
		@include bp($md) {
			padding-top: rem-calc(70);
		}
	}
	&__heading-wrapper, &__slider-inner {
		@include bp($md) {
			padding-left: 40px;
			padding-right: 40px;
		}
		@include bp($lg) {
			padding-left: 100px;
			padding-right: 100px;
		}
	}
	&__heading {
		font-size: $heading-6;
		margin-bottom: $grid-gutter-width;
	}
	&__slide {
		display: flex;
		flex-direction: column;
		background-color: #4C55A2;
		height: 100%;
		align-items: flex-start;
		@include bp($md) {
			align-items: center;
			flex-direction: row;
			height: auto;
		}
		&-title {
			@include responsive-font($heading-8, $heading-7);
			font-weight: 400;
			line-height: 36px;
			--text-color: var(--white);
		}
		&-image {
			width: 100%;
			position: relative;
			aspect-ratio: 16 / 9;
			@include bp($md) {
				flex: 1 0 auto;
				// width: auto;
				width: rem-calc(220);
				min-height: rem-calc(310);
				height: 100%;
			}
			img {
				display: block;
				width: 100%;
			}
		}
		&-content {
			color: $white;
			padding: 1rem;
			display: flex;
			flex-direction: column;
			height: 100%;
			width: calc(100% - 2rem);
			@include bp($md) {
				padding: 1rem 2rem;
				display: block;
				height: auto;
			}
		}
		&-description {
			margin-bottom: 2rem;
		}
		&-link {
			font-size: 14px;
			margin-top: auto;
			justify-content: center;
			@include bp($md) {
				margin-top: 0;
			}
		}
		.btn {
			&.block-guides-carousel__slide-link {
				border-color: #fff;
				color: #fff;
				&:before {
					border-top-color: #fff;
				}
				&:hover {
					color: $primary;
				}
			}
		}
	}
	.swiper {
		overflow: visible;
		clip-path: inset(0 -100vw -80px 0);
	}
	.swiper-slide {
		height: auto;
	}
	@include slider-navigation;
}
				
			 
			
				
									class GuidesCarousel {
	block;
	constructor(block) {
		this.block = block;
		this.init();
	}
	init() {
		this.swiperElem = this.block.querySelector('.swiper');
		this.paginationElem = this.block.querySelector('.slider-pagination');
		this.prevBtnElem = this.block.querySelector('.slider-button--prev');
		this.nextBtnElem = this.block.querySelector('.slider-button--next');
		this.swiper = new Swiper(this.swiperElem, {
			pagination: {
				el: this.paginationElem,
				type: "custom",
				renderCustom: function (swiper, current, total) {
					return current + '  ' + total;
				}
			},
			navigation: {
				nextEl: this.nextBtnElem,
				prevEl: this.prevBtnElem
			},
            slidesPerView: 1.5,
			centeredSlides: true,
			loop: true,
            spaceBetween: 20,
            breakpoints: {
				768: {
					slidesPerView: 1.10,
					centeredSlides: false,
					loop: false,
					spaceBetween: 20,
				},
				1201: {
					slidesPerView: 1.50,
					centeredSlides: false,
					loop: false,
					spaceBetween: 40,
				},
				1600: {
					slidesPerView: 1.90,
					centeredSlides: false,
					loop: false,
					spaceBetween: 40,
				}
            },
		});
	}
}
document.addEventListener('DOMContentLoaded', () => {
	document.querySelectorAll('.block-guides-carousel').forEach((block) => {
		new GuidesCarousel(block);
	})
});
				
			 
			
				
									{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 2,
    "name": "strategiq/guides-carousel",
    "title": "Guides Carousel",
    "description": "Example block to be used as a template",
    "category": "strategiq",
    "icon": "strategiq",
    "acf": {
        "mode": "preview",
        "renderTemplate": "block-guides-carousel.php"
    },
    "supports": {
        "anchor": true,
        "align": false,
        "color": {
            "background": true,
            "text": false,
            "gradients": false
        },
        "spacing": {
            "padding": [
                "top",
                "bottom"
            ],
            "margin": [
                "top",
                "bottom"
            ]
        }
    },
    "example": {
        "attributes": {
            "mode": "preview",
            "data": {
                "heading_type": "h2",
                "heading_text": "Example - Guides Carousel",
                "content": "This is some example content to represent what the content will look like"
            }
        }
    },
    "style": ["file:../../assets/css/guides-carousel/block-guides-carousel.css"],
    "viewScript": ["guides-carousel"]
}
							 
			
									
						This component is not currently used on any pages.