/*
Theme Name: Zabor Proflist
Theme URI: https://zabor-proflist.by/
Description: 1:1 тема переноса zabor-proflist.by (Simpla / Smarty). Стили и картинки из design/default.
Author: Zabor Proflist
Version: 1.2.3
Text Domain: zabor-proflist
*/

.zabor-notice,
.zabor-sent {
	margin: 16px auto;
	max-width: 720px;
	padding: 12px 16px;
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
	color: #1b5e20;
	text-align: center;
}

/* Catalog listing — original Simpla .zoom / .tc */
.container.pdn-img {
	margin-top: 20px;
	margin-bottom: 30px;
}
.container.pdn-img:after {
	content: "";
	display: table;
	clear: both;
}
.container.pdn-img a.zoom {
	max-height: 219px;
	min-height: 219px;
	display: block;
	overflow: hidden;
	margin-bottom: 20px;
	border-radius: 5px;
}
.container.pdn-img a.zoom img,
.container.pdn-img img {
	width: 100%;
	height: 219px;
	object-fit: cover;
	border-radius: 5px;
}
a.tc {
	z-index: 1;
	text-align: center;
	display: block;
	color: #000;
	font-size: .9em;
	min-height: 95px;
	font-family: FuturisB, Arial, sans-serif;
}
a.tc:hover {
	color: #0a388c;
	text-decoration: none;
}

/* Product card / page */
.product {
	overflow: hidden;
	margin-bottom: 30px;
}
.product .image,
.product .image a.zoom {
	display: block;
	max-height: none;
	min-height: 0;
	overflow: hidden;
	margin-bottom: 15px;
}
.product .image img,
.product .image a.zoom img,
.product .col-md-6 > a.zoom img,
.product .col-md-6 > img {
	max-width: 100%;
	width: 100%;
	height: auto;
	max-height: none;
	min-height: 0;
	display: block;
}
.product .images {
	margin: 10px 0 20px;
}
.product .images a {
	display: inline-block;
	margin: 0 8px 8px 0;
	max-height: none;
	min-height: 0;
}
.product .images img {
	width: 95px;
	height: 95px;
	object-fit: cover;
	border: 1px solid #e0e0e0;
	padding: 3px;
}
.product-price,
.product .price {
	font-family: FuturisB, Arial, sans-serif;
	font-size: 18px;
	color: #0A388C;
	margin: 15px 0;
}
.product .description {
	margin-top: 0;
}
.h1-head {
	display: block;
	margin-top: 15px;
}
.description table {
	margin: 0 0 25px;
	border-collapse: collapse;
	font-size: 14px;
	width: 100%;
}
.description table tr:nth-child(2n) {
	background-color: #f5f5f5;
}
.description td {
	padding: 10px;
	border: 1px solid #d0d0d0;
}
.description th {
	background-color: #363539;
	color: #fff;
	font-weight: 700;
	border: 1px solid #d0d0d0;
	padding: 12px;
}

/* Sticky header fallback (also in index-style) */
.f-nav {
	z-index: 999;
	position: fixed;
	width: 100%;
	top: 0;
	background: #fff;
}

/* WP content wrappers should not break Bootstrap floats */
.page img {
	max-width: 100%;
	height: auto;
}
.product .image img,
.product .image a.zoom img {
	height: auto;
}

/* -------------------------------------------------------------------------
   Spacing system (8px grid). Desktop stays dense/recognizable; mobile breathes.
   --z-space-xs 8 | sm 16 | md 24 | lg 40 | xl 56
   ------------------------------------------------------------------------- */
:root {
	--z-blue: #0A388C;
	--z-space-xs: 8px;
	--z-space-sm: 16px;
	--z-space-md: 24px;
	--z-space-lg: 40px;
	--z-space-xl: 56px;
	--z-tap: 44px;
}

html,
body {
	overflow-x: hidden;
	max-width: 100%;
}
.page {
	overflow-x: hidden;
}

section.section-wh {
	padding-top: var(--z-space-xl);
	padding-bottom: var(--z-space-xl);
}
section.section-wh.four-steps {
	padding-top: var(--z-space-lg);
	padding-bottom: var(--z-space-lg);
}
h2.zg-h2 {
	margin-bottom: var(--z-space-lg);
}
p.ch-4h {
	margin-bottom: var(--z-space-lg);
}
section.section-wh.four-steps h4,
section.step-5 h4,
section.portfolio h4,
section.configurator h4 {
	margin-bottom: var(--z-space-xs);
}
.lead-offer {
	margin-top: var(--z-space-lg);
}
p.lead-text {
	margin-top: var(--z-space-md);
}
section.lead-m1 a.button-lead,
a.button-lead,
a.button-lead2 {
	margin-top: var(--z-space-md);
	margin-bottom: var(--z-space-lg);
}
section.blk-prm {
	margin-top: var(--z-space-xl);
	margin-bottom: 0;
}
section.step-5 {
	padding-top: var(--z-space-xl);
	padding-bottom: var(--z-space-xl);
}
section.configurator {
	margin-top: var(--z-space-lg);
	margin-bottom: var(--z-space-lg);
	padding-bottom: var(--z-space-lg);
}
section.portfolio {
	margin-top: var(--z-space-lg);
	margin-bottom: var(--z-space-xl);
}
section.contacts-blk {
	padding-bottom: 0;
}
.col-lg-12.contacts {
	margin-top: var(--z-space-lg);
	margin-bottom: 0;
}
footer h6 {
	margin-bottom: var(--z-space-md);
	margin-top: var(--z-space-lg);
}
.container-fluid.bl-line {
	margin-top: var(--z-space-xl);
}
.breadcrumb {
	margin-top: var(--z-space-sm);
	margin-bottom: var(--z-space-sm);
}
h1.h1-zg {
	margin-bottom: var(--z-space-md);
}
.page-seo h1,
.section-wh.page-seo h1 {
	margin-bottom: var(--z-space-md);
}
.page-seo article,
.section-wh.page-seo article {
	margin-bottom: var(--z-space-lg);
}

.hea.f-nav {
	left: 0;
	right: 0;
	width: 100%;
	box-shadow: 0 2px 12px rgba(10, 56, 140, 0.12);
	background: #fff;
	z-index: 999;
}

.header-menu-btn {
	display: none;
}
.btn-call-phone {
	display: none;
}

.product .image a.zoom {
	cursor: zoom-in;
}
.product .images a.zoom {
	cursor: zoom-in;
}
.product-cta {
	margin: var(--z-space-sm) 0 var(--z-space-md);
}
.product-price .price,
.product .price {
	font-size: 22px;
	font-weight: 700;
	white-space: nowrap;
}

.catalog-card {
	margin-bottom: var(--z-space-md);
}
.container.pdn-img .catalog-card:nth-child(3n+1) {
	clear: left;
}

section.section-wh.production .production-ass.row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 20px;
	margin-left: 0;
	margin-right: 0;
}
section.section-wh.production .production-ass.row:before,
section.section-wh.production .production-ass.row:after {
	content: none !important;
	display: none !important;
}
section.section-wh.production .production-card,
section.section-wh.production .col-lg-4.production-card {
	width: 100% !important;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 0 !important;
	display: block !important;
	min-width: 0;
}
section.section-wh.production .production-card > a {
	display: block;
	position: relative;
	text-decoration: none;
	overflow: hidden;
	border-radius: 20px;
	height: 100%;
	background: #0a388c;
}
section.section-wh.production .production-card img,
section.section-wh.production .production-cover {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}
section.section-wh.production .production-cover {
	background: linear-gradient(135deg, #0a388c 0%, #1d5bb8 100%);
}
section.section-wh.production .production-card .blk-price-name {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin-top: 0 !important;
	min-height: 0 !important;
	padding: 40px 14px 12px;
	background: linear-gradient(to top, rgba(0, 0, 0, .82) 0%, rgba(0, 0, 0, .35) 55%, transparent 100%);
}
section.section-wh.production .production-card h3 {
	width: 100% !important;
	max-width: 100%;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

a,
button,
.btn,
.slider-btn,
.navbar-toggle,
.header-phone-btn {
	touch-action: manipulation;
}

.fancybox-container {
	z-index: 100000 !important;
}

@media (max-width: 991px) {
	section.section-wh.production .production-ass.row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}
	section.section-wh.production .production-card img,
	section.section-wh.production .production-cover {
		height: 168px;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.container.pdn-img .catalog-card:nth-child(3n+1) {
		clear: none;
	}
	.container.pdn-img .catalog-card:nth-child(2n+1) {
		clear: left;
	}
	.header__social--inline {
		position: static;
		margin-top: 10px;
		margin-left: 8px;
	}
}

@media (min-width: 992px) {
	.product .col-md-6 {
		float: left;
		width: 50%;
	}
}

@media only screen and (max-width: 767px) {
	.container.pdn-img .catalog-card:nth-child(3n+1) {
		clear: none;
	}
	.container.pdn-img .catalog-card:nth-child(2n+1) {
		clear: left;
	}

	html {
		-webkit-text-size-adjust: 100%;
	}

	section.section-wh {
		padding-top: var(--z-space-lg);
		padding-bottom: var(--z-space-lg);
	}
	h2.zg-h2,
	p.ch-4h,
	section.portfolio p.ch-4h {
		margin-bottom: var(--z-space-md);
	}

	/* Header: logo + phone + hamburger, no overlap */
	header {
		min-height: 60px;
	}
	.container.hea {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: nowrap;
		min-height: 60px;
		padding-top: 6px;
		padding-bottom: 6px;
		position: relative;
	}
	.block-logo {
		float: none;
		width: auto;
		max-width: 58%;
		z-index: 2;
		position: relative;
		flex: 0 1 auto;
	}
	.container.hea img.img-responsive.logo,
	.block-logo img.img-responsive.logo {
		width: 128px;
		max-width: min(128px, 46vw);
		height: auto;
		margin: 0;
	}
	.block-navigation {
		float: none;
		width: auto;
		margin-top: 0;
		margin-left: auto;
		flex: 0 0 auto;
	}
	.navbar {
		margin-bottom: 0;
		min-height: 0;
	}
	.navbar-header {
		display: flex;
		align-items: center;
		float: none;
		margin: 0;
	}
	.header-phone-btn,
	a.header-phone-btn.telephone {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: var(--z-tap);
		height: var(--z-tap);
		margin: 0 2px 0 0;
		position: relative;
	}
	.navbar-header i.fas.fa-phone-alt,
	.header-phone-btn i.fas.fa-phone-alt {
		position: static;
		display: inline-block;
		color: #f29d00;
		font-size: 22px;
		right: auto;
		top: auto;
	}
	.header-menu-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: var(--z-tap);
		height: var(--z-tap);
	}
	.navbar-toggle {
		float: none;
		margin: 0;
		padding: 10px;
		width: var(--z-tap);
		height: var(--z-tap);
		border-color: transparent !important;
	}
	.navbar-default .navbar-toggle {
		border-color: transparent !important;
	}
	.navbar-toggle .icon-bar {
		width: 22px !important;
		height: 3px !important;
	}
	.navbar-default .navbar-toggle .icon-bar {
		background-color: #0a388c !important;
	}

	.hea.f-nav {
		padding-top: 4px;
		padding-bottom: 4px;
		min-height: 56px;
	}

	/* Catalog: 2 columns, readable title + price */
	.container.pdn-img {
		margin-top: var(--z-space-sm);
		margin-bottom: var(--z-space-md);
	}
	.container.pdn-img .catalog-card {
		padding-left: 8px;
		padding-right: 8px;
		margin-bottom: var(--z-space-md);
	}
	.container.pdn-img a.zoom {
		min-height: 0;
		max-height: none;
		margin-bottom: 8px;
		border-radius: 6px;
	}
	.container.pdn-img img,
	.container.pdn-img a.zoom img {
		height: 132px;
		object-fit: cover;
	}
	a.tc {
		min-height: 48px;
		margin-bottom: 0;
		padding: 0 2px 8px;
		font-size: 13px;
		line-height: 1.3;
	}

	/* Home/catalog assortment: 2-col grid, overlay titles, no overflow */
	section.section-wh.production {
		overflow-x: hidden;
	}
	section.section-wh.production .container {
		overflow-x: hidden;
	}
	section.section-wh.production .production-ass.row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin-left: 0;
		margin-right: 0;
	}
	section.section-wh.production .production-card,
	section.section-wh.production .col-xs-6 {
		width: 100% !important;
		float: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-bottom: 0 !important;
		min-height: 0;
		clear: none !important;
	}
	section.section-wh.production .production-card:nth-child(odd),
	section.section-wh.production .production-ass > .col-xs-6:nth-child(odd) {
		clear: none;
	}
	section.section-wh.production .production-card > a {
		display: block;
		position: relative;
		overflow: hidden;
		border-radius: 14px;
		min-height: 0;
	}
	section.section-wh.production .production-card img.img-responsive,
	section.section-wh.production .production-card img,
	section.section-wh.production .production-cover,
	section.section-wh.production img.img-responsive {
		width: 100%;
		max-width: 100%;
		height: 120px;
		object-fit: cover;
		border-radius: 14px;
		display: block;
	}
	section.section-wh.production .production-card .blk-price-name,
	section.section-wh.production .blk-price-name {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin-top: 0;
		padding: 28px 8px 8px 10px;
		min-height: 0;
		background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.4) 55%, transparent 100%);
		border-radius: 0 0 14px 14px;
	}
	section.section-wh.production .production-card h3,
	section.section-wh.production h3 {
		width: 100%;
		max-width: 100%;
		font-size: 12px;
		line-height: 1.25;
		min-height: 0;
		padding: 0;
		margin: 0;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	section.section-wh.production .btn-production {
		margin-top: var(--z-space-sm);
		display: block;
		width: 100%;
		min-height: var(--z-tap);
		line-height: var(--z-tap);
		padding: 0 16px;
	}

	/* Product: stacked gallery, big CTA */
	.product {
		margin-bottom: var(--z-space-lg);
	}
	.product .col-md-6,
	.product .col-sm-12 {
		width: 100%;
		float: none;
		padding-left: 0;
		padding-right: 0;
	}
	.product .image {
		margin-bottom: var(--z-space-sm);
	}
	.product .images a {
		margin: 0 8px 8px 0;
	}
	.product .images img {
		width: 72px;
		height: 72px;
	}
	.product-price,
	.product .price {
		font-size: 16px;
		line-height: 1.4;
		margin: 8px 0 12px;
	}
	.product-price .price {
		display: inline-block;
		font-size: 20px;
		margin-top: 4px;
	}
	.product-cta {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin: 12px 0 24px;
	}
	.product-cta .btn-call,
	.btn-call-phone {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 48px;
		height: auto;
		padding: 12px 16px;
		font-size: 18px;
		text-decoration: none;
		line-height: 1.2;
	}
	.btn-call-phone {
		background: #fff;
		color: var(--z-blue);
		border: 2px solid var(--z-blue);
	}

	/* Hero / leads */
	span.slogan {
		font-size: 26px;
		margin-top: var(--z-space-md);
		margin-bottom: var(--z-space-sm);
		line-height: 1.2;
	}
	p.slogan-prev {
		font-size: 16px;
		margin-bottom: var(--z-space-md);
	}
	.slider-btn {
		width: 100%;
		min-height: var(--z-tap);
		height: auto;
		padding: 12px 20px;
		font-size: 16px;
	}
	section.lead-m1 {
		margin-top: 0;
		margin-bottom: var(--z-space-lg);
	}
	.lead-offer {
		font-size: 22px;
		line-height: 1.25;
		margin-top: var(--z-space-md);
	}
	p.lead-text {
		font-size: 16px;
		line-height: 1.4;
		margin-top: var(--z-space-sm);
	}
	a.button-lead,
	a.button-lead2,
	a.button-lead.visible-xs {
		position: static;
		width: 100%;
		min-height: var(--z-tap);
		text-align: center;
		margin-bottom: var(--z-space-md);
		box-sizing: border-box;
	}
	section.lead-m1 img,
	img.img-responsive.lead-m2.visible-xs {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		display: block;
	}

	/* Promo cards — keep pribor from colliding with previous block */
	section.blk-prm {
		margin-top: var(--z-space-xl);
		margin-bottom: var(--z-space-md);
	}
	section.blk-prm .container {
		padding-left: 15px;
		padding-right: 15px;
	}
	.blk-blu {
		margin-bottom: var(--z-space-sm);
		padding: 16px;
		min-height: 0 !important;
	}
	img.pribor {
		width: 88px;
		right: 12px;
		margin-top: -28px;
	}

	.col-lg-3.col-md-3.col-sm-6.col-xs-6.blk {
		padding-left: 8px;
		padding-right: 8px;
		margin-bottom: var(--z-space-md);
	}

	/* Portfolio: one card, image then title, no overlap */
	section.portfolio {
		margin-top: var(--z-space-md);
		margin-bottom: var(--z-space-lg);
		overflow: hidden;
	}
	section.portfolio p.ch-4h {
		padding: 0;
		font-size: 16px;
		line-height: 1.35;
	}
	.owl-carousel2 .item {
		display: flex;
		flex-direction: column;
	}
	.slide-img {
		order: -1;
		width: 100%;
		margin-left: 0;
		max-height: none;
		overflow: hidden;
		border-radius: 12px;
	}
	.slide-img img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 12px;
	}
	.slide-txt {
		position: relative;
		display: block;
		box-shadow: none;
		padding: 12px 4px 8px;
		width: 100%;
		margin: 0;
		border-radius: 0;
	}
	.slide-txt h6 {
		font-size: 18px;
		line-height: 1.3;
		margin-bottom: 8px;
	}
	a.button-portfolio {
		width: 100%;
		min-height: var(--z-tap);
		padding: 12px 16px;
		margin-top: 8px;
		font-size: 16px;
		box-sizing: border-box;
	}
	section.portfolio .owl-nav {
		position: static;
		margin: 8px 0 0;
		text-align: center;
	}

	section.step-5 {
		padding-top: var(--z-space-lg);
		padding-bottom: var(--z-space-md);
		background-size: cover;
		background-position: center bottom;
	}
	.zb.zb1,
	.zb.zb2,
	.zb.zb3,
	.zb.zb4,
	.zb.zb5 {
		height: auto;
		min-height: 280px;
		padding: 96px 16px 24px;
	}

	/* Forms: 16px to avoid iOS zoom, 44px controls */
	input.form-control,
	select.form-control,
	textarea.form-control,
	section.configurator .form-control,
	#call_form .form-control,
	#zakaz_form .form-control,
	input[type="text"],
	input[type="tel"],
	select {
		font-size: 16px !important;
		min-height: var(--z-tap);
		height: auto;
		width: 100%;
		max-width: 100%;
	}
	section.configurator {
		margin: 0 0 var(--z-space-md);
		padding-bottom: var(--z-space-md);
	}
	section.configurator .col-lg-6.col-md-6.pdn-xs {
		padding: 16px 12px;
	}
	section.configurator .col-lg-12 .col-lg-6 {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 10px;
	}
	section.configurator button,
	#call_form .btn-default,
	#zakaz_form button.btn {
		min-height: 48px;
		height: auto;
		width: 100%;
		font-size: 16px;
		margin-left: 0;
	}
	#call_form .form-control,
	#zakaz_form .form-control {
		width: 100%;
	}
	.modal-dialog {
		width: auto !important;
		margin: 12px;
	}

	/* Footer: not a wall of tiny links */
	footer h6 {
		font-size: 22px;
		margin-bottom: var(--z-space-sm);
		margin-top: var(--z-space-md);
	}
	footer li a {
		display: block;
		padding: 10px 4px;
		font-size: 16px;
		line-height: 1.35;
		min-height: var(--z-tap);
	}
	.container-footer-one .col-lg-3 {
		width: 100%;
		float: none;
	}
	.container-fluid.bl-line {
		margin-top: var(--z-space-md);
	}
	.container-fluid.bl-line span,
	.container-fluid.bl-line a {
		padding: 12px 0;
	}
	section.contacts-blk .bl-ft {
		padding: 0 16px 24px;
	}
	a.logo-footer {
		margin-top: var(--z-space-lg);
		margin-bottom: var(--z-space-md);
	}
	section.contacts-blk .telephone,
	section.contacts-blk .mail {
		min-height: var(--z-tap);
		display: flex;
		align-items: center;
		font-size: 18px;
		padding: 6px 0;
	}

	h1.h1-zg {
		font-size: 22px;
		line-height: 1.25;
	}
	.breadcrumb {
		margin-top: 8px;
		font-size: 13px;
	}

	.owl-carousel3 .owl-dots,
	.owl-carousel2 .owl-dots {
		margin-top: 8px;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	footer li a {
		padding: 8px 4px;
		min-height: 40px;
		display: inline-block;
	}
}
