.novashop-elementor-products .woocommerce ul.products,
.novashop-elementor-categories .woocommerce ul.products {
	margin-bottom: 0;
}

.elementor-widget-novashop-products-grid,
.elementor-widget-novashop-product-categories {
	--ns-widget-gap: 20px;
}

.novashop-elementor-editorial,
.novashop-elementor-benefits{margin:0}
.elementor-widget-novashop-editorial .ns-container,
.elementor-widget-novashop-benefits .ns-container{max-width:var(--ns-container,1280px)}

/* NovaShop Elementor 0.17 */
.elementor-widget-novashop-hero { margin: 0 !important; }
.ns-elementor-hero .ns-hero__art { min-height: 590px; }
.ns-elementor-hero .ns-product-stage { background: var(--ns-elementor-stage, #d5ff67); }
.ns-elementor-stage-image { position: absolute; width: var(--ns-elementor-image-size,48%); max-width: none; left: var(--ns-elementor-image-x,28%); top: var(--ns-elementor-image-y,14%); height: auto; object-fit: contain; transform: rotate(var(--ns-elementor-rotation,-7deg)); filter: drop-shadow(0 35px 35px rgba(23,23,18,.18)); }
.ns-banner { position: relative; overflow: hidden; margin: 0; min-height: 420px; background: #181814; color: #fff; border-radius: var(--ns-radius-lg, 28px); background-size: cover; background-position: center; }
.ns-banner--background::before { content:""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(18,18,15,.96), rgba(18,18,15,.55), rgba(18,18,15,.18)); }
.ns-banner__inner { min-height: 420px; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; position: relative; }
.ns-banner__media { min-height: 420px; overflow: hidden; }
.ns-banner__media img { width:100%; height:100%; object-fit:cover; display:block; }
.ns-banner__content { align-self:center; padding: clamp(38px,6vw,86px); }
.ns-banner--right .ns-banner__content { grid-column:1; grid-row:1; }
.ns-banner--right .ns-banner__media { grid-column:2; grid-row:1; }
.ns-banner--left .ns-banner__content { grid-column:2; grid-row:1; }
.ns-banner--left .ns-banner__media { grid-column:1; grid-row:1; }
.ns-banner--background .ns-banner__inner { grid-template-columns:1fr; }
.ns-banner--background .ns-banner__content { grid-column:1; max-width:760px; }
.ns-banner h2 { margin: 8px 0 0; font-size: clamp(2.4rem,4.5vw,5rem); line-height:.95; letter-spacing:-.065em; }
.ns-banner p { max-width:600px; color:#c8c7c0; line-height:1.65; margin:22px 0 28px; }
.ns-banner .ns-kicker { color:#aaa9a2; }
.ns-products-carousel { position:relative; }
.ns-products-carousel .swiper { overflow:hidden; }
.ns-products-carousel__card { border:1px solid var(--ns-line,#e7e5df); background:#fff; border-radius:var(--ns-radius,18px); overflow:hidden; height:100%; }
.ns-products-carousel__card img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.ns-products-carousel__meta { display:grid; gap:7px; padding:18px; }
.ns-products-carousel__meta > a { color:inherit; text-decoration:none; font-weight:700; font-size:15px; }
.ns-products-carousel__meta > span { font-weight:700; }
.ns-products-carousel__meta > div, .ns-products-carousel__meta .product-categories { font-size:11px; color:var(--ns-muted,#74736d); }
.ns-products-carousel__nav { display:flex; justify-content:flex-end; gap:8px; margin-top:16px; }
.ns-products-carousel__nav button { width:40px; height:40px; border:1px solid var(--ns-line,#e7e5df); border-radius:50%; background:#fff; cursor:pointer; }
.ns-elementor-section-head { margin-bottom:28px; }
@media (max-width: 767px) {
 .ns-elementor-hero .ns-hero__grid { min-height:0; grid-template-columns:1fr; gap:20px; }
 .ns-elementor-hero .ns-hero__content { padding:55px 0 10px; }
 .ns-elementor-hero .ns-hero__art { min-height:520px; height:520px; }
 .ns-elementor-hero .ns-proof-row { gap:18px; flex-wrap:wrap; margin-top:38px; }
 .ns-banner__inner { grid-template-columns:1fr !important; }
 .ns-banner__media,.ns-banner__content { grid-column:1 !important; grid-row:auto !important; }
 .ns-banner__media { min-height:300px; order:0; }
 .ns-banner__content { padding:42px 28px; order:1; }
 .ns-banner--background .ns-banner__content { padding:60px 28px; }
}

/* NovaShop editorial page layout — Elementor mode */
.novashop-elementor-page{
	--ns-page-ink:#151614;
	--ns-page-muted:#666862;
	--ns-page-soft:#f4f4ef;
	--ns-page-accent:#c7f36b;
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
}
.novashop-elementor-page .ns-elementor-full-width{
	width:100% !important;
	max-width:none !important;
	margin-left:0 !important;
	margin-right:0 !important;
}
.novashop-elementor-page .ns-elementor-page-layout{
	box-sizing:border-box;
	padding-top:78px;
	padding-bottom:120px;
	padding-left:max(28px,calc((100vw - 1320px)/2 + 0px));
	padding-right:max(28px,calc((100vw - 1320px)/2 + 0px));
}
.novashop-elementor-page .ns-elementor-page-aside{
	position:sticky;
	top:28px;
	align-self:flex-start;
	box-sizing:border-box;
	flex:0 0 20% !important;
	flex-basis:20% !important;
	width:20% !important;
	max-width:20% !important;
}
.novashop-elementor-page .ns-elementor-page-content{
	min-width:0;
	box-sizing:border-box;
	flex:0 0 80% !important;
	flex-basis:80% !important;
	width:80% !important;
	max-width:80% !important;
}
.novashop-elementor-page .ns-elementor-page-content > .elementor-element{
	width:100%;
}
.novashop-elementor-page .ns-elementor-page-content .ns-site-section{
	max-width:920px;
}
.novashop-elementor-page .ns-elementor-page-toc{
	padding:20px 0;
}
.novashop-elementor-page .ns-elementor-page-toc .ns-site-page__toc{
	display:grid;
}
.novashop-elementor-page .ns-elementor-page-toc .ns-site-page__toc a{
	display:flex;
}
.novashop-elementor-page .elementor-widget-novashop-page-hero,
.novashop-elementor-page .elementor-widget-novashop-contact-cards,
.novashop-elementor-page .elementor-widget-novashop-page-section,
.novashop-elementor-page .elementor-widget-novashop-page-cta,
.novashop-elementor-page .elementor-widget-novashop-page-notice{
	margin-bottom:0 !important;
}
.novashop-elementor-page .ns-site-page__hero{
	position:relative;
	margin:0;
}
.novashop-elementor-page .ns-site-page__hero .ns-container{
	width:min(calc(100% - 56px),1320px);
}
.novashop-elementor-page .ns-contact-cards{
	width:min(calc(100% - 56px),1320px);
	margin:0 auto 0;
}
.novashop-elementor-page .ns-site-page__footer-cta,
.novashop-elementor-page .ns-site-page__notice{
	max-width:920px;
}
@media(max-width:1000px) and (min-width:761px){
	.novashop-elementor-page .ns-elementor-page-layout{padding:55px 28px 90px !important;gap:28px !important;}
	.novashop-elementor-page .ns-elementor-page-aside{flex-basis:30% !important;width:30% !important;max-width:30% !important;position:static}
	.novashop-elementor-page .ns-elementor-page-content{flex-basis:70% !important;width:70% !important;max-width:70% !important}
}
@media(max-width:760px){
	.novashop-elementor-page .ns-elementor-page-layout{padding:45px 18px 75px !important;flex-direction:column !important;gap:35px !important}
	.novashop-elementor-page .ns-elementor-page-aside,.novashop-elementor-page .ns-elementor-page-content{flex:0 0 100% !important;width:100% !important;max-width:none !important}
	.novashop-elementor-page .ns-elementor-page-aside{position:static}
	.novashop-elementor-page .ns-elementor-page-toc .ns-site-page__toc{display:flex;overflow:auto}
}
@media(max-width:640px){
	.novashop-elementor-page .ns-elementor-page-layout{padding:45px 18px 75px !important}
	.novashop-elementor-page .ns-site-page__hero .ns-container,
	.novashop-elementor-page .ns-contact-cards{width:calc(100% - 36px)}
}
