/* TOPOVI — кастомные стили витрины (главная/каталог), дополняют перенесённый дизайн. */

.container { max-width: 1280px; margin: 0 auto; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }

.home-section-title {
	font-family: 'Raleway', sans-serif;
	font-weight: 300;
	font-size: 32px;
	line-height: 1.2;
	color: #000;
	margin: 48px 0 24px;
}

/* Каталог: плитки типов камня */
.home-catalog { padding: 24px 0; }
.home-types-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.home-type-card {
	display: block;
	text-decoration: none;
	color: #222;
	border: 1px solid #ececec;
	background: #fff;
	transition: box-shadow .25s, transform .25s;
}
.home-type-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,.08); transform: translateY(-3px); }
.home-type-card__img { aspect-ratio: 4 / 3; background: #f3f3f3; overflow: hidden; }
.home-type-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home-type-card__name {
	font-family: 'Manrope', sans-serif;
	font-weight: 600;
	font-size: 16px;
	text-align: center;
	padding: 16px 10px;
	margin: 0;
}

/* Витрина камней */
.home-featured { padding: 24px 0 64px; }
.product-catalog.grid-layout {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	align-items: stretch;
}
.stone_card {
	display: flex;
	flex-direction: column;
	border: 1px solid #ececec;
	background: #fff;
	position: relative;
}
.stone_card .info { display: block; text-decoration: none; color: #222; padding: 14px; }
.stone_card .product-tags { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.stone_card .product-tags .label {
	background: #007a8a; color: #fff; font-family: 'Manrope'; font-weight: 600;
	font-size: 10px; letter-spacing: .08em; text-transform: uppercase; padding: 4px 8px; margin: 0;
}
.stone_card .stone_cover { width: 100%; aspect-ratio: 1/1; object-fit: cover; display: block; margin-bottom: 12px; background: #f3f3f3; }
.stone_card .stone_name { font-family: 'Manrope'; font-weight: 600; font-size: 16px; margin: 0 0 4px; color: #111; }
.stone_card .stone_company { font-family: 'Manrope'; font-weight: 300; font-size: 13px; color: #888; margin: 0; }

.home-featured__more, .pagination { text-align: center; margin: 36px 0; }
.btn, .home-featured__more .btn {
	display: inline-block; font-family: 'Manrope'; font-weight: 700; font-size: 12px;
	letter-spacing: .12em; text-transform: uppercase; color: #fff; background: #007a8a;
	padding: 14px 28px; text-decoration: none; border: none; transition: background .2s;
}
.btn:hover { background: #005f6b; }

/* Слайдер главной: гарантируем видимость даже без owl-инициализации.
   Перебиваем owl.carousel.min.css `.owl-carousel{display:none}`. */
.main-slider,
.main-slider.owl-carousel { display: block !important; }
.main-slider .slide { position: relative; min-height: 420px; background: #1f2426; overflow: hidden; display: block; }
.main-slider:not(.owl-loaded) .slide:not(:first-child) { display: none; }
.main-slider.owl-loaded .slide { min-height: 420px; }
.main-slider .slide .back, .main-slider .slide > .back img,
.main-slider .slide img { width: 100%; height: 100%; object-fit: cover; }
.main-slider .slide .back { position: absolute; inset: 0; z-index: 1; }
.main-slider .slide .back img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; opacity: .85; }
.main-slider .slide .content_wrapp {
	position: relative; z-index: 2; max-width: 1280px; margin: 0 auto; padding: 80px 20px;
	min-height: 420px; display: flex; flex-direction: column; justify-content: center;
}
.main-slider .slide .content_wrapp h2 {
	font-family: 'Raleway', sans-serif; font-weight: 300; font-size: 44px; line-height: 1.1;
	color: #fff; max-width: 680px; margin: 0 0 24px;
}
.main-slider .slide .slider-link {
	display: inline-block; align-self: flex-start; font-family: 'Manrope'; font-weight: 700;
	font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #fff;
	border: 1px solid rgba(255,255,255,.6); padding: 14px 28px; text-decoration: none;
}
.main-slider .slide .slider-link:hover { background: rgba(255,255,255,.12); }
/* Показываем только первый слайд, если owl не инициализировал карусель (нет .owl-loaded) */
.main-slider:not(.owl-loaded) .slide:not(:first-child) { display: none; }

@media (max-width: 1024px) {
	.home-types-grid, .product-catalog.grid-layout { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.home-types-grid, .product-catalog.grid-layout { grid-template-columns: repeat(2, 1fr); }
	.main-slider .slide .content_wrapp h2 { font-size: 30px; }
	.home-section-title { font-size: 24px; }
}
@media (max-width: 480px) {
	.home-types-grid, .product-catalog.grid-layout { grid-template-columns: 1fr 1fr; gap: 12px; }
}
