/**
 * Vorial Signature — keep homepage / catalogue images inside their layout boxes.
 * Theme reset uses `img { height: auto }` which lets 1500–1920px photos blow out
 * of sliders, cards, lookbooks, and the featured product gallery.
 */

.home .page-wrap,
.elementor-1259 {
	overflow-x: hidden;
}

/* Size Guide: Elementor's `.elementor { overflow-x: hidden }` forces overflow-y
   to auto, which draws a nested scrollbar beside the banner. */
.page .elementor {
	overflow: visible !important;
}

.page .elementor img {
	max-width: 100%;
	height: auto;
}

/* Logo (1024×1024 PNG) */
.logo-header img,
.logo-site img,
#logo img,
.header-fixed img.site-logo,
.modal-menu__panel-footer .logo-panel img {
	max-height: 64px !important;
	max-width: 180px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
}

/* Hero slider */
.tf-slideshow {
	overflow: hidden;
	width: 100%;
}

.tf-slideshow .slideshow-wrap,
.tf-slideshow .sld_image {
	width: 100%;
	overflow: hidden;
}

.tf-slideshow .sld_image img {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center;
	display: block;
}

.elementor-1259 .elementor-element-27c21b5 .slideshow-wrap,
.elementor-1259 .elementor-element-27c21b5 .sld_image,
.elementor-1259 .elementor-element-27c21b5 .sld_image img {
	height: 730px !important;
}

@media (max-width: 767px) {
	.elementor-1259 .elementor-element-27c21b5 .slideshow-wrap,
	.elementor-1259 .elementor-element-27c21b5 .sld_image,
	.elementor-1259 .elementor-element-27c21b5 .sld_image img {
		height: 500px !important;
	}
}

/* Product cards — force width so aspect-ratio can actually shrink 1500px photos */
.card-product .product-img,
.card-product_wrapper {
	display: block;
	width: 100%;
	overflow: hidden;
}

.card-product .img-product,
.card-product .img-hover,
.card-product .product-img img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 330 / 440;
	object-fit: cover;
	display: block;
}

/* Category carousel (676×890 portraits) */
.cat-box .image-box,
.cat-box .image-box .image,
.cat-box .img-style4 {
	width: 100%;
	overflow: hidden;
}

/* Category names on the image cards */
.elementor-1259 .elementor-element-f78fa0e .cat-title,
.elementor-1259 .elementor-element-f78fa0e .name-cls {
	font-size: 16px !important;
	line-height: 1.35 !important;
	font-weight: 500 !important;
}

@media (max-width: 1024px) {
	.elementor-1259 .elementor-element-f78fa0e .cat-title,
	.elementor-1259 .elementor-element-f78fa0e .name-cls {
		font-size: 14px !important;
	}
}

@media (max-width: 767px) {
	.elementor-1259 .elementor-element-f78fa0e .cat-title,
	.elementor-1259 .elementor-element-f78fa0e .name-cls {
		font-size: 13px !important;
	}
}

/* Center the category name box at the bottom, inset from rounded corners */
.elementor-1259 .elementor-element-f78fa0e .cat-box .cat-content {
	left: 50% !important;
	right: auto !important;
	top: auto !important;
	bottom: 22px !important;
	transform: translateX(-50%) !important;
	width: max-content;
	max-width: calc(100% - 40px);
	padding: 10px 18px !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

.cat-box.style-03 .image-box .image {
	aspect-ratio: 338 / 445;
}

.cat-box .image-box img,
.cat-box .img-style4 img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

/* Collection image boxes */
.category-v07 .cate-image,
.amerce-image-box .cate-image {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 16px;
}

.category-v07 .cate-image img,
.amerce-image-box .cate-image img {
	width: 100% !important;
	height: auto !important;
	max-width: 100%;
	aspect-ratio: 914 / 640;
	object-fit: cover;
	display: block;
}

/* Accordion collection image */
.banner-collect-v01 .collect-image {
	overflow: hidden;
	max-height: 700px;
}

.banner-collect-v01 .collect-image img {
	width: 100% !important;
	height: 100% !important;
	max-height: 700px;
	object-fit: cover !important;
	display: block;
}

/* Lookbook */
.banner-lookbook,
.section-lookbook-hover-v03 .banner-lookbook {
	overflow: hidden;
	width: 100%;
}

.banner-lookbook img,
.section-lookbook-hover-v03 .banner-lookbook img,
.section-lookbook-hover-v03 .img-cover,
.section-lookbook-hover-v03 .img-banner {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	max-height: 720px;
	object-fit: cover !important;
	display: block;
}

/* Featured product gallery on the homepage */
.tf-product-feature .flat-single-grid .tf-swiper-wrapper-mobile:not(.swiper-wrapper) {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.tf-product-feature .woocommerce-product-gallery img,
.tf-product-feature .tf-image-zoom {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 480px;
	aspect-ratio: 4 / 5;
	object-fit: cover !important;
}

.tf-product-feature .box-img {
	max-height: 860px;
	overflow: hidden;
}

.tf-product-feature .box-img img {
	width: 100% !important;
	height: 100% !important;
	max-height: 860px;
	object-fit: cover !important;
	display: block;
}

/* Highlight / full-width banner */
.section-highlight {
	overflow: hidden;
}

.section-highlight img,
.section-highlight .img-cover {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: 560px;
	object-fit: cover;
	display: block;
}

@media (max-width: 767px) {
	.tf-product-feature .flat-single-grid .tf-swiper-wrapper-mobile:not(.swiper-wrapper) {
		grid-template-columns: 1fr;
	}

	.tf-product-feature .woocommerce-product-gallery img {
		max-height: 420px;
	}
}

/* Hide Compare on product cards (shop, category, related, Elementor grids) */
.card-product .list-product-btn li.compare,
.card-product .box-icon.compare,
.card-product .wcboost-products-compare-button--loop {
	display: none !important;
}
