/**

 * Stopka prawna — na końcu strony (normalny flow), widoczna po przewinięciu na dół.

 */



:root {

	--vv-slf-offset: 0px;

	--vv-slf-offset-max: 70px;

}



.vv-store-legal-footer {

	position: relative;

	display: block;

	width: 100%;

	max-width: 100%;

	margin: 0;

	clear: both;

	box-sizing: border-box;

	z-index: 1;

	border-top: 1px solid color-mix(in srgb, var(--vv-slf-border, #334155) 88%, transparent);

	background: color-mix(in srgb, var(--vv-slf-bg, #0f172a) 96%, transparent);

	color: var(--vv-slf-text, #f8fafc);

	font-size: 11px;

	line-height: 1.45;

	-webkit-font-smoothing: antialiased;

	box-shadow: 0 -4px 24px color-mix(in srgb, var(--vv-slf-text, #000) 8%, transparent);

}



body > .vv-store-legal-footer,

#outer-wrap + .vv-store-legal-footer {

	flex-shrink: 0;

}



/* Bezpiecznik: body nie może być siatką/flexem wymuszającym stopkę w viewport. */

body.vv-store-legal-footer-on,

body.tax-product_cat,

body[class*="tax-product_"] {

	display: block !important;

	width: 100%;

	max-width: 100%;

}



body.vv-store-legal-footer-on #outer-wrap,

body.vv-store-legal-footer-on > .vv-store-legal-footer,

body.vv-store-legal-footer-on #outer-wrap + .vv-store-legal-footer {

	width: 100%;

	max-width: 100%;

}



#outer-wrap + .vv-store-legal-footer {

	margin-top: 0;

}



/* Szablon listingu VinVic ma własny nagłówek — ukryj duplikat OceanWP */

body.vv-store-legal-footer-on main#main.site-main:has(.vv-full-template-archive) > header.page-header {

	display: none !important;

}



.vv-store-legal-footer--vinvic-only .vv-store-legal-footer__inner {

	padding-top: clamp(12px, 1.5vw, 16px);

	padding-bottom: 8px;

}



.vv-store-legal-footer__inner {

	max-width: 1280px;

	margin: 0 auto;

	padding: clamp(14px, 2vw, 20px) 16px 10px;

	text-align: center;

	display: flex;

	flex-direction: column;

	gap: 2px;

}



.vv-store-legal-footer__line {

	margin: 0;

}



.vv-store-legal-footer__line--brand {

	font-weight: 700;

	font-size: 11px;

	color: var(--vv-slf-text, #f8fafc);

}



.vv-store-legal-footer__line--legal {

	color: var(--vv-slf-label, var(--vv-slf-muted, #cbd5e1));

	font-size: 10px;

}



.vv-store-legal-footer__prefix {

	margin-right: 0.35em;

	color: var(--vv-slf-label, var(--vv-slf-muted, #cbd5e1));

}



.vv-store-legal-footer__links a {

	color: var(--vv-slf-accent, #38bdf8);

	text-decoration: none;

	font-weight: 600;

}



.vv-store-legal-footer__links a:hover,

.vv-store-legal-footer__links a:focus-visible {

	text-decoration: underline;

}



.vv-store-legal-footer__sep {

	margin: 0 0.45em;

	opacity: 0.55;

}



.vv-store-legal-footer__line--vinvic {

	font-size: 9px;

	color: var(--vv-slf-label, var(--vv-slf-muted, #cbd5e1));

}



.vv-store-legal-footer__line--vinvic a {

	color: inherit;

	text-decoration: none;

	font-weight: 700;

}



.vv-store-legal-footer__line--vinvic a:hover,

.vv-store-legal-footer__line--vinvic a:focus-visible {

	color: var(--vv-slf-accent, #38bdf8);

	text-decoration: underline;

}



/* Podnoszenie widgetów przy scrollu na dół (--vv-slf-offset liczone w JS) */

body.vv-slf-visible #haumru-ai-chat-widget {

	bottom: calc(12px + min(var(--vv-slf-offset, 0px), var(--vv-slf-offset-max, 70px))) !important;

}



body.vv-slf-visible #vvc-cookie-trigger {

	bottom: calc(12px + min(var(--vv-slf-offset, 0px), var(--vv-slf-offset-max, 70px))) !important;

}



body.vv-slf-visible #vvscp-cart-trigger {

	bottom: calc(12px + min(var(--vv-slf-offset, 0px), var(--vv-slf-offset-max, 70px))) !important;

}



body.vv-slf-visible .vv-floating-badge.vv-float-bottom {

	bottom: calc(15px + min(var(--vv-slf-offset, 0px), var(--vv-slf-offset-max, 70px))) !important;

}



@media (max-width: 768px) {

	body.vv-store-legal-footer-on #outer-wrap,

	body.vv-store-legal-footer-on > .vv-store-legal-footer,

	body.vv-store-legal-footer-on #outer-wrap + .vv-store-legal-footer {

		width: 100% !important;

		max-width: 100% !important;

		grid-column: 1 / -1 !important;

	}



	/* Mobile: stopka w flow strony — NIGDY fixed (fixed = „przyklejona" do ekranu). */

	.vv-store-legal-footer {

		position: relative !important;

		bottom: auto !important;

		left: auto !important;

		right: auto !important;

		transform: none !important;

		opacity: 1 !important;

		visibility: visible !important;

	}

}



@media (max-width: 640px) {

	.vv-store-legal-footer__inner {

		padding: clamp(12px, 2.5vw, 16px) 10px 9px;

	}



	.vv-store-legal-footer__line--brand {

		font-size: 10px;

	}



	.vv-store-legal-footer__line--legal {

		font-size: 9px;

	}

}


