/*
 * PromotionOnline responsive remediation
 * Child-theme only. Cart and checkout are deliberately excluded.
 * 2026-07-18
 */

body:not(.woocommerce-cart):not(.woocommerce-checkout) {
	overflow-x: clip;
}

/* Keep Porto's sticky state, but make the active bar a real full-width fixed
 * surface. This lives in the child theme and deliberately excludes cart and
 * checkout. */
html body:not(.woocommerce-cart):not(.woocommerce-checkout) #header#header#header.header-builder.sticky-header .header-main.sticky {
	position: fixed !important;
	z-index: 10020 !important;
	top: 0 !important;
	right: 0 !important;
	left: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	transform: none !important;
}

html body.admin-bar:not(.woocommerce-cart):not(.woocommerce-checkout) #header#header#header.header-builder.sticky-header .header-main.sticky {
	top: 32px !important;
}

@media (max-width: 782px) {
	html body.admin-bar:not(.woocommerce-cart):not(.woocommerce-checkout) #header#header#header.header-builder.sticky-header .header-main.sticky {
		top: 46px !important;
	}
}

/* Header: keep the desktop composition within the viewport on small laptops. */
@media (min-width: 992px) and (max-width: 1199px) {
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container.container {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 24px !important;
		padding-left: 24px !important;
		box-sizing: border-box !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container > .row {
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		flex-wrap: nowrap !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo > a,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo img {
		width: 190px !important;
		max-width: 190px !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po__header_icon {
		min-width: 0 !important;
		margin-left: auto !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po__header_icon > .wpb_wrapper {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 14px !important;
		min-width: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header #mega-menu-main_menu > li > a.mega-menu-link,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po-header-extra-nav > a {
		font-size: 14px !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .searchform-popup,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .my-wishlist {
		display: none !important;
	}
}

/* Header: use Porto's native off-canvas navigation at the theme breakpoint. */
@media (max-width: 991px) {
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main.sticky {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 78px !important;
		height: auto !important;
		inset-inline: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container.container {
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 20px !important;
		padding-left: 20px !important;
		box-sizing: border-box !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container > .row {
		display: flex !important;
		width: 100% !important;
		min-height: 78px !important;
		margin: 0 !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container > .row > .vc_column_container:first-child {
		flex: 0 1 auto !important;
		min-width: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo > a,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo img {
		display: block !important;
		width: min(190px, 48vw) !important;
		max-width: min(190px, 48vw) !important;
		height: auto !important;
		margin: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po__header_icon {
		display: flex !important;
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 0 !important;
		margin-left: auto !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po__header_icon > .wpb_wrapper {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 12px !important;
		width: auto !important;
		min-width: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header #mega-menu-wrap-main_menu,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po-header-extra-nav,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .searchform-popup,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .my-account,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .my-wishlist,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .po-nav-hover-indicator,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-desktop-mega {
		display: none !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header #mini-cart {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 42px !important;
		height: 42px !important;
		margin: 0 !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .mobile-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #f7f5f2 !important;
	}
}

@media (max-width: 479px) {
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .header-main .porto-wrap-container.container {
		padding-right: 16px !important;
		padding-left: 16px !important;
	}

	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo > a,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) #header .logo img {
		width: min(172px, 47vw) !important;
		max-width: min(172px, 47vw) !important;
	}
}

/* Revolution Slider: recover the intended tablet and mobile layers when its
 * desktop inline geometry survives a responsive load. Content and links stay
 * untouched; only geometry and the supplied device-specific images change. */
@media (min-width: 769px) and (max-width: 991px) {
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-adjuster,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-content,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 sr7-mask,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 sr7-bg {
		height: 600px !important;
		min-height: 600px !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-content {
		left: 0 !important;
		width: 100% !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-5,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-10,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-12 {
		visibility: hidden !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-11 {
		visibility: visible !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 600px !important;
		background-size: cover !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-6,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-7,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-8,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-9 {
		left: 7vw !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-6 {
		top: 110px !important;
		width: min(500px, 58vw) !important;
		font-size: 44px !important;
		line-height: 1.08 !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-7 { top: 315px !important; }
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-8 { top: 420px !important; }
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-9 { top: 420px !important; left: calc(7vw + 200px) !important; }
}

@media (max-width: 768px) {
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-adjuster,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-content,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 sr7-mask,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 sr7-bg {
		height: 680px !important;
		min-height: 680px !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) sr7-module#SR7_6_1 > sr7-content {
		left: 0 !important;
		width: 100% !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-5,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-10,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-11 {
		visibility: hidden !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-12 {
		visibility: visible !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 680px !important;
		background-size: cover !important;
		background-position: 50% 50% !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-6,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-7,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-8,
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-9 {
		left: 24px !important;
		max-width: calc(100vw - 48px) !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-6 {
		top: 86px !important;
		width: calc(100vw - 88px) !important;
		max-width: 680px !important;
		font-size: clamp(34px, 9vw, 44px) !important;
		line-height: 1.08 !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-7 {
		top: 282px !important;
		width: calc(100vw - 88px) !important;
		max-width: 620px !important;
		font-size: 18px !important;
		line-height: 1.45 !important;
	}

	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-8 { top: 405px !important; }
	body.home:not(.woocommerce-cart):not(.woocommerce-checkout) #SR7_6_1-6-9 { top: 472px !important; }
}

/* Category and subcategory templates: one shared responsive width model. */
@media (max-width: 1279px) {
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) #main > .container,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) #main .container.test,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec.po_cat_banner > .container,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="-siblings-inner"],
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products.products-container {
		width: calc(100% - 48px) !important;
		max-width: 1200px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 900px) {
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec.po_cat_banner > .container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
		padding-top: 40px !important;
		padding-bottom: 44px !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec .pro_bann_con,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec [class*="stats"] {
		grid-column: 1 !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="-siblings-inner"].po-global-siblings-ready {
		display: flex !important;
		align-items: flex-start !important;
		gap: 10px !important;
		padding-top: 16px !important;
		padding-bottom: 16px !important;
		overflow: visible !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-global-sibling-links {
		display: flex !important;
		flex: 1 1 100% !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		min-width: 0 !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32__form {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32__cell {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32 select {
		width: 100% !important;
		max-width: none !important;
	}
}

@media (max-width: 600px) {
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) #main .container.test {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) #main > .container,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) #main .container.test,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec.po_cat_banner > .container,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="-siblings-inner"],
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products.products-container {
		width: calc(100% - 32px) !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .cat_banner--title,
	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .pro__banner--sec h1 {
		font-size: clamp(34px, 11vw, 46px) !important;
		line-height: 1.08 !important;
		overflow-wrap: anywhere !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) [class*="-siblings-inner"].po-global-siblings-ready {
		flex-direction: column !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) .po-filterbar-v32__form {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products.products-container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
	}

	body.tax-product_cat:not(.woocommerce-cart):not(.woocommerce-checkout) ul.products.products-container > li.product-col {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
}

/* Page templates with deliberate full-bleed sections must not create a
 * horizontal scroll gutter on narrow screens. */
@media (max-width: 767px) {
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-hallbaraval,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-news,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-products,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-inspiration,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-about,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-support,
	body:not(.woocommerce-cart):not(.woocommerce-checkout) .po-kontakt {
		max-width: 100% !important;
		overflow-x: clip !important;
	}
}
