@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/fontawesome.min.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/regular.min.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/solid.min.css');
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

p::selection {
    color: white;
    background-color: #65c2c4;
}

@font-face {
    font-family: 'Mr Dodo';
    src: url('https://www.pasaz24cdn.pl/public/Fonts/MrDodoRegular/MrDodo-Regular.eot');
    src: url('https://www.pasaz24cdn.pl/public/Fonts/MrDodoRegular/MrDodo-Regular.eot?#iefix') format('embedded-opentype'),
        url('https://www.pasaz24cdn.pl/public/Fonts/MrDodoRegular/MrDodo-Regular.woff2') format('woff2'),
        url('https://www.pasaz24cdn.pl/public/Fonts/MrDodoRegular/MrDodo-Regular.woff') format('woff'),
        url('https://www.pasaz24cdn.pl/public/Fonts/MrDodoRegular/MrDodo-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: 'Veneer Two';
    src: url('https://www.pasaz24cdn.pl/public/Fonts/VeneerTwo/VeneerTwo.eot');
    src: url('https://www.pasaz24cdn.pl/public/Fonts/VeneerTwo/VeneerTwo.eot?#iefix') format('embedded-opentype'),
        url('https://www.pasaz24cdn.pl/public/Fonts/VeneerTwo/VeneerTwo.woff2') format('woff2'),
        url('https://www.pasaz24cdn.pl/public/Fonts/VeneerTwo/VeneerTwo.woff') format('woff'),
        url('https://www.pasaz24cdn.pl/public/Fonts/VeneerTwo/VeneerTwo.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block
}
body {
	line-height: 1
}
ol, ul {
	list-style: none
}
blockquote, q {
	quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
.container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:768px) {
	.container {
		width: 740px
	}
}
@media (min-width:992px) {
	.container {
		width: 960px
	}
}
@media (min-width:1200px) {
	.container {
		width: 1160px
	}
}
.container-fluid {
	margin-right: auto;
	margin-left: auto;
	padding-left: 10px;
	padding-right: 10px
}
.row {
	margin-left: -10px;
	margin-right: -10px
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
	float: left
}
.col-xs-12 {
	width: 100%
}
.col-xs-11 {
	width: 91.666666667%
}
.col-xs-10 {
	width: 83.333333333%
}
.col-xs-9 {
	width: 75%
}
.col-xs-8 {
	width: 66.666666667%
}
.col-xs-7 {
	width: 58.333333333%
}
.col-xs-6 {
	width: 50%
}
.col-xs-5 {
	width: 41.666666667%
}
.col-xs-4 {
	width: 33.333333333%
}
.col-xs-3 {
	width: 25%
}
.col-xs-2 {
	width: 16.666666667%
}
.col-xs-1 {
	width: 8.333333333%
}
.col-xs-pull-12 {
	right: 100%
}
.col-xs-pull-11 {
	right: 91.666666667%
}
.col-xs-pull-10 {
	right: 83.333333333%
}
.col-xs-pull-9 {
	right: 75%
}
.col-xs-pull-8 {
	right: 66.666666667%
}
.col-xs-pull-7 {
	right: 58.333333333%
}
.col-xs-pull-6 {
	right: 50%
}
.col-xs-pull-5 {
	right: 41.666666667%
}
.col-xs-pull-4 {
	right: 33.333333333%
}
.col-xs-pull-3 {
	right: 25%
}
.col-xs-pull-2 {
	right: 16.666666667%
}
.col-xs-pull-1 {
	right: 8.333333333%
}
.col-xs-pull-0 {
	right: auto
}
.col-xs-push-12 {
	left: 100%
}
.col-xs-push-11 {
	left: 91.666666667%
}
.col-xs-push-10 {
	left: 83.333333333%
}
.col-xs-push-9 {
	left: 75%
}
.col-xs-push-8 {
	left: 66.666666667%
}
.col-xs-push-7 {
	left: 58.333333333%
}
.col-xs-push-6 {
	left: 50%
}
.col-xs-push-5 {
	left: 41.666666667%
}
.col-xs-push-4 {
	left: 33.333333333%
}
.col-xs-push-3 {
	left: 25%
}
.col-xs-push-2 {
	left: 16.666666667%
}
.col-xs-push-1 {
	left: 8.333333333%
}
.col-xs-push-0 {
	left: auto
}
.col-xs-offset-12 {
	margin-left: 100%
}
.col-xs-offset-11 {
	margin-left: 91.666666667%
}
.col-xs-offset-10 {
	margin-left: 83.333333333%
}
.col-xs-offset-9 {
	margin-left: 75%
}
.col-xs-offset-8 {
	margin-left: 66.666666667%
}
.col-xs-offset-7 {
	margin-left: 58.333333333%
}
.col-xs-offset-6 {
	margin-left: 50%
}
.col-xs-offset-5 {
	margin-left: 41.666666667%
}
.col-xs-offset-4 {
	margin-left: 33.333333333%
}
.col-xs-offset-3 {
	margin-left: 25%
}
.col-xs-offset-2 {
	margin-left: 16.666666667%
}
.col-xs-offset-1 {
	margin-left: 8.333333333%
}
.col-xs-offset-0 {
	margin-left: 0%
}
@media (min-width:768px) {
	.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
		float: left
	}
	.col-sm-12 {
		width: 100%
	}
	.col-sm-11 {
		width: 91.666666667%
	}
	.col-sm-10 {
		width: 83.333333333%
	}
	.col-sm-9 {
		width: 75%
	}
	.col-sm-8 {
		width: 66.666666667%
	}
	.col-sm-7 {
		width: 58.333333333%
	}
	.col-sm-6 {
		width: 50%
	}
	.col-sm-5 {
		width: 41.666666667%
	}
	.col-sm-4 {
		width: 33.333333333%
	}
	.col-sm-3 {
		width: 25%
	}
	.col-sm-2 {
		width: 16.666666667%
	}
	.col-sm-1 {
		width: 8.333333333%
	}
	.col-sm-pull-12 {
		right: 100%
	}
	.col-sm-pull-11 {
		right: 91.666666667%
	}
	.col-sm-pull-10 {
		right: 83.333333333%
	}
	.col-sm-pull-9 {
		right: 75%
	}
	.col-sm-pull-8 {
		right: 66.666666667%
	}
	.col-sm-pull-7 {
		right: 58.333333333%
	}
	.col-sm-pull-6 {
		right: 50%
	}
	.col-sm-pull-5 {
		right: 41.666666667%
	}
	.col-sm-pull-4 {
		right: 33.333333333%
	}
	.col-sm-pull-3 {
		right: 25%
	}
	.col-sm-pull-2 {
		right: 16.666666667%
	}
	.col-sm-pull-1 {
		right: 8.333333333%
	}
	.col-sm-pull-0 {
		right: auto
	}
	.col-sm-push-12 {
		left: 100%
	}
	.col-sm-push-11 {
		left: 91.666666667%
	}
	.col-sm-push-10 {
		left: 83.333333333%
	}
	.col-sm-push-9 {
		left: 75%
	}
	.col-sm-push-8 {
		left: 66.666666667%
	}
	.col-sm-push-7 {
		left: 58.333333333%
	}
	.col-sm-push-6 {
		left: 50%
	}
	.col-sm-push-5 {
		left: 41.666666667%
	}
	.col-sm-push-4 {
		left: 33.333333333%
	}
	.col-sm-push-3 {
		left: 25%
	}
	.col-sm-push-2 {
		left: 16.666666667%
	}
	.col-sm-push-1 {
		left: 8.333333333%
	}
	.col-sm-push-0 {
		left: auto
	}
	.col-sm-offset-12 {
		margin-left: 100%
	}
	.col-sm-offset-11 {
		margin-left: 91.666666667%
	}
	.col-sm-offset-10 {
		margin-left: 83.333333333%
	}
	.col-sm-offset-9 {
		margin-left: 75%
	}
	.col-sm-offset-8 {
		margin-left: 66.666666667%
	}
	.col-sm-offset-7 {
		margin-left: 58.333333333%
	}
	.col-sm-offset-6 {
		margin-left: 50%
	}
	.col-sm-offset-5 {
		margin-left: 41.666666667%
	}
	.col-sm-offset-4 {
		margin-left: 33.333333333%
	}
	.col-sm-offset-3 {
		margin-left: 25%
	}
	.col-sm-offset-2 {
		margin-left: 16.666666667%
	}
	.col-sm-offset-1 {
		margin-left: 8.333333333%
	}
	.col-sm-offset-0 {
		margin-left: 0%
	}
}
@media (min-width:992px) {
	.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
		float: left
	}
	.col-md-12 {
		width: 100%
	}
	.col-md-11 {
		width: 91.666666667%
	}
	.col-md-10 {
		width: 83.333333333%
	}
	.col-md-9 {
		width: 75%
	}
	.col-md-8 {
		width: 66.666666667%
	}
	.col-md-7 {
		width: 58.333333333%
	}
	.col-md-6 {
		width: 50%
	}
	.col-md-5 {
		width: 41.666666667%
	}
	.col-md-4 {
		width: 33.333333333%
	}
	.col-md-3 {
		width: 25%
	}
	.col-md-2 {
		width: 16.666666667%
	}
	.col-md-1 {
		width: 8.333333333%
	}
	.col-md-pull-12 {
		right: 100%
	}
	.col-md-pull-11 {
		right: 91.666666667%
	}
	.col-md-pull-10 {
		right: 83.333333333%
	}
	.col-md-pull-9 {
		right: 75%
	}
	.col-md-pull-8 {
		right: 66.666666667%
	}
	.col-md-pull-7 {
		right: 58.333333333%
	}
	.col-md-pull-6 {
		right: 50%
	}
	.col-md-pull-5 {
		right: 41.666666667%
	}
	.col-md-pull-4 {
		right: 33.333333333%
	}
	.col-md-pull-3 {
		right: 25%
	}
	.col-md-pull-2 {
		right: 16.666666667%
	}
	.col-md-pull-1 {
		right: 8.333333333%
	}
	.col-md-pull-0 {
		right: auto
	}
	.col-md-push-12 {
		left: 100%
	}
	.col-md-push-11 {
		left: 91.666666667%
	}
	.col-md-push-10 {
		left: 83.333333333%
	}
	.col-md-push-9 {
		left: 75%
	}
	.col-md-push-8 {
		left: 66.666666667%
	}
	.col-md-push-7 {
		left: 58.333333333%
	}
	.col-md-push-6 {
		left: 50%
	}
	.col-md-push-5 {
		left: 41.666666667%
	}
	.col-md-push-4 {
		left: 33.333333333%
	}
	.col-md-push-3 {
		left: 25%
	}
	.col-md-push-2 {
		left: 16.666666667%
	}
	.col-md-push-1 {
		left: 8.333333333%
	}
	.col-md-push-0 {
		left: auto
	}
	.col-md-offset-12 {
		margin-left: 100%
	}
	.col-md-offset-11 {
		margin-left: 91.666666667%
	}
	.col-md-offset-10 {
		margin-left: 83.333333333%
	}
	.col-md-offset-9 {
		margin-left: 75%
	}
	.col-md-offset-8 {
		margin-left: 66.666666667%
	}
	.col-md-offset-7 {
		margin-left: 58.333333333%
	}
	.col-md-offset-6 {
		margin-left: 50%
	}
	.col-md-offset-5 {
		margin-left: 41.666666667%
	}
	.col-md-offset-4 {
		margin-left: 33.333333333%
	}
	.col-md-offset-3 {
		margin-left: 25%
	}
	.col-md-offset-2 {
		margin-left: 16.666666667%
	}
	.col-md-offset-1 {
		margin-left: 8.333333333%
	}
	.col-md-offset-0 {
		margin-left: 0%
	}
}
@media (min-width:1200px) {
	.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
		float: left
	}
	.col-lg-12 {
		width: 100%
	}
	.col-lg-11 {
		width: 91.666666667%
	}
	.col-lg-10 {
		width: 83.333333333%
	}
	.col-lg-9 {
		width: 75%
	}
	.col-lg-8 {
		width: 66.666666667%
	}
	.col-lg-7 {
		width: 58.333333333%
	}
	.col-lg-6 {
		width: 50%
	}
	.col-lg-5 {
		width: 41.666666667%
	}
	.col-lg-4 {
		width: 33.333333333%
	}
	.col-lg-3 {
		width: 25%
	}
	.col-lg-2 {
		width: 16.666666667%
	}
	.col-lg-1 {
		width: 8.333333333%
	}
	.col-lg-pull-12 {
		right: 100%
	}
	.col-lg-pull-11 {
		right: 91.666666667%
	}
	.col-lg-pull-10 {
		right: 83.333333333%
	}
	.col-lg-pull-9 {
		right: 75%
	}
	.col-lg-pull-8 {
		right: 66.666666667%
	}
	.col-lg-pull-7 {
		right: 58.333333333%
	}
	.col-lg-pull-6 {
		right: 50%
	}
	.col-lg-pull-5 {
		right: 41.666666667%
	}
	.col-lg-pull-4 {
		right: 33.333333333%
	}
	.col-lg-pull-3 {
		right: 25%
	}
	.col-lg-pull-2 {
		right: 16.666666667%
	}
	.col-lg-pull-1 {
		right: 8.333333333%
	}
	.col-lg-pull-0 {
		right: auto
	}
	.col-lg-push-12 {
		left: 100%
	}
	.col-lg-push-11 {
		left: 91.666666667%
	}
	.col-lg-push-10 {
		left: 83.333333333%
	}
	.col-lg-push-9 {
		left: 75%
	}
	.col-lg-push-8 {
		left: 66.666666667%
	}
	.col-lg-push-7 {
		left: 58.333333333%
	}
	.col-lg-push-6 {
		left: 50%
	}
	.col-lg-push-5 {
		left: 41.666666667%
	}
	.col-lg-push-4 {
		left: 33.333333333%
	}
	.col-lg-push-3 {
		left: 25%
	}
	.col-lg-push-2 {
		left: 16.666666667%
	}
	.col-lg-push-1 {
		left: 8.333333333%
	}
	.col-lg-push-0 {
		left: auto
	}
	.col-lg-offset-12 {
		margin-left: 100%
	}
	.col-lg-offset-11 {
		margin-left: 91.666666667%
	}
	.col-lg-offset-10 {
		margin-left: 83.333333333%
	}
	.col-lg-offset-9 {
		margin-left: 75%
	}
	.col-lg-offset-8 {
		margin-left: 66.666666667%
	}
	.col-lg-offset-7 {
		margin-left: 58.333333333%
	}
	.col-lg-offset-6 {
		margin-left: 50%
	}
	.col-lg-offset-5 {
		margin-left: 41.666666667%
	}
	.col-lg-offset-4 {
		margin-left: 33.333333333%
	}
	.col-lg-offset-3 {
		margin-left: 25%
	}
	.col-lg-offset-2 {
		margin-left: 16.666666667%
	}
	.col-lg-offset-1 {
		margin-left: 8.333333333%
	}
	.col-lg-offset-0 {
		margin-left: 0%
	}
}
.fade {
	opacity: 0;
	-webkit-transition: opacity 0.15s linear;
	-o-transition: opacity 0.15s linear;
	transition: opacity 0.15s linear
}
.fade.in {
	opacity: 1
}
.collapse {
	display: none
}
.collapse.in {
	display: block
}
tr.collapse.in {
	display: table-row
}
tbody.collapse.in {
	display: table-row-group
}
.collapsing {
	position: relative;
	height: 0;
	overflow: hidden;
	-webkit-transition-property: height, visibility;
	transition-property: height, visibility;
	-webkit-transition-duration: 0.35s;
	transition-duration: 0.35s;
	-webkit-transition-timing-function: ease;
	transition-timing-function: ease
}
.clearfix:before, .clearfix:after, .container:before, .container-fluid:before, .row:before, .modal-footer:before, .widget:before, .summary-data-container:before, .basket-user-actions:before, .widget-search-feature .search-feature-container:before, .container:after, .container-fluid:after, .row:after, .modal-footer:after, .widget:after, .summary-data-container:after, .basket-user-actions:after, .widget-search-feature .search-feature-container:after {
	content: " ";
	display: table
}
.clearfix:after, .container:after, .container-fluid:after, .row:after, .modal-footer:after, .widget:after, .summary-data-container:after, .basket-user-actions:after, .widget-search-feature .search-feature-container:after {
	clear: both
}
.center-block {
	display: block;
	margin-left: auto;
	margin-right: auto
}
.pull-right {
	float: right !important
}
.pull-left {
	float: left !important
}
.hide {
	display: none !important
}
.show {
	display: block !important
}
.invisible {
	visibility: hidden
}
.text-hide {
	font: 0/0 a;
	color: transparent;
	text-shadow: none;
	background-color: transparent;
	border: 0
}
.hidden {
	display: none !important
}
.affix {
	position: fixed
}
@-ms-viewport {
	width: device-width
}
.visible-xs, .visible-sm, .visible-md, .visible-lg {
	display: none !important
}
.visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block {
	display: none !important
}
@media (max-width:767px) {
	.visible-xs {
		display: block !important
	}
	table.visible-xs {
		display: table !important
	}
	tr.visible-xs {
		display: table-row !important
	}
	th.visible-xs, td.visible-xs {
		display: table-cell !important
	}
}
@media (max-width:767px) {
	.visible-xs-block {
		display: block !important
	}
}
@media (max-width:767px) {
	.visible-xs-inline {
		display: inline !important
	}
}
@media (max-width:767px) {
	.visible-xs-inline-block {
		display: inline-block !important
	}
}
@media (min-width:768px) and (max-width:991px) {
	.visible-sm {
		display: block !important
	}
	table.visible-sm {
		display: table !important
	}
	tr.visible-sm {
		display: table-row !important
	}
	th.visible-sm, td.visible-sm {
		display: table-cell !important
	}
}
@media (min-width:768px) and (max-width:991px) {
	.visible-sm-block {
		display: block !important
	}
}
@media (min-width:768px) and (max-width:991px) {
	.visible-sm-inline {
		display: inline !important
	}
}
@media (min-width:768px) and (max-width:991px) {
	.visible-sm-inline-block {
		display: inline-block !important
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.visible-md {
		display: block !important
	}
	table.visible-md {
		display: table !important
	}
	tr.visible-md {
		display: table-row !important
	}
	th.visible-md, td.visible-md {
		display: table-cell !important
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.visible-md-block {
		display: block !important
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.visible-md-inline {
		display: inline !important
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.visible-md-inline-block {
		display: inline-block !important
	}
}
@media (min-width:1200px) {
	.visible-lg {
		display: block !important
	}
	table.visible-lg {
		display: table !important
	}
	tr.visible-lg {
		display: table-row !important
	}
	th.visible-lg, td.visible-lg {
		display: table-cell !important
	}
}
@media (min-width:1200px) {
	.visible-lg-block {
		display: block !important
	}
}
@media (min-width:1200px) {
	.visible-lg-inline {
		display: inline !important
	}
}
@media (min-width:1200px) {
	.visible-lg-inline-block {
		display: inline-block !important
	}
}
@media (max-width:767px) {
	.hidden-xs {
		display: none !important
	}
}
@media (min-width:768px) and (max-width:991px) {
	.hidden-sm {
		display: none !important
	}
}
@media (min-width:992px) and (max-width:1199px) {
	.hidden-md {
		display: none !important
	}
}
@media (min-width:1200px) {
	.hidden-lg {
		display: none !important
	}
}
.visible-print {
	display: none !important
}
@media print {
	.visible-print {
		display: block !important
	}
	table.visible-print {
		display: table !important
	}
	tr.visible-print {
		display: table-row !important
	}
	th.visible-print, td.visible-print {
		display: table-cell !important
	}
}
.visible-print-block {
	display: none !important
}
@media print {
	.visible-print-block {
		display: block !important
	}
}
.visible-print-inline {
	display: none !important
}
@media print {
	.visible-print-inline {
		display: inline !important
	}
}
.visible-print-inline-block {
	display: none !important
}
@media print {
	.visible-print-inline-block {
		display: inline-block !important
	}
}
@media print {
	.hidden-print {
		display: none !important
	}
}
.btn-primary {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear
}
.btn-primary:hover, .btn-primary:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
input[type='text'], input[type='search'], input[type='password'], textarea, select, button {
	font-size: inherit;
	font-family: inherit;
	outline: none
}
input[type='text'], input[type='search'], input[type='password'], textarea, select {
	border: 1px solid #d6d6d6;
	clear: both;
	margin: 10px 0;
	padding: 7px 10px;
	width: 100%
}
input[type='text']:disabled, input[type='search']:disabled, input[type='password']:disabled, textarea:disabled, select:disabled {
	background-color: #f0f0f0
}
input[type='text']:hover, input[type='search']:hover, input[type='password']:hover, textarea:hover, select:hover, input[type='text']:focus, input[type='search']:focus, input[type='password']:focus, textarea:focus, select:focus {
	-webkit-box-shadow: 0px 0px 7px #d6d6d6;
	box-shadow: 0px 0px 7px #d6d6d6
}
textarea {
	min-height: 120px;
	resize: none;
	overflow: auto
}
.validationMessage {
	font-size: 0.9rem;
	color: white;
	background: rgba(255, 0, 0, 0.7);
	padding: 3px;
	margin-top: 0;
	margin-bottom: 10px;
	display: table;
	clear: both
}
.validationMessage:before, .validationMessage:after {
	content: " ";
	display: table
}
.validationMessage:after {
	clear: both
}
.validationMessage:empty {
	display: none
}
.modal-open {
	overflow: hidden
}
.modal {
	display: none;
	overflow: hidden;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1050;
	-webkit-overflow-scrolling: touch;
	outline: 0
}
.modal.fade .modal-dialog {
	-webkit-transform: translate(0, -25%);
	-ms-transform: translate(0, -25%);
	-o-transform: translate(0, -25%);
	transform: translate(0, -25%);
	-webkit-transition: -webkit-transform 0.3s ease-out;
	-moz-transition: -moz-transform 0.3s ease-out;
	-o-transition: -o-transform 0.3s ease-out;
	transition: transform 0.3s ease-out
}
.modal.in .modal-dialog {
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0)
}
.modal button {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	display: inline-block
}
.modal button:hover, .modal button:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.modal-open .modal {
	overflow-x: hidden;
	overflow-y: auto
}
.modal-dialog {
	position: relative;
	width: auto;
	margin: 10px
}
.modal-content {
	position: relative;
	background-color: white;
	border: 1px solid #d6d6d6;
	-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
	background-clip: padding-box;
	outline: 0
}
.modal-to-basket {
	color: #65c2c4;
	text-decoration: none
}
.modal-to-basket:hover, .modal-to-basket:focus {
	color: #41a8aa;
	text-decoration: underline
}
.modal-backdrop {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1040;
	background-color: black
}
.modal-backdrop.fade {
	opacity: 0;
	filter: alpha(opacity=0)
}
.modal-backdrop.in {
	opacity: 0.5;
	filter: alpha(opacity=50)
}
.modal-header {
	padding: 15px;
	border-bottom: 1px solid #d6d6d6;
	min-height: 16.428571429px;
	position: relative
}
.modal-header h4, .modal-header h3 {
	font-size: 1.125rem;
}
.modal-header .close {
	margin-top: -2px;
	width: 20px;
	height: 20px;
	padding: 0;
	font-size: 24px;
	top: 4px;
	right: 10px;
	position: absolute;
	line-height: 1.1
}
.modal-header .close, .modal-header .close:hover, .modal-header .close:focus {
	background-color: transparent
}
.modal-header .close:before {
	content: '\00d7';
	color: #333333
}
.modal-title {
	margin: 0;
	line-height: 1.428571429
}
.modal-body {
	overflow-y: auto;
	position: relative;
	padding: 15px
}
.modal-body img {
	max-width: 100%
}
.modal-body .product-name {
	word-wrap: break-word
}
.modal-gallery-image .modal-body {
	text-align: center
}
.modal-footer {
	padding: 15px;
	text-align: right;
	border-top: 1px solid #d6d6d6
}
.modal-footer button {
	min-width: 100px;
	max-width: 150px;
	display: inline-block
}
.modal-footer .btn-close-modal {
	margin-left: 8px;
	background-color: #d6d6d6
}
.modal-footer .btn-close-modal:hover, .modal-footer .btn-close-modal:focus {
	background-color: #bcbcbc
}
.modal-scrollbar-measure {
	position: absolute;
	top: -9999px;
	width: 50px;
	height: 50px;
	overflow: scroll
}
.btn-close-modal {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear
}
.btn-close-modal:hover, .btn-close-modal:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
@media (min-width:768px) {
	.modal-dialog {
		width: 600px;
		margin: 30px auto
	}
	.modal-content {
		-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
		box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5)
	}
}
@media (min-width:768px) {
	.modal-dialog {
		width: 600px
	}
}
@media (min-width:768px) {
	.modal-dialog.modal-added-product {
		margin-top: 130px
	}
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}
html {
	font-size: 15px
}
body {
	color: #333333;
    	font-weight: 400;
	font-size: 15px;
	font-family: 'Mr Dodo', sans-serif !important;
	background-color: white;
	margin: 0;
	padding: 0;
	line-height: 1.3
}
a {
	color: #65c2c4;
	text-decoration: none
}
a:hover, a:focus {
	color: #41a8aa;
	text-decoration: underline
}
a.fileLink {
	padding-left: 24px;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 16px;
	background-image: url('data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%0A%3C%21--%20Generator%3A%20Adobe%20Illustrator%2018.0.0%2C%20SVG%20Export%20Plug-In%20.%20SVG%20Version%3A%206.00%20Build%200%29%20%20--%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Capa_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20309.197%20309.197%22%20style%3D%22enable-background%3Anew%200%200%20309.197%20309.197%3B%22%20xml%3Aspace%3D%22preserve%22%20width%3D%22512px%22%20height%3D%22512px%22%3E%0A%3Cg%3E%0A%09%3Cpolygon%20points%3D%22225.276%2C110.7%20188.393%2C110.7%20188.393%2C10.034%20120.809%2C10.034%20120.809%2C110.702%2083.915%2C110.702%20154.596%2C211.585%20%20%22%20fill%3D%22%2365C2C4%22%2F%3E%0A%09%3Cpolygon%20points%3D%22260.002%2C176.673%20260.002%2C249.962%2049.196%2C249.962%2049.196%2C176.673%200%2C176.673%200%2C299.163%20309.197%2C299.163%20%20%20%20309.197%2C176.673%20%20%22%20fill%3D%22%2365C2C4%22%2F%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3Cg%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A')
}
b, strong {
	font-weight: 500
}
#spin .spinner div {
	background-color: #65c2c4 !important
}
header:before, footer:before, .content:before, header:after, footer:after, .content:after {
	content: " ";
	display: table
}
header:after, footer:after, .content:after {
	clear: both
}
.cookies {
	border-top: 4px solid #65c2c4;
	text-align: center;
	padding: 10px 10px 0 10px;
	position: fixed;
	left: 0;
	bottom: 0;
	background-color: white;
	width: 100%;
	z-index: 1025;
	-webkit-box-shadow: 0 0 5px #d6d6d6;
	box-shadow: 0 0 5px #d6d6d6
}
.cookies button {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	width: 100%;
	max-width: none;
	margin: 10px 0
}
.cookies button:hover, .cookies button:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
@media (min-width:768px) {
	.cookies button {
		width: auto;
		padding-left: 10px;
		padding-right: 10px;
		margin-left: 5px;
		margin-right: 5px;
		display: inline-block
	}
}
.widget {
	padding: 10px 0;
	border: 0
}
.widget .widget-header {
	margin-bottom: 15px;
	word-wrap: break-word;
	text-transform: uppercase;
	color: #65c2c4
}
.widget .widget-header h4, .widget .widget-header h1 {
	font-size: 1.5rem;
	padding: 14px 0
}
footer .widget .widget-header {
	color: #333333;
	text-transform: none
}
.widget button {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	width: 100%;
	max-width: 120px;
	margin-left: auto;
	margin-right: 0
}
.widget button:hover, .widget button:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.pagination {
	padding: 5px;
	font-size: 0.9rem;
	text-align: center
}

.blue-container .pagination a, .blue-container .pagination .arrow-left, .blue-container .pagination .arrow-right {
	background-color: #44b0b2
}
.blue-container .pagination a:hover, .blue-container .pagination .arrow-left:hover, .blue-container .pagination .arrow-right:hover {
	background-color: #53bbbd
}
.pagination {
	padding: 12px 0
}
.pagination a, .pagination span {
	margin: 0
}
.pagination .current-page, .pagination .offer-paging-item {
	line-height: 40px;
	display: inline-block;
	width: 40px;
	height: 40px;
	border: 1px solid #d8d8d8;
	border-radius: 0
}
.pagination .current-page:focus, .pagination .current-page:hover, .pagination .offer-paging-item:focus, .pagination .offer-paging-item:hover {
	text-decoration: none
}
.pagination .offer-paging-item:focus, .pagination .offer-paging-item:hover {
	border-color: #d9e249;
	color: #d9e249;
	background: transparent
}
.pagination .current-of, .pagination .offer-paging-item {
	margin: 12px 3px 0
}
.pagination .arrow-left, .pagination .arrow-right {
	margin: 0 3px
}
.pagination a {
	color: #666;
	transition: all .3s ease
}
.pagination a:focus, .pagination a:hover {
	cursor: pointer
}
.pagination .current-page {
	border-color: #d9e249;
	background: #d9e249;
	color: #fff
}
.pagination .arrow-left, .pagination .arrow-right {
	display: inline-block;
	width: 0;
	height: 0;
	vertical-align: middle;
	text-indent: -9999px;
	border: 12px solid transparent;
	background-color: transparent
}
.pagination .arrow-right {
	border-right: 0;
	border-left-color: #d8d8d8
}
.pagination .arrow-right:focus, .pagination .arrow-right:hover {
	border-left-color: #d9e249;
	background: transparent
}
.pagination .arrow-left {
	border-right-color: #d8d8d8;
	border-left: 0
}
.pagination .arrow-left:focus, .pagination .arrow-left:hover {
	border-right-color: #d9e249;
	background: transparent
}
.pagination .btn, .pagination input[type=text] {
	display: inline-block;
	width: 56px;
	text-align: center;
	height: 40px;
	padding: 12px
}
.pagination .btn {
	padding: 0;
	position: relative;
	top: -1px
}
.basket-area {
	padding-top: 25px;
	padding-bottom: 10px
}
.basket-steps {
	margin: 0 0 20px 0;
	font-size: 1.2rem;
	color: #b2b2b2
}
.basket-steps a {
	color: #333333
}
.basket-steps i {
	color: #333333
}
.basket-steps i:before {
	content: '\00BB'
}
#orderSummaryCheckboxes input[type="checkbox"] {
	position: relative;
	top: 2px
}
.basket-order-title, .summary-data-container h4, .basket-order-completed h4, .order-payment-container h4 {
	font-size: 1.4rem;
	margin-bottom: 15px
}
.basket-area-empty a {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	width: 180px;
	margin-top: 15px
}
.basket-area-empty a:hover, .basket-area-empty a:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.basket-area-empty a:before, .basket-area-empty a:after {
	content: " ";
	display: table
}
.basket-area-empty a:after {
	clear: both
}
.basket-area-items-list {
	border-top: 1px solid #d6d6d6;
	width: 100%;
	table-layout: fixed;
	margin-bottom: 25px
}
.basket-area-items-list a {
	color: #333333;
	word-wrap: break-word
}
.basket-area-items-list .item-title {
	display: block
}
.basket-area-items-list .item-title, .basket-area-items-list .item-description {
	word-wrap: break-word;
	word-break: break-word
}
.basket-area-items-list .item-features {
	margin: 5px 0 0 0
}
.basket-area-items-list thead {
	display: none
}
.basket-area-items-list tr {
	border-bottom: 1px solid #d6d6d6;
	display: block;
	padding: 20px 0;
	position: relative
}
.basket-area-items-list th {
	padding: 5px;
	text-align: center
}
.basket-area-items-list td {
	text-align: center;
	vertical-align: middle;
	display: block;
	padding: 5px;
	clear: both;
	width: 100%
}
.basket-area-items-list .quantity-change {
	height: auto
}
.basket-area-items-list .amount-quantity {
	display: block;
	clear: both
}
.basket-area-items-list .remove-item-from-basket {
	position: absolute;
	top: 5px;
	right: 0;
	width: 16px;
	height: 15px;
    	background: transparent url(https://ipetyou.pl/wp-content/uploads/2022/10/usun-mini.png) center center no-repeat;
	border: none;
	cursor: pointer
}
.basket-area-items-list img {
	max-width: 120px;
	max-height: 120px
}
@media (min-width:992px) {
	.basket-area-items-list {
		border-top: none
	}
	.basket-area-items-list thead {
		display: table-header-group
	}
	.basket-area-items-list th.th-image {
		width: 150px
	}
	.basket-area-items-list th.th-name {
		width: 350px
	}
	.basket-area-items-list th.th-quantity {
		width: 160px
	}
	.basket-area-items-list tr {
		display: table-row;
		padding: 0
	}
	.basket-area-items-list td {
		display: table-cell;
		width: auto;
		padding: 20px 10px;
		clear: none
	}
	.basket-area-items-list .remove-item-from-basket {
		position: relative;
		top: auto;
		right: auto
	}
}
.basket-area-items-list .standard-price {
	font-size: 0.9em;
	color: #8c8c8c;
	text-decoration: line-through;
	display: block
}
.basket-order-summary .basket-area-items-list {
	margin-bottom: 20px
}
@media (min-width:992px) {
	.basket-order-summary .basket-area-items-list {
		margin-bottom: 40px;
		border-top: none
	}
	.basket-order-summary .basket-area-items-list thead {
		display: table-header-group
	}
}
.basket-order-summary .basket-area-items-list a {
	color: #333333
}
@media (min-width:992px) {
	.basket-order-completed .basket-area-items-list {
		border-top: none
	}
	.basket-order-completed .basket-area-items-list thead {
		display: table-header-group
	}
}
.basket-area-summary {
	text-align: center
}
.basket-area-summary .basket-area-summary-price {
	padding: 15px 0
}
.basket-area-summary .basket-area-summary-price span {
	font-size: 1.25rem;
	color: #65c2c4;
	display: block;
	clear: both;
	padding: 10px
}
.basket-area-summary form:before, .basket-area-summary form:after {
	content: " ";
	display: table
}
.basket-area-summary form:after {
	clear: both
}
@media (min-width:992px) {
	.basket-area-summary {
		text-align: right
	}
	.basket-area-summary .basket-area-summary-price span {
		display: inline;
		padding: auto;
		clear: none
	}
}
.basket-area-footer {
	padding-top: 20px;
	padding-bottom: 20px;
	clear: both
}
.basket-area-footer:before, .basket-area-footer:after {
	content: " ";
	display: table
}
.basket-area-footer:after {
	clear: both
}
.btn-return, .btn-shopping-continue, .btn-checkout, .btn-search-delivery-points {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	font-size: 1rem;
	width: 200px;
	clear: both;
	margin: 5px auto;
	margin: 10px auto
}
.btn-return:hover, .btn-shopping-continue:hover, .btn-checkout:hover, .btn-search-delivery-points:hover, .btn-return:focus, .btn-shopping-continue:focus, .btn-checkout:focus, .btn-search-delivery-points:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
@media (min-width:992px) {
	.btn-return, .btn-shopping-continue, .btn-checkout, .btn-search-delivery-points {
		min-width: 150px;
		width: auto;
		margin: 0 auto
	}
}
@media (min-width:768px) {
	.btn-search-delivery-points {
		margin-left: auto;
		margin-right: 27px
	}
}
.btn-return, .btn-shopping-continue {
	background-color: #d6d6d6
}
.btn-return:hover, .btn-shopping-continue:hover, .btn-return:focus, .btn-shopping-continue:focus {
	background-color: #bcbcbc
}
@media (min-width:992px) {
	.btn-return, .btn-shopping-continue, .btn-checkout {
		clear: none
	}
	.btn-return, .btn-shopping-continue {
		float: left;
		width: auto
	}
	.btn-checkout {
		float: right
	}
	.btn-shopping-continue, .btn-checkout {
		width: auto;
		margin: 0 auto
	}
}
.checkout-shipping-form .form-group, .checkout-deliveries .form-group {
	padding: 6px 0
}
.checkout-shipping-form .form-group input[type="text"], .checkout-deliveries .form-group input[type="text"], .checkout-shipping-form .form-group select, .checkout-deliveries .form-group select {
	width: 100%;
	clear: both
}
.checkout-shipping-form .form-group input[type="radio"], .checkout-deliveries .form-group input[type="radio"] {
	margin-right: 3px
}
@media (min-width:768px) {
	.checkout-shipping-form .form-group, .checkout-deliveries .form-group {
		width: 630px
	}
	.checkout-shipping-form .form-group.checkbox, .checkout-deliveries .form-group.checkbox {
		margin-left: 200px;
		width: auto
	}
	.checkout-shipping-form .form-group input[type="radio"], .checkout-deliveries .form-group input[type="radio"] {
		margin-left: 204px;
		margin-right: 7px
	}
	.checkout-shipping-form .form-group label, .checkout-deliveries .form-group label {
		display: inline-block;
		width: 200px
	}
	.checkout-shipping-form .form-group .validationMessage, .checkout-deliveries .form-group .validationMessage {
		margin-left: 204px
	}
	.checkout-shipping-form .form-group input[type="text"], .checkout-deliveries .form-group input[type="text"], .checkout-shipping-form .form-group select, .checkout-deliveries .form-group select {
		width: 400px
	}
}
#InvoiceUserType_Company {
	float: left
}
#InvoiceUserType_NaturalPerson {
	float: left
}
.checkout-user-data, .checkout-company-data, .checkout-deliveries {
	padding: 10px 0
}
.summary-data-container {
	margin-left: -10px;
	margin-right: -10px
}
.summary-data-container>div {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:992px) {
	.summary-data-container>div {
		float: left;
		width: 50%
	}
}
.summary-data-container>div:nth-child(odd) {
	clear: left
}
.summary-data-container>div.summary-comment-form {
	clear: both
}
.summary-data-container table {
	width: 100%;
	margin-bottom: 40px;
	table-layout: fixed
}
.summary-data-container table table {
	border-collapse: collapse;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed
}
.summary-data-container table th {
}
.summary-data-container table th, .summary-data-container table td {
	padding: 8px;
	border: 1px solid #d6d6d6;
	word-break: break-word
}
.summary-data-container table tr td:first-child {
	color: #999999
}
.summary-data-container table b {
}
.summary-data-container textarea {
	margin-top: 0
}
.summary-regulations {
	clear: both
}
.summary-regulations:before, .summary-regulations:after {
	content: " ";
	display: table
}
.summary-regulations:after {
	clear: both
}
.summary-regulations .checkbox {
	padding: 4px 0
}
.summary-regulations .checkbox .validationMessage {
	margin-top: 8px
}
.summary-agreements {
	margin-bottom: 20px
}
.summary-agreements p {
	padding: 4px 0
}
.order-payment-container, .order-completed-container-properties {
	padding-top: 25px;
	padding-bottom: 20px
}
.order-payment-container p, .order-completed-container-properties p {
	padding-bottom: 15px
}
.order-payment-container span, .order-completed-container-properties span {
}
h4.order-completed-info-title, .order-completed-container-products {
	margin-bottom: 30px
}
.order-payment-info-group, .order-completed-info-group {
	margin-bottom: 20px
}
.order-completed-status {
	text-align: center
}
.order-completed-status p {
	margin-bottom: 10px
}
.basket-user-actions {
	margin-left: -10px;
	margin-right: -10px;
	padding-bottom: 40px
}
.basket-user-actions .basket-user-login, .basket-user-actions .basket-user-register, .basket-user-actions .basket-user-order-proceed {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
	padding-bottom: 35px
}
@media (min-width:992px) {
	.basket-user-actions .basket-user-login, .basket-user-actions .basket-user-register, .basket-user-actions .basket-user-order-proceed {
		float: left;
		width: 33.333333333%
	}
}
.basket-user-actions .basket-user-login h4, .basket-user-actions .basket-user-register h4, .basket-user-actions .basket-user-order-proceed h4 {
	font-size: 1.25rem;
	margin-bottom: 20px
}
.basket-user-actions .basket-user-login button, .basket-user-actions .basket-user-register button, .basket-user-actions .basket-user-order-proceed button {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	margin-left: auto;
	margin-right: auto;
	width: 180px
}
.basket-user-actions .basket-user-login button:hover, .basket-user-actions .basket-user-register button:hover, .basket-user-actions .basket-user-order-proceed button:hover, .basket-user-actions .basket-user-login button:focus, .basket-user-actions .basket-user-register button:focus, .basket-user-actions .basket-user-order-proceed button:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.basket-user-actions .basket-user-order-proceed>button {
	background-color: #41a8aa
}
.basket-user-actions .basket-user-order-proceed>button:hover {
	background-color: #65c2c4
}
.order-payment-dotpay button[type="submit"] {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	margin-left: 0;
	margin-right: auto;
	min-width: 140px
}
.order-payment-dotpay button[type="submit"]:hover, .order-payment-dotpay button[type="submit"]:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.basket-deliveries h4 {
	font-size: 1rem;
	margin-top: 10px
}
.delivery-points {
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid #d6d6d6
}
.delivery-points:empty {
	display: none
}
.form-group.delivery-points {
	padding: 0
}
@media (min-width:768px) {
	.form-group.delivery-points {
		width: 603px
	}
}
.delivery-points:before, .delivery-points:after {
	content: " ";
	display: table
}
.delivery-points:after {
	clear: both
}
.delivery-points>div {
	border-bottom: 1px solid #d6d6d6
}
.delivery-points>div:last-child {
	border-bottom: none
}
@media (min-width:768px) {
	.checkout-deliveries .alert {
		width: 603px;
		margin-left: 0;
		margin-right: auto
	}
}
.active-delivery-point {
	background: #f2fae3;
	color: #659f13
}
@media print {
	.zamowienie.podsumowanie_zamowienia * {
		font-family: Mr Dodo, sans-serif !important;
		font-size: 10px
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-footer, .zamowienie.podsumowanie_zamowienia .basket-steps, .zamowienie.podsumowanie_zamowienia .powered-by, .zamowienie.podsumowanie_zamowienia .summary-agreements, .zamowienie.podsumowanie_zamowienia .summary-regulations, .zamowienie.podsumowanie_zamowienia footer, .zamowienie.podsumowanie_zamowienia header {
		display: none
	}
	.zamowienie.podsumowanie_zamowienia .order-items-list-title {
		display: table-header-group
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-items-list {
		margin-bottom: 20px
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-items-list tr {
		display: table-row;
		padding: 0
	}
	.zamowienie.podsumowanie_zamowienia h4 {
		margin-bottom: 5px
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-items-list-data tr td, .zamowienie.podsumowanie_zamowienia .basket-area-items-list-data tr td a {
		padding: 2px;
		font-size: 10px
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-items-list-data:nth-child(3n) {
		width: 150px
	}
	.zamowienie.podsumowanie_zamowienia .basket-area-items-list-data img {
		max-width: 75px;
		max-height: 75px
	}
	.zamowienie.podsumowanie_zamowienia td:first-child, .zamowienie.podsumowanie_zamowienia th:first-child {
		width: 100px
	}
	.zamowienie.podsumowanie_zamowienia td:nth-child(2), .zamowienie.podsumowanie_zamowienia th:nth-child(2) {
		width: 200px
	}
	.zamowienie.podsumowanie_zamowienia td {
		display: table-cell;
		width: auto;
		padding: 2px;
		clear: none
	}
	.zamowienie.podsumowanie_zamowienia td .item-description {
		font-size: 0.8em
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container td, .zamowienie.podsumowanie_zamowienia .summary-data-container th {
		width: auto
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container>div {
		width: 50%;
		float: left
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container>div:nth-child(odd) {
		clear: both;
		padding-right: 10px
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container>div:nth-child(event) {
		padding-left: 10px
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container>div.summary-comment-form {
		clear: both;
		padding-right: 10px
	}
	.zamowienie.podsumowanie_zamowienia .summary-data-container>div table {
		margin-bottom: 15px
	}
	.zamowienie.podsumowanie_zamowienia .tooltip-toggle {
		display: block;
		width: 100%
	}
	.zamowienie.podsumowanie_zamowienia .tooltip {
		width: 100%;
		display: block;
		position: relative;
		border: none;
		padding: 3px;
		top: auto;
		bottom: auto;
		left: auto;
		right: auto;
		margin: auto;
		transform: none;
		min-width: 0
	}
	.summary-comment-form {
		margin: 5px 0
	}
	.summary-comment-form textarea {
		min-height: 0;
		border: none
	}
}
.discount-code-form {
	text-align: left
}
@media (min-width:768px) {
	.discount-code-form {
		text-align: right
	}
}
.discount-code-form:before, .discount-code-form:after {
	content: " ";
	display: table
}
.discount-code-form:after {
	clear: both
}
.discount-code-form .form-group {
	width: 100%
}
@media (min-width:768px) {
	.discount-code-form .form-group {
		width: 360px;
		float: right
	}
}
.discount-code-form .input-discount-code, .discount-code-form .btn-discount-code {
	float: left;
	display: block;
	margin-left: 0;
	margin-right: 0;
	height: 38px
}
.discount-code-form .input-discount-code {
	width: 65%;
	border-right: 0
}
.discount-code-form .btn-discount-code {
	width: 35%;
	margin-top: 10px;
	padding-top: 8px;
	padding-bottom: 8px;
	min-width: 0
}
.max-discount-exceeded-info {
	font-weight: 500;
	color: red
}
#easypack-map button.btn.btn-search {
	margin: 0
}
#delivery-inpost-plugin {
	display: block;
	width: 100%;
	clear: both
}
#delivery-inpost-plugin .delivery-insurance {
	clear: both
}
.alert {
	padding: 15px 20px;
	margin: 15px auto;
	border: 1px solid #dddddd;
	background: whitesmoke;
	text-align: center;
	border-radius: none;
	z-index: 10;
	word-wrap: break-word;
	word-break: break-word
}
.alert h4 {
	margin-top: 0;
	color: inherit
}
.alert a {
}
.alert-dismissible {
	padding-right: 30px;
	position: relative
}
.alert-dismissible .close {
	color: inherit;
	top: 5px;
	right: 5px;
	position: absolute;
	background: none;
	border: none;
	cursor: pointer;
	width: 20px;
	height: 20px;
	line-height: 20px;
	margin: 0;
	padding: 0
}
.alert-dismissible .close:hover, .alert-dismissible .close:focus {
	box-shadow: none;
	outline: none
}
.alert-success {
	background: #b884cb;
	color: white
}
.alert-info {
	background: #b884cb;
	color: white
}
.alert-warning {
	background: #f86767;
	color: white
}
.alert-danger {
	background: #f86767;
	color: white
}
.notify {
	font-size: 16px;
	margin-left: 10px
}
@media (min-width:768px) {
	.notify {
		max-width: 400px
	}
	.modal-open .notify {
		margin-right: 17px !important
	}
}
.blue-container {
	color: white;
	background-color: #65c2c4;
	clear: both
}
.blue-container:before, .blue-container:after {
	content: " ";
	display: table
}
.blue-container:after {
	clear: both
}
.gray-container {
	background-color: #f7f7f7;
	clear: both
}
.gray-container:before, .gray-container:after {
	content: " ";
	display: table
}
.gray-container:after {
	clear: both
}
.social-gplus, .social-facebook {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background-repeat: no-repeat;
	display: block;
	margin: 4px;
	float: right
}
.social-gplus {
	background-color: #c62328;
	background-size: 22px;
	background-position: center center;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M3.978%2011.178c0%202.988%200.998%205.144%202.964%206.41%201.612%201.040%203.48%201.196%204.452%201.196%200.236%200%200.426-0.012%200.558-0.020%200%200-0.308%202.008%201.18%203.992h-0.068c-2.578%200-10.986%200.538-10.986%207.454%200%207.032%207.722%207.39%209.272%207.39%200.122%200%200.194-0.004%200.194-0.004%200.016%200%200.126%200.004%200.316%200.004%200.994%200%203.564-0.124%205.95-1.286%203.096-1.5%204.666-4.118%204.666-7.77%200-3.528-2.392-5.628-4.138-7.164-1.066-0.938-1.988-1.746-1.988-2.532%200-0.8%200.674-1.402%201.524-2.164%201.378-1.23%202.678-2.984%202.678-6.3%200-2.914-0.378-4.872-2.708-6.114%200.242-0.124%201.102-0.214%201.526-0.274%201.262-0.172%203.108-0.368%203.108-1.398v-0.198h-9.198c-0.092%200.004-9.302%200.344-9.302%208.778zM18.826%2029.204c0.176%202.812-2.23%204.886-5.844%205.148-3.67%200.27-6.69-1.382-6.866-4.192-0.086-1.352%200.508-2.672%201.67-3.726%201.178-1.066%202.796-1.726%204.556-1.856%200.208-0.012%200.414-0.024%200.62-0.024%203.398%200.002%205.698%201.998%205.864%204.65zM16.424%209.252c0.902%203.176-0.46%206.492-2.632%207.106-0.25%200.070-0.506%200.104-0.768%200.104-1.988%200-3.958-2.012-4.69-4.786-0.408-1.552-0.374-2.916%200.094-4.224%200.458-1.29%201.286-2.156%202.326-2.45%200.25-0.070%200.508-0.106%200.77-0.106%202.4%200%203.944%200.996%204.9%204.356zM32%2016v-6h-4v6h-6v4h6v6h4v-6h6v-4h-6z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A")
}
.social-facebook {
	background-color: #37619b;
	background-size: 36px;
	background-position: 1px 4px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M26%2020h6v6h-6v14h-6v-14h-6v-6h6v-2.51c0-2.378%200.748-5.382%202.236-7.024%201.488-1.646%203.346-2.466%205.572-2.466h4.192v6h-4.2c-0.996%200-1.8%200.804-1.8%201.798v4.202z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A")
}
.custom .widget-content .box {
	font-size: 1.2rem;
	padding: 35px;
	line-height: 1.6;
	min-height: 265px;
	margin-bottom: 10px;
	text-decoration: none;
	display: block
}
.custom .widget-content .box, .custom .widget-content .box:hover {
	color: white
}
.custom .widget-content .box:hover {
	opacity: 0.8
}
.custom .widget-content .box img {
	float: left;
	margin-right: 20px;
	margin-bottom: 10px
}
.custom .widget-content .box h5 {
	font-size: 1.4rem;
	margin: 10px 0 30px 0;
	clear: right
}
.custom .widget-content .box-black {
	background-color: #434343
}
.custom .widget-content .box-blue {
	background-color: #009dca
}
.custom .widget-content .box-red {
	background-color: #f95f57
}
.blue-container a, .blue-container .custom .widget-content a, .blue-container a:hover, .blue-container .custom .widget-content a:hover {
	color: white
}
.blue-container .widget-newsletter {
	margin: 50px 0;
	font-size: 1.1rem;
}
.blue-container .widget-newsletter .widget-newsletter-label {
	margin-bottom: 20px
}
.blue-container .widget-newsletter .email-newsletter-input {
	padding: 12px 10px
}
.blue-container .widget-newsletter button, .blue-container .widget-newsletter .email-newsletter-input {
	height: 48px
}
.blue-container .widget-newsletter .email-newsletter-input {
	padding-right: 60px
}
.blue-container .widget-newsletter button {
	width: 50px;
	background-size: 32px
}
footer .blue-container {
	font-size: 0.8rem;
	padding-top: 15px;
	padding-bottom: 15px
}
footer .gray-container {
	margin-top: 30px;
	color: #999999
}
.pay-methods {
	line-height: 22px
}
.pay-methods, .pay-methods img {
	display: inline-block;
	vertical-align: middle
}
.pay-methods img {
	margin: 5px 10px
}
.tooltip-toggle {
	position: relative;
	cursor: default
}
.tooltip-toggle:hover .tooltip {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s
}
.tooltip {
	padding: 15px;
	background-color: white;
	border: 3px solid #65c2c4;
	min-width: 200px;
	-webkit-box-shadow: 0px 0px 7px #d6d6d6;
	box-shadow: 0px 0px 7px #d6d6d6;
	opacity: 0;
	position: absolute;
	z-index: 1;
	display: block;
	transition: visibility 0s ease 0.2s, opacity 0.2s ease;
	visibility: hidden
}
@media (max-width:768px) {
	.tooltip {
		left: initial;
		right: initial;
		top: initial;
		bottom: initial;
		opacity: 1;
		visibility: visible;
		display: block;
		margin-top: 10px;
		margin-bottom: 10px;
		position: relative
	}
}
.tooltip::before {
	content: '';
	width: 0;
	height: 0;
	display: block;
	border-style: solid;
	border-color: transparent;
	border-width: 10px;
	position: absolute
}
@media (max-width:768px) {
	.tooltip::before {
		display: none
	}
}
.tooltip>div {
	padding-bottom: 5px
}
.tooltip.tooltip-top {
	margin-bottom: 8px;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%)
}
.tooltip.tooltip-top::before {
	border-top-color: #65c2c4;
	border-bottom-width: 0;
	top: 100%;
	left: 50%;
	margin-left: -10px
}
.tooltip.tooltip-right {
	margin-left: 8px;
	left: 100%;
	top: 50%;
	transform: translateY(-50%)
}
.tooltip.tooltip-right::before {
	border-right-color: #65c2c4;
	border-left-width: 0;
	top: 50%;
	right: 100%;
	margin-top: -10px
}
.tooltip.tooltip-bottom {
	margin-top: 8px;
	top: 100%;
	left: 50%;
	transform: translateX(-50%)
}
.tooltip.tooltip-bottom::before {
	border-bottom-color: #65c2c4;
	border-top-width: 0;
	bottom: 100%;
	left: 50%;
	margin-left: -10px
}
.tooltip.tooltip-left {
	margin-right: 8px;
	right: 100%;
	top: 50%;
	transform: translateY(-50%)
}
.tooltip.tooltip-left::before {
	border-left-color: #65c2c4;
	border-right-width: 0;
	top: 50%;
	left: 100%;
	margin-top: -10px
}
.tooltip-info {
	display: block;
	color: #777777;
	font-size: 11px
}
.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}
@-webkit-keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none
	}
}
@keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none
	}
}
.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown
}
@-webkit-keyframes fadeOutUp {
	from {
		opacity: 1
	}
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
}
@keyframes fadeOutUp {
	from {
		opacity: 1
	}
	to {
		opacity: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
}
.fadeOutUp {
	-webkit-animation-name: fadeOutUp;
	animation-name: fadeOutUp
}
@-webkit-keyframes fadeOutRight {
	from {
		opacity: 1
	}
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0)
	}
}
@keyframes fadeOutRight {
	from {
		opacity: 1
	}
	to {
		opacity: 0;
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0)
	}
}
.fadeOutRight {
	-webkit-animation-name: fadeOutRight;
	animation-name: fadeOutRight
}
.widget-product-details {
	padding-top: 25px
}
.widget-product-details .product-details-slider #carousel, .widget-product-details .product-details-slider #slider-tmbs {
	border: 1px solid #d6d6d6;
	margin-bottom: 15px
}
.widget-product-details .product-details-image-container, .widget-product-details .product-details-data-container {
	width: 100%
}
@media (min-width:768px) {
	.col-sm-9 .widget-product-details .product-details-image-container, .col-sm-9 .widget-product-details .product-details-data-container, .col-sm-10 .widget-product-details .product-details-image-container, .col-sm-10 .widget-product-details .product-details-data-container, .col-sm-11 .widget-product-details .product-details-image-container, .col-sm-11 .widget-product-details .product-details-data-container, .col-sm-12 .widget-product-details .product-details-image-container, .col-sm-12 .widget-product-details .product-details-data-container {
		width: 50%;
		float: left
	}
}
.widget-product-details .product-details-availability {
	margin-bottom: 10px
}
.widget-product-details .product-details-availability .product-label {
	margin: 0
}
.widget-product-details .product-label:empty {
	display: none
}
.widget-product-details .product-details-image-container {
	position: relative;
	overflow: hidden
}
@media (min-width:768px) {
	.col-sm-9 .widget-product-details .product-details-data-container, .col-sm-10 .widget-product-details .product-details-data-container, .col-sm-11 .widget-product-details .product-details-data-container, .col-sm-12 .widget-product-details .product-details-data-container {
		padding-left: 20px
	}
}
.widget-product-details .product-details-data-container .product-details-title {
	margin-bottom: 20px;
	font-size: 1.5rem;
	word-wrap: break-word
}
.widget-product-details .product-details-data-container .product-details-price {
	padding-top: 5px;
	padding-bottom: 15px
}
.widget-product-details .product-details-data-container .product-details-price p {
	padding: 6px 0
}
.widget-product-details .product-details-data-container .product-details-price p .product-price-promotion, .widget-product-details .product-details-data-container .product-details-price p span:last-child {
	font-size: 1.5rem;
	color: #f86767
}
@media (min-width:768px) {
	.widget-product-details .product-details-data-container .product-details-price {
		float: left
	}
	.widget-product-details .product-details-data-container .product-details-actions {
		float: right;
		width: 140px
	}
	.widget-product-details .product-details-data-container .product-details-actions .letter-of-enquiry {
		margin-top: 15px
	}
	.widget-product-details .product-details-data-container .product-details-actions .btn-add-to-cart+.letter-of-enquiry {
		margin-top: 0
	}
}
.widget-product-details .one-product-tables {
	clear: both
}
.widget-product-details .one-product-tables:before, .widget-product-details .one-product-tables:after {
	content: " ";
	display: table
}
.widget-product-details .one-product-tables:after {
	clear: both
}
#carousel .carousel-inner {
	height: 300px
}
#carousel .carousel-inner img {
	max-height: 300px;
	width: auto
}
#carousel img, #slider-tmbs img {
	cursor: pointer
}
#slider-tmbs .carousel-inner {
	height: 140px
}
#slider-tmbs .carousel-inner .item {
	width: 100%;
	height: 100%;
	float: left
}
#slider-tmbs .carousel-inner .item li {
	float: left;
	width: 33.33333%;
	padding: 5px;
	height: 100%
}
#slider-tmbs .carousel-inner .item li a {
	height: 100%;
	display: block;
	position: relative
}
#slider-tmbs .carousel-inner .item li a img {
	position: absolute;
	width: auto;
	max-height: 100%;
	max-width: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto
}
.one-product-tables {
	padding-top: 20px
}
@media (min-width:768px) {
	.col-sm-9 .one-product-tables, .col-sm-10 .one-product-tables, .col-sm-11 .one-product-tables, .col-sm-12 .one-product-tables {
		float: right;
		clear: none;
		width: 50%;
		padding-left: 20px
	}
}
.nav-tabs {
	border-bottom: 1px solid #d6d6d6
}
.nav-tabs:before, .nav-tabs:after {
	content: " ";
	display: table
}
.nav-tabs:after {
	clear: both
}
@media (min-width:768px) {
	.nav-tabs li {
		float: left;
		margin-bottom: -1px
	}
}
.nav-tabs li.active {
}
.nav-tabs li.active a {
	border-bottom-color: white
}
.nav-tabs li.active a:hover {
	background-color: transparent;
	color: #333333
}
.nav-tabs li a {
	padding: 10px 5px;
	margin-right: 2px;
	border: 1px solid #d6d6d6;
	display: block;
	text-decoration: none;
	color: #333333
}
.nav-tabs li a:hover {
	color: #41a8aa;
	background-color: whitesmoke;
	text-decoration: none
}
@media (max-width:767px) {
	.nav-tabs li a {
		border-bottom: none;
		margin-right: 0
	}
	.nav-tabs li.active a {
	}
}
.tab-content {
	padding: 10px 15px;
	border-left: 1px solid #d6d6d6;
	border-right: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
	word-wrap: break-word
}
.tab-content table {
	width: 100%;
	table-layout: fixed
}
.tab-content table td label {
	color: #a6a6a6
}
.tab-content:before, .tab-content:after {
	content: " ";
	display: table
}
.tab-content:after {
	clear: both
}
.tab-content>.tab-pane {
	display: none;
	word-wrap: break-word;
	word-break: break-word
}
.tab-content>.tab-pane h1, .tab-content>.tab-pane h2, .tab-content>.tab-pane h3, .tab-content>.tab-pane h4, .tab-content>.tab-pane h5, .tab-content>.tab-pane h6 {
	padding: 15px 0
}
.tab-content>.tab-pane h1 {
	font-size: 1.5rem
}
.tab-content>.tab-pane h2 {
	font-size: 1.25rem
}
.tab-content>.tab-pane h3 {
	font-size: 1.125rem
}
.tab-content>.tab-pane h4 {
	font-size: 1rem
}
.tab-content>.tab-pane h5 {
	font-size: 0.875rem
}
.tab-content>.tab-pane h6 {
	font-size: 0.75rem
}
.tab-content>.tab-pane ul {
	list-style-type: disc
}
.tab-content>.tab-pane ol {
	list-style-type: decimal
}
.tab-content>.tab-pane ul, .tab-content>.tab-pane ol {
	padding-left: 30px
}
.tab-content>.tab-pane p, .tab-content>.tab-pane ul, .tab-content>.tab-pane ol {
	margin: 10px 0
}
.tab-content>.tab-pane blockquote, .tab-content>.tab-pane q, .tab-content>.tab-pane cite, .tab-content>.tab-pane em, .tab-content>.tab-pane i {
	font-style: italic
}
.tab-content>.tab-pane b, .tab-content>.tab-pane strong {
	font-weight: 500;
}
.tab-content>.tab-pane p:after {
	content: "";
	display: inline-block;
	width: 0px
}
.tab-content>.tab-pane a {
	color: #65c2c4
}
.tab-content>.tab-pane a:hover, .tab-content>.tab-pane a:focus {
	color: #41a8aa
}
.tab-content>.tab-pane table {
	border-collapse: collapse;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed
}
.tab-content>.tab-pane th {
}
.tab-content>.tab-pane th, .tab-content>.tab-pane td {
	padding: 8px;
	border: 1px solid #d6d6d6;
	word-break: break-word
}
.tab-content>.active {
	display: block
}
.tab-content #description {
	overflow: auto
}
.tab-content #description .item-description img {
	max-width: 100% !important
}
.tab-content #description .item-description table, .tab-content #description .item-description tbody {
	width: 100% !important
}
.item-description {
	font-size: 1rem
}
.item-description h1:first-child, .item-description h2:first-child, .item-description h3:first-child, .item-description h4:first-child, .item-description h5:first-child, .item-description h6:first-child {
	margin-top: 0
}
.item-description>* {
	max-width: 100%
}
.item-attachment:not(:last-child), .item-description:not(:last-child) {
	margin-bottom: 20px
}
.item-attachment {
	white-space: pre-wrap
}
.product-details-filters-container {
	margin-bottom: 20px
}
.product-details-filters-container .form-group {
	margin-left: -10px;
	margin-right: -10px
}
.product-details-filters-container .form-group:empty {
	display: none
}
.product-details-filters-container .control-label {
	padding-top: 19px
}
.product-details-filters-container select {
	width: 100%
}
.modal-body .product-details-filters-container {
	margin-bottom: 0
}
#features ul {
	list-style-type: none;
	margin: 5px 0;
	padding: 0
}
#features li {
	margin: 0;
	padding-bottom: 8px
}
.product-variant-list {
	clear: both;
	padding-top: 15px
}
.product-variant-list:before, .product-variant-list:after {
	content: " ";
	display: table
}
.product-variant-list:after {
	clear: both
}
.product-variant-header {
	font-size: 13px;
	margin-bottom: 20px
}
.product-variant {
	width: 100%;
	display: block;
	margin-bottom: 15px;
	padding: 0;
	border: 1px solid #d6d6d6;
	text-align: right;
	-webkit-font-smoothing: antialiased
}
@media (min-width:768px) {
	.product-variant {
		-webkit-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		transition: all 0.2s linear
	}
	.product-variant:hover {
		transform: scale(1.02);
		-webkit-box-shadow: 0px 0px 25px #d6d6d6;
		box-shadow: 0px 0px 25px #d6d6d6
	}
}
.product-variant:before, .product-variant:after {
	content: " ";
	display: table
}
.product-variant:after {
	clear: both
}
.product-variant .product-variant-thumb, .product-variant .product-variant-data {
	display: inline-block;
	vertical-align: middle;
	width: 100%
}
.product-variant .product-variant-thumb {
	width: 25%;
	height: 140px;
	position: relative
}
.product-variant .product-variant-thumb img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	height: auto;
	margin: auto;
	max-width: 100%;
	max-height: 100%
}
.product-variant .product-variant-data {
	text-align: center;
	padding: 10px;
	position: relative;
	margin-left: -6px;
	width: 75%;
	min-height: 140px;
	background-color: rgba(240, 240, 240, 0.7)
}
.product-variant .product-variant-filter {
	display: block;
	margin-bottom: 5px
}
.product-variant .product-variant-key {
}
.product-variant .product-variant-product {
	font-size: 16px;
	color: #65c2c4;
	margin-bottom: 15px;
	transition-duration: 0.3s;
	transition-property: color;
	transition-timing-function: ease
}
.product-variant .product-variant-product:hover, .product-variant .product-variant-product:focus {
	text-decoration: underline
}
.product-variant .product-variant-product, .product-variant .product-variant-thumb img {
	cursor: pointer
}
.product-variant .product-variant-price, .product-variant .product-variant-action {
	width: 100%;
	clear: both
}
.product-variant .quantity-change, .product-variant .btn-add-to-cart {
	margin-right: auto;
	margin-left: auto
}
.product-variant .product-variant-price, .product-variant .product-variant-price-promotion {
	font-size: 1.2rem;
	color: #ca4a27;
	margin-top: 10px;
	margin-bottom: 15px
}
@media (min-width:992px) {
	.product-variant .product-variant-thumb, .product-variant .product-variant-data {
		vertical-align: middle
	}
	.product-variant .product-variant-price {
		text-align: center
	}
	.product-variant .quantity-change {
		margin-top: 0
	}
	.product-variant .btn-add-to-cart {
		margin-bottom: 0
	}
}
.tab-content>.tab-pane .opinions-header {
	padding-bottom: 10px
}
.tab-content>.tab-pane .opinion-rate__star, .tab-content>.tab-pane .rating-stars__star {
	font-style: normal !important
}
.opinion-rate, .rating-stars {
	color: #ffa94f;
	user-select: none
}
.opinions-header {
	padding-bottom: 0
}
.product-details-data-container .rating-stars {
	margin-top: 15px;
	margin-bottom: 15px
}
.opinion-rate {
	margin-bottom: 10px
}
.opinion-rate:before, .opinion-rate:after {
	content: " ";
	display: table
}
.opinion-rate:after {
	clear: both
}
.opinion-rate__star {
	cursor: pointer;
	float: left
}
.opinion-form {
	margin-bottom: 30px
}
.opinion-form__opinion-text {
	height: 100px
}
.opinion-form .btn-post-opinion {
	width: auto;
	padding-left: 10px;
	padding-right: 10px
}
.opinions-list {
	margin-bottom: 20px
}
.opinion-item {
	margin: 10px 0 20px 0;
	font-size: 13px
}
.opinion-item__rate-stars {
	display: block;
	font-size: 11px;
	margin-top: 10px;
	margin-bottom: 10px
}
.opinion-item__nickname {
	font-size: 13px
}
.opinion__success-message {
	display: block;
	margin: 30px 0
}
.product-details-data-container .historical-price {
	margin-bottom: 10px
}
.list-products .list-products-category-description {
	text-align: justify;
	margin-bottom: 20px
}
.list-products .list-products-category-description:before, .list-products .list-products-category-description:after {
	content: " ";
	display: table
}
.list-products .list-products-category-description:after {
	clear: both
}
.list-products .list-products-actions-container {
	display: none
}
@media (min-width:768px) {
	.list-products .list-products-actions-container {
		display: block;
		float: left
	}
}
.list-products .list-products-actions-container .list-view {
	float: left
}
.list-products .list-products-actions-container .list-view li {
	float: left
}
.list-products .list-products-actions-container .list-view li a {
	display: block;
	background: transparent;
	width: 12px;
	height: 12px;
	margin-right: 3px
}
.list-products .list-products-actions-container .list-view li a .icon-row {
	float: left;
	margin: 0 0 1px 1px;
	display: block
}
.list-products .list-products-actions-container .list-view li a i {
	display: block;
	background: #333333
}
.list-products .list-products-actions-container .list-view li a i:not(:last-child) {
	margin-bottom: 1px
}
.list-products .list-products-actions-container .list-view li a.one-column-icon .icon-row:last-of-type i {
	width: 7px
}
.list-products .list-products-actions-container .list-view li a.one-column-icon i {
	width: 3px;
	height: 3px
}
.list-products .list-products-actions-container .list-view li a.two-column-icon i {
	width: 5px;
	height: 5px
}
.list-products .list-products-actions-container .list-view li a.three-column-icon i {
	width: 3px;
	height: 3px
}
.list-products .list-products-actions-container .list-view li a.four-column-icon i {
	width: 2px;
	height: 2px
}
.list-products .list-products-actions-container .list-view li.active a i {
	background-color: #65c2c4
}
.list-products .list-products-sort {
	font-size: 0.9rem;
	float: right
}
.list-products .list-products-sort .dropdown {
	position: relative
}
.list-products .list-products-sort .dropdown span, .list-products .list-products-sort .dropdown .dropdown-toggle {
	line-height: 30px;
	font-size: 0.8rem;
}
.list-products .list-products-sort .dropdown span {
	display: inline-block
}
.list-products .list-products-sort .dropdown a, .list-products .list-products-sort .dropdown a:focus, .list-products .list-products-sort .dropdown a:hover {
	color: #333333;
	text-decoration: none
}
.list-products .list-products-sort .dropdown .dropdown-toggle {
	color: #333333;
	display: inline-block;
	border: none;
	background-color: whitesmoke;
	min-width: 140px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
	padding-right: 32px;
	padding-left: 8px
}
.list-products .list-products-sort .dropdown .dropdown-toggle:before {
	content: '';
	display: block;
	height: 100%;
	width: 27px;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #d6d6d6
}
.list-products .list-products-sort .dropdown .dropdown-toggle:after {
	content: '';
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid #333333;
	top: 13px;
	right: 9px;
	position: absolute
}
.list-products .list-products-sort .dropdown .dropdown-menu {
	display: none;
	position: absolute;
	min-width: 160px;
	right: 1px;
	border: 1px solid #d6d6d6;
	background-color: white;
	z-index: 1;
	-webkit-box-shadow: 0px 0px 7px #d6d6d6;
	box-shadow: 0px 0px 7px #d6d6d6;
	-webkit-transition: all 0.2 linear;
	-o-transition: all 0.2 linear;
	transition: all 0.2 linear
}
.list-products .list-products-sort .dropdown .dropdown-menu li {
	text-align: center
}
.list-products .list-products-sort .dropdown .dropdown-menu li a {
	display: block;
	padding: 7px 2px
}
.list-products .list-products-sort .dropdown .dropdown-menu li a:hover {
	background-color: #65c2c4;
	color: white
}
.list-products .list-products-sort .dropdown.open .dropdown-menu {
	display: block
}
.list-products .list-products-filters {
	clear: both;
	padding: 10px 0 10px 0;
	text-align: center;
	width: 100%;
	position: relative
}
.list-products .list-products-filters:before, .list-products .list-products-filters:after {
	content: " ";
	display: table
}
.list-products .list-products-filters:after {
	clear: both
}
@media (min-width:768px) {
	.list-products .list-products-filters {
		text-align: left;
		padding-right: 160px
	}
}
.list-products .list-products-filters a {
	display: block;
	font-size: 1.2rem;
	color: #333333;
	padding: 4px 8px 3px 8px;
	margin-bottom: 4px;
	background-color: white;
	background-color: #f0f0f0;
	border: 1px solid #d6d6d6;
	display: inline-block;
	margin-right: 4px;
	margin-left: 4px
}
@media (min-width:768px) {
	.list-products .list-products-filters a {
		font-size: 0.9rem
	}
}
@media (min-width:768px) {
	.list-products .list-products-filters a {
		margin-left: 0
	}
}
.list-products .list-products-filters a:hover {
	text-decoration: none;
	background-color: #d6d6d6
}
.list-products .list-products-filters span {
	width: 12px;
	line-height: 1;
	display: inline-block;
	overflow: hidden;
	text-indent: -99999px;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../img/delete.png);
	vertical-align: middle;
	margin-bottom: 3px
}
.list-products .list-products-filters .list-products-clearfilters {
	text-align: center;
	padding-top: 10px
}
@media (min-width:768px) {
	.list-products .list-products-filters .list-products-clearfilters {
		position: absolute;
		top: 0;
		right: 0;
		padding-top: 10px
	}
}
.list-products .list-products-filters .list-products-clearfilters a {
	margin: 0
}
.list-products .list-products-empty-list {
	text-align: center;
	padding: 20px 0
}
.list-products .list-products-amount {
	font-size: 0.9rem;
	padding: 10px 0;
	clear: left;
	float: left
}
.list-products .list-products-container {
	clear: both
}
.list-products .list-products-container:before, .list-products .list-products-container:after {
	content: " ";
	display: table
}
.list-products .list-products-container:after {
	clear: both
}
.list-products .product-item {
	-webkit-font-smoothing: antialiased
}
@media (min-width:768px) {
	.list-products .product-item {
		-webkit-transition: all 0.2s linear;
		-o-transition: all 0.2s linear;
		transition: all 0.2s linear
	}
	.list-products .product-item:hover {
		transform: scale(1.02)
	}
}
.list-products .product-item .product-item-container {
	overflow: hidden;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid #e8e1d7;
	padding: 0;
	position: relative;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear
}
.list-products .product-item .product-item-container:before, .list-products .product-item .product-item-container:after {
	content: " ";
	display: table
}
.list-products .product-item .product-item-container:after {
	clear: both
}
.list-products .product-item .product-item-container:hover {
	-webkit-box-shadow: 0px 0px 25px #d6d6d6;
	box-shadow: 0px 0px 25px #d6d6d6
}
.list-products .product-item .product-item-container .product-image-container {
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
	height: 180px;
	max-height: 200px;
	margin-top: 10px;
	margin-bottom: 15px
}
.list-products .product-item .product-item-container .product-image-container:empty {
	padding-bottom: 0 !important;
	height: 140px !important
}
.list-products .product-item .product-item-container .product-image-container a {
	display: block;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 100%;
	max-height: 100%
}
.list-products .product-item .product-item-container .product-image-container a img {
	margin: auto;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	max-width: 90%;
	max-height: 90%
}
.list-products .product-item .product-item-container .product-data-container {
	margin-top: -55px;
	position: relative;
	z-index: 1;
	padding-top: 35px;
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 0;
	background-color: #dddddd21;
}
.list-products .product-item .product-item-container .product-data-container .product-title {
	font-size: 14px;
	line-height: 1.2;
	margin-bottom: 0;
	text-align: center;
	word-wrap: break-word
}
.list-products .product-item .product-item-container .product-data-container .product-title a {
	color: #333333;
	text-decoration: none
}
.list-products .product-item .product-item-container .product-data-container .product-title a:hover, .list-products .product-item .product-item-container .product-data-container .product-title a:focus {
	color: #65c2c4;
	text-decoration: underline
}
.list-products .product-item .product-item-container .product-data-container .product-short-description {
	font-size: 13px;
	line-height: 1.35;
	color: #777777;
	margin-bottom: 15px;
	padding-top: 0;
	padding-bottom: 0;
	display: block;
	word-break: break-word;
	word-wrap: break-word
}
.list-products .product-item .product-item-container .product-data-container .product-price {
	font-size: 1.2rem;
	font-weight: 500;
	color: #f86767;
	text-align: center;
	display: block;
	padding: 5px 0 10px 0;
	text-transform: uppercase
}
.list-products .product-item .product-item-container .product-data-container .product-label:empty, .list-products .product-item .product-item-container .product-data-container .btn-add-to-cart:empty, .list-products .product-item .product-item-container .product-data-container .quantity-change:empty {
	display: none;
	visibility: hidden
}
.list-products .product-item .service-label {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	background-color: #b0b0b0;
	color: white;
	font-size: 0.85rem;
	padding: 3px 25px;
	max-width: 100%
}
.list-products .product-item .service-label:empty {
	display: none
}
@media (min-width:768px) {
	.list-products .product-item .product-item-container .product-image-container {
		width: 100%
	}
	.list-products .product-item .product-item-container .product-data-container {
		text-align: center
	}
	.list-products .product-item .product-item-container .product-data-container .product-title {
		font-size: 14px;
		line-height: 1.2;
		height: 33.6px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical
	}
	.list-products .product-item .product-item-container .product-data-container .product-short-description {
		height: 70px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-line-clamp: 4;
		-webkit-box-orient: vertical
	}
	.list-products .product-item .product-item-container .product-data-container .product-title, .list-products .product-item .product-item-container .product-data-container .product-price, .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
		text-align: center
	}
	.list-products .product-item .product-item-container .product-data-container .quantity-change {
		max-width: 120px;
		width: 100%;
		margin-left: auto;
		margin-right: auto
	}
	.list-products .product-item .product-item-container .product-data-container .product-title {
		overflow: hidden;
		height: 33.6px
	}
	.list-products .product-item .product-item-container .product-data-container .product-title, .list-products .product-item .product-item-container .product-data-container .product-price, .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
		text-align: center
	}
	.list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
		white-space: nowrap
	}
	.list-products .product-item .product-item-container .product-data-container .product-label:empty, .list-products .product-item .product-item-container .product-data-container .btn-add-to-cart:empty, .list-products .product-item .product-item-container .product-data-container .quantity-change:empty, .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry:empty {
		display: block;
		visibility: hidden
	}
	.list-products .product-item.col-md-3 .product-item-container .product-image-container, .list-products .product-item.col-md-4 .product-item-container .product-image-container {
		padding-bottom: 85%;
		height: 0
	}
	.list-products .product-item.one-column .product-item-container {
		display: table;
		width: 100%
	}
	.list-products .product-item.one-column .product-item-container .product-image-container {
		padding-bottom: 0;
		height: 160px;
		margin: 40px 0
	}
	.list-products .product-item.one-column .product-item-container .product-image-container {
		vertical-align: middle;
		text-align: center;
		width: 35%;
		height: 160px;
		display: table-cell
	}
	.list-products .product-item.one-column .product-item-container .product-image-container a, .list-products .product-item.one-column .product-item-container .product-image-container img {
		position: static
	}
	.list-products .product-item.one-column .product-item-container .product-image-container img {
		max-height: 160px
	}
	.list-products .product-item.one-column .product-item-container .product-data-container {
		display: table-cell;
		vertical-align: middle;
		padding-bottom: 10px;
		padding-right: 0
	}
	.list-products .product-item.one-column .product-item-container .product-data-container .product-title {
		height: auto;
		display: block;
		overflow: visible;
		word-break: break-all;
		padding-left: 5px;
		padding-right: 5px
	}
	.list-products .product-item.one-column .product-item-container .product-data-container .product-title, .list-products .product-item.one-column .product-item-container .product-data-container .product-label {
		height: auto
	}
	.list-products .product-item.one-column .product-item-container .product-data-container .product-short-description {
		height: auto;
		word-break: break-all;
		padding-left: 5px;
		padding-right: 5px
	}
	.list-products .product-item.one-column .product-item-container .product-label:empty, .list-products .product-item.one-column .product-item-container .btn-add-to-cart:empty, .list-products .product-item.one-column .product-item-container .quantity-change:empty, .list-products .product-item.one-column .product-item-container .letter-of-enquiry:empty {
		display: none;
		visibility: hidden
	}
	.list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change .btn-minus, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change .btn-plus {
		width: 12px
	}
	.list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change input {
		width: 45px
	}
	.list-products .product-item.col-sm-6 .product-item-container .product-data-container .product-title, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .product-title, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .product-title, .list-products .product-item.col-sm-6 .product-item-container .product-data-container .product-price, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .product-price, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .product-price, .list-products .product-item.col-sm-6 .product-item-container .product-data-container .letter-of-enquiry, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .letter-of-enquiry, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .letter-of-enquiry {
		text-align: center
	}
	.list-products .product-item.col-sm-6 .product-item-container .product-data-container .product-label:empty, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .product-label:empty, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .product-label:empty, .list-products .product-item.col-sm-6 .product-item-container .product-data-container .btn-add-to-cart:empty, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .btn-add-to-cart:empty, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .btn-add-to-cart:empty, .list-products .product-item.col-sm-6 .product-item-container .product-data-container .quantity-change:empty, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .quantity-change:empty, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change:empty, .list-products .product-item.col-sm-6 .product-item-container .product-data-container .letter-of-enquiry:empty, .list-products .product-item.col-sm-6.col-md-4 .product-item-container .product-data-container .letter-of-enquiry:empty, .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .letter-of-enquiry:empty {
		display: block;
		visibility: hidden
	}
}
button.btn-add-to-cart {
	color: white;
	border: none;
	display: block;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #65c2c4;
	outline: none;
	-webkit-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
	margin: 5px auto 5px auto;
	height: 42px;
	min-width: 60px;
	max-width: 120px;
	overflow: hidden;
	white-space: nowrap
}
button.btn-add-to-cart:hover, button.btn-add-to-cart:focus {
	color: white;
	text-decoration: none;
	background-color: #41a8aa
}
.quantity-change {
	margin: 0;
	padding: 0;
	text-align: center;
	height: 54px
}
.quantity-change .btn-plus, .quantity-change .btn-minus {
	border: 0;
	display: inline-block;
	padding: 10px 0;
	width: 20px;
	color: #65c2c4;
	background-color: transparent;
	font-size: 1.3em;
	cursor: pointer;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}
@media (max-width:767px) {
	.quantity-change .btn-plus, .quantity-change .btn-minus {
		width: 35px
	}
}
.quantity-change .btn-plus[disabled], .quantity-change .btn-minus[disabled] {
	color: #d6d6d6
}
.quantity-change .btn-plus:hover, .quantity-change .btn-minus:hover, .quantity-change .btn-plus:focus, .quantity-change .btn-minus:focus {
	color: #41a8aa;
	background-color: transparent
}
.quantity-change input {
	width: 70px;
	text-align: center
}
.letter-of-enquiry {
	font-size: 0.75rem;
	color: #a3a3a3;
	height: 20px;
	line-height: 20px;
	text-decoration: none;
	max-width: 120px;
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto
}
.letter-of-enquiry:hover {
	text-decoration: underline
}
.recommended-label, .promotion-label {
	line-height: 35px;
	color: white;
	-webkit-font-smoothing: antialiased;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	text-transform: uppercase
}
.recommended-label:empty, .promotion-label:empty {
	display: none
}
.product-details-data-container .recommended-label, .product-details-data-container .promotion-label {
	position: relative;
	top: auto;
	left: auto;
	margin-bottom: 15px;
	margin-right: 5px
}
.recommended-label {
	font-size: 0.8rem;
	padding-top: 155px;
	padding-left: 41px;
	padding-right: 100px;
	background-color: #d9e249;
	position: absolute;
	transform: rotate(-52deg);
	transform-origin: left bottom;
	left: 0
}
.product-item.one-column .product-image-container>.recommended-label {
	padding-top: 165px;
	top: -100px
}
.product-item-container>.recommended-label {
	top: -90px
}
.product-item .product-image-container>.recommended-label {
	top: -100px
}
.widget-product-details .product-details-image-container .recommended-label {
	top: -90px
}
.widget-product-details .product-details-data-container .recommended-label {
	height: auto;
	padding: 5px 10px;
	display: inline-block;
	transform: none
}
.promotion-label {
	font-size: 1.1rem;
	position: absolute;
	top: -40px;
	right: 0px;
	padding: 8px;
	background-color: #f86767;
	background-size: contain;
	background-position: center;
	color: white;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media (min-width:768px) {
	.one-column .promotion-label {
		top: auto;
		right: auto;
		bottom: 5px;
		left: -90px
	}
}
.widget-product-details .product-details-image-container .promotion-label {
	display: block;
	position: absolute;
	top: 220px;
}
.product-details-title+.widget-product-details .product-details-image-container .promotion-label {
	position: relative
}
.product-price-promotion+.product-price-wrap, .widget-product-details .product-details-data-container .product-details-price p .product-price-promotion+span:last-child, .product-variant-price-promotion+span.product-variant-price-wrap {
	color: #999999;
	text-decoration: line-through;
	font-size: 0.6em;
}
.product-label {
	color: #b884cb;
	border: 1px solid #b884cb;
	font-size: 0.8rem;
	margin: 5px auto;
	padding: 2px;
	text-align: center;
	height: 41px;
	width: 100%;
	max-width: 120px;
	display: table-cell;
	display: -ms-flexbox;
	display: flex;
	display: block \9;
	flex-direction: column;
	align-items: center;
	justify-content: center
}
.product-label span {
	margin: 0.1em
}
.customer-discount {
	display: block;
	padding: 8px 0;
	clear: both;
	text-align: center
}
.customer-discount-info {
	color: #777777;
	font-size: 0.9rem;
	display: block;
	text-align: center
}
.additional-units-modal .quantity-change {
	height: 37px;
	width: 100%
}
.additional-units-modal .quantity-change .btn-plus, .additional-units-modal .quantity-change .btn-minus {
	height: 37px
}
.additional-units-modal .quantity-change input {
	height: 37px;
	width: 80px
}
.additional-units-modal .unit-symbol {
	margin: 10px 0
}
.additional-units-modal .unit-symbol {
	line-height: 37px
}
@media (max-width:767px) {
	.additional-units-modal .unit-symbol {
		text-align: center;
		display: block
	}
}
.historical-price {
	font-size: 11px;
	color: #9c9c9c;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap
}
.historical-price, .historical-price:empty {
	height: 15px;
	line-height: 15px
}
.list-products .product-item-container .historical-price {
	margin-bottom: 20px
}
.main-menu {
	position: relative
}
.blue-container .main-menu.widget {
	padding: 0 0
}
@media (max-width:767px) {
	.main-menu .widget-header h4 {
		padding-right: 50px
	}
	.main-menu .widget-content {
		margin-top: 55px
	}
	.main-menu .widget-header+.widget-content {
		margin-top: 0
	}
}
.main-menu ul {
	list-style-type: none;
	padding: 0;
	margin: 0
}
.main-menu .widget-content {
	clear: both
}
.main-menu .widget-content .navbar-toggle {
	font-size: 2rem;
	display: block;
	padding: 0;
	position: absolute;
	top: 6px;
	right: 0;
	width: 44px;
	height: 44px
}

@media (min-width:768px) {
	.main-menu .widget-content .navbar-toggle {
		display: none
	}
}
.main-menu .widget-content .navbar-toggle:before {
	color: white;
	content: '\2261'
}
.main-menu .widget-content .navbar-toggle .icon-bar {
	display: none
}
@media (max-width:767px) {
	.main-menu .widget-content .nav-collapse {
		margin-top: 3px;
		-webkit-transition: height 0.5s;
		-o-transition: height 0.5s;
		transition: height 0.5s
	}
	.main-menu .widget-content .nav-collapse.collapse {
		overflow: hidden;
		display: none
	}
	.main-menu .widget-content .nav-collapse.collapse.in {
		display: block
	}
}
@media (min-width:768px) {
	.main-menu .widget-content .nav-collapse {
		display: block;
		overflow: visible;
		height: auto !important
	}
}
.main-menu .widget-content .nav-collapse .nav {
	font-size: 1.04rem;
	background-color: #65c2c4
}
.main-menu .widget-content .nav-collapse .nav:before, .main-menu .widget-content .nav-collapse .nav:after {
	content: " ";
	display: table
}
.main-menu .widget-content .nav-collapse .nav:after {
	clear: both
}
.main-menu .widget-content .nav-collapse .nav li a {
	color: white;
	display: block;
	padding: 12px 10px;
	word-wrap: break-word
}
.main-menu .widget-content .nav-collapse .nav li a:hover, .main-menu .widget-content .nav-collapse .nav li a:focus {
	text-decoration: none;
	background-color: #41a8aa
}
.main-menu .widget-content .nav-collapse .nav li.menu-active>a {
	background-color: #4fb9bc
}
.main-menu .widget-content .nav-collapse .nav li>ul>li>a {
	padding-left: 25px
}
.main-menu .widget-content .nav-collapse .nav .has-submenu>a:after {
	content: '';
	display: inline-block;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid white;
	vertical-align: middle;
	margin-left: 5px
}
footer .main-menu .widget-content .nav-collapse .nav .has-submenu>a:after {
	display: none
}
@media (min-width:768px) {
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li {
		position: relative;
		float: left
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li:hover, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li:hover, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li:hover, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li:hover, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li:hover, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li:hover {
		background-color: #41a8aa
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li:hover>ul {
		display: block
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li>a, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li>a, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li>a, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li>a, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li>a, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li>a {
		float: left;
		background-color: transparent;
		padding: 23px 23px;
		border-left: 1px solid #41a8aa
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li.menu-active>a {
		background-color: #4fb9bc
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li>ul, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li>ul, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li>ul, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li>ul, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li>ul, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li>ul {
		position: absolute;
		background-color: #65c2c4;
		left: 0;
		top: 100%;
		display: none;
		z-index: 20;
		min-width: 190px;
		max-width: 100%
	}
	.col-sm-7>.main-menu .widget-content .nav-collapse .nav>li>ul li a, .col-sm-8>.main-menu .widget-content .nav-collapse .nav>li>ul li a, .col-sm-9>.main-menu .widget-content .nav-collapse .nav>li>ul li a, .col-sm-10>.main-menu .widget-content .nav-collapse .nav>li>ul li a, .col-sm-11>.main-menu .widget-content .nav-collapse .nav>li>ul li a, .col-sm-12>.main-menu .widget-content .nav-collapse .nav>li>ul li a {
		padding: 8px 10px
	}
}
@media (max-width:767px) {
	footer .col-sm-1>.main-menu .widget-content .navbar-toggle, footer .col-sm-2>.main-menu .widget-content .navbar-toggle, footer .col-sm-3>.main-menu .widget-content .navbar-toggle, footer .col-sm-4>.main-menu .widget-content .navbar-toggle, footer .col-sm-5>.main-menu .widget-content .navbar-toggle, footer .col-sm-6>.main-menu .widget-content .navbar-toggle {
		display: none
	}
	footer .col-sm-1>.main-menu .widget-header+.widget-content, footer .col-sm-2>.main-menu .widget-header+.widget-content, footer .col-sm-3>.main-menu .widget-header+.widget-content, footer .col-sm-4>.main-menu .widget-header+.widget-content, footer .col-sm-5>.main-menu .widget-header+.widget-content, footer .col-sm-6>.main-menu .widget-header+.widget-content {
		margin-top: 0
	}
}
footer .col-sm-1>.main-menu .nav-collapse.collapse, footer .col-sm-2>.main-menu .nav-collapse.collapse, footer .col-sm-3>.main-menu .nav-collapse.collapse, footer .col-sm-4>.main-menu .nav-collapse.collapse, footer .col-sm-5>.main-menu .nav-collapse.collapse, footer .col-sm-6>.main-menu .nav-collapse.collapse {
	display: block !important;
	height: auto !important
}
footer .col-sm-1>.main-menu .nav-collapse .nav, footer .col-sm-2>.main-menu .nav-collapse .nav, footer .col-sm-3>.main-menu .nav-collapse .nav, footer .col-sm-4>.main-menu .nav-collapse .nav, footer .col-sm-5>.main-menu .nav-collapse .nav, footer .col-sm-6>.main-menu .nav-collapse .nav {
	background-color: transparent;
	font-size: 1rem
}
footer .col-sm-1>.main-menu .nav-collapse .nav>li>a, footer .col-sm-2>.main-menu .nav-collapse .nav>li>a, footer .col-sm-3>.main-menu .nav-collapse .nav>li>a, footer .col-sm-4>.main-menu .nav-collapse .nav>li>a, footer .col-sm-5>.main-menu .nav-collapse .nav>li>a, footer .col-sm-6>.main-menu .nav-collapse .nav>li>a {
	padding-left: 0
}
footer .col-sm-1>.main-menu .nav-collapse .nav li a, footer .col-sm-2>.main-menu .nav-collapse .nav li a, footer .col-sm-3>.main-menu .nav-collapse .nav li a, footer .col-sm-4>.main-menu .nav-collapse .nav li a, footer .col-sm-5>.main-menu .nav-collapse .nav li a, footer .col-sm-6>.main-menu .nav-collapse .nav li a {
	color: #333333;
	padding-top: 3px;
	padding-bottom: 3px
}
footer .col-sm-1>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-2>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-3>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-4>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-5>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-6>.main-menu .nav-collapse .nav li a:hover, footer .col-sm-1>.main-menu .nav-collapse .nav li a:focus, footer .col-sm-2>.main-menu .nav-collapse .nav li a:focus, footer .col-sm-3>.main-menu .nav-collapse .nav li a:focus, footer .col-sm-4>.main-menu .nav-collapse .nav li a:focus, footer .col-sm-5>.main-menu .nav-collapse .nav li a:focus, footer .col-sm-6>.main-menu .nav-collapse .nav li a:focus {
	color: #999999;
	background-color: transparent
}
footer .col-sm-1>.main-menu .nav-collapse .nav li.menu-active>a, footer .col-sm-2>.main-menu .nav-collapse .nav li.menu-active>a, footer .col-sm-3>.main-menu .nav-collapse .nav li.menu-active>a, footer .col-sm-4>.main-menu .nav-collapse .nav li.menu-active>a, footer .col-sm-5>.main-menu .nav-collapse .nav li.menu-active>a, footer .col-sm-6>.main-menu .nav-collapse .nav li.menu-active>a {
	background-color: transparent
}
.category-list {
	position: relative
}
.category-list .widget-header {
	margin-top: 14px;
	margin-bottom: 0;
	background-color: #e3e3e3
}
.category-list .widget-header h4 {
	padding: 10px;
	font-size: 1.2rem;
	color: #333333
}
@media (max-width:767px) {
	.category-list .widget-header h4 {
		padding-right: 50px
	}
	.category-list .widget-content {
		margin-top: 55px
	}
	.category-list .widget-header+.widget-content {
		margin-top: 0
	}
}
.category-list .widget-header+.widget-content .nav-collapse .nav {
	border-top: none
}
.category-list .widget-content {
	clear: both
}
.category-list .widget-content .navbar-toggle {
	font-size: 2rem;
	display: block;
	padding: 0;
	position: absolute;
	top: 24px;
	right: 0;
	width: 44px;
	height: 36px;
	line-height: 36px;
	border: none;
	background-color: transparent
}
@media (min-width:768px) {
	.category-list .widget-content .navbar-toggle {
		display: none
	}
}
.category-list .widget-content .navbar-toggle:before {
	color: #333333;
	content: '\2261'
}
.category-list .widget-content .navbar-toggle .icon-bar {
	display: none
}
@media (max-width:767px) {
	.category-list .widget-content .nav-collapse {
		margin-top: 3px;
		-webkit-transition: height 0.5s;
		-o-transition: height 0.5s;
		transition: height 0.5s
	}
	.category-list .widget-content .nav-collapse.collapse {
		overflow: hidden;
		display: none
	}
	.category-list .widget-content .nav-collapse.collapse.in {
		display: block
	}
}
@media (min-width:768px) {
	.category-list .widget-content .nav-collapse {
		display: block;
		overflow: visible;
		height: auto !important
	}
}
.category-list .widget-content .nav-collapse .nav {
	font-size: 1rem;
}
.category-list .widget-content .nav-collapse .nav .category-item-icon {
	width: 18px;
	height: 18px;
	display: block;
	float: left;
	margin-right: 5px
}
.category-list .widget-content .nav-collapse .nav .category-item-icon img {
	max-width: 100%;
	max-height: 100%
}
.category-list .widget-content .nav-collapse .nav:before, .category-list .widget-content .nav-collapse .nav:after {
	content: " ";
	display: table
}
.category-list .widget-content .nav-collapse .nav:after {
	clear: both
}
.category-list .widget-content .nav-collapse .nav .category-parent-item>a {
	position: relative
}
.category-list .widget-content .nav-collapse .nav .category-parent-item>a:after {
	content: '';
	width: 6px;
	height: 6px;
	display: block;
	background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNvyMY98AAAAvSURBVBhXY/j//z8YAwGIADKhfGQJRkZGhARIABmDJKFsVAk4RjYKhOF87BL/GQDWEEPDsO4lkAAAAABJRU5ErkJggg==');
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	top: 13px;
	right: 0
}
.category-list .widget-content .nav-collapse .nav .category-parent-item.active>a:after {
	top: 15px;
	height: 2px
}
.category-list .widget-content .nav-collapse .nav li {
	position: relative
}
.category-list .widget-content .nav-collapse .nav li a {
	color: #333333;
	display: block;
	padding: 7px 0;
	word-break: break-word;
	word-wrap: break-word;
	border-bottom: 1px solid #d6d6d6
}
.category-list .widget-content .nav-collapse .nav li a:hover, .category-list .widget-content .nav-collapse .nav li a:focus {
	text-decoration: none;
	color: #41a8aa
}
.category-list .widget-content .nav-collapse .nav li>ul>li>a {
	padding-left: 15px
}
.category-list .widget-content .nav-collapse .nav li>ul>li>ul>li>a {
	padding-left: 25px
}
.category-list .widget-content .nav-collapse .nav li>ul>li>ul>li>ul>li>a {
	padding-left: 35px
}
.category-list .widget-content .nav-collapse .nav li>ul>li>ul>li>ul>li>ul>li>a {
	padding-left: 45px
}
.category-list .widget-content .nav-collapse .nav li.active>a {
}
.category-list .widget-content .nav-collapse .empty-category-list {
	display: block;
	padding: 5px 0
}
.category-list .widget-content .nav-collapse .list-category-clearfilters a {
	white-space: nowrap
}
.category-list .widget-content .nav-collapse .list-category-clearfilters:before, .category-list .widget-content .nav-collapse .list-category-clearfilters:after {
	content: " ";
	display: table
}
.category-list .widget-content .nav-collapse .list-category-clearfilters:after {
	clear: both
}
@media (min-width:768px) {
	.col-sm-7>.category-list .widget-content .nav-collapse .nav, .col-sm-8>.category-list .widget-content .nav-collapse .nav, .col-sm-9>.category-list .widget-content .nav-collapse .nav, .col-sm-10>.category-list .widget-content .nav-collapse .nav, .col-sm-11>.category-list .widget-content .nav-collapse .nav, .col-sm-12>.category-list .widget-content .nav-collapse .nav {
		border: 1px solid #e8e1d7;
		border-left: none;
		background-color: #e8e1d7;
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav a, .col-sm-8>.category-list .widget-content .nav-collapse .nav a, .col-sm-9>.category-list .widget-content .nav-collapse .nav a, .col-sm-10>.category-list .widget-content .nav-collapse .nav a, .col-sm-11>.category-list .widget-content .nav-collapse .nav a, .col-sm-12>.category-list .widget-content .nav-collapse .nav a {
		padding-top: 13px;
		padding-bottom: 13px;
		border-bottom: none
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li {
		position: relative;
		float: left
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li:hover>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li:hover>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li:hover>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li:hover>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li:hover>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li:hover>a {
		color: #65c2c4
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li:hover>a:after, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li:hover>a:after, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li:hover>a:after, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li:hover>a:after, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li:hover>a:after, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li:hover>a:after {
		border-top-color: white
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li:hover .collapse, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li:hover .collapse, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li:hover .collapse, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li:hover .collapse, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li:hover .collapse, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li:hover .collapse {
		display: block
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>a {
		float: left;
		padding: 23px 23px;
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>a>.category-item-icon:empty {
		display: none
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a {
		padding-right: 36px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li.category-parent-item>a:after {
		top: 29px;
		height: 6px;
		right: 23px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li.category-parent-item:hover>a:after {
		top: 31px;
		height: 2px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li:hover>ul, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li:hover>ul {
		display: block
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul {
		position: absolute;
		background-color: #e8e1d7;
		border: 1px solid #e8e1d7;
		border-top: none;
		display: none;
		left: 0;
		top: 100%;
		z-index: 20;
		min-width: 200px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul a:after, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul a:after, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul a:after, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul a:after, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul a:after, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul a:after {
		display: none
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul ul, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul ul, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul ul, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul ul, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul ul, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul ul {
		display: block
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul>li>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul>li>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul>li>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul>li>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul>li>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul>li>a {
		padding-left: 10px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>a {
		padding-left: 20px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>a {
		padding-left: 30px
	}
	.col-sm-7>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a, .col-sm-8>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a, .col-sm-9>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a, .col-sm-10>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a, .col-sm-11>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a, .col-sm-12>.category-list .widget-content .nav-collapse .nav>li>ul>li>ul>li>ul>li>ul>li>a {
		padding-left: 40px
	}
}
.cart {
	position: relative
}
.cart a {
	color: #333333
}
.cart .widget-header {
	text-align: right;
	margin-bottom: 5px
}
.col-sm-1 .cart .widget-header, .col-sm-2 .cart .widget-header {
	margin-bottom: 3px;
	text-align: center
}
.cart .widget-content {
	text-align: right;
	word-wrap: break-word;
	word-break: break-word;
	padding-left: 40px;
	padding-right: 5px;
	padding-top: 8px;
	padding-bottom: 7px;
	position: relative;
	min-height: 35px;
	border: 1px solid #65c2c4;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%23bdbdbd%22%20d%3D%22M25%2037.5c0-0.88-0.15-1.72-0.431-2.5h5.851c-0.27%200.78-0.42%201.62-0.42%202.5%200%204.141%203.359%207.5%207.5%207.5%204.14%200%207.5-3.359%207.5-7.5%200-4.14-3.36-7.5-7.5-7.5h-16.5c-1.1%200-2-0.9-2-2s0.9-2%202-2h17.2c1.81%200%203.369-1.061%204.079-2.6%200.271-0.58%205.451-12.39%205.451-12.39%200.14-0.321%200.27-0.64%200.27-1.010%200-1.1-0.9-2-2-2l-31.221-0-0.84-2.59c-0.389-1.39-1.479-2.41-2.939-2.41h-8.5c-1.38%200-2.5%201.12-2.5%202.5s1.12%202.5%202.5%202.5h5.25c0.89%200%201.64%200.58%201.9%201.37l4.22%2021.569c-2.309%201.271-3.87%203.741-3.87%206.561%200%204.141%203.359%207.5%207.5%207.5%204.14%200%207.5-3.359%207.5-7.5zM20%2037.5c0%201.38-1.12%202.5-2.5%202.5s-2.5-1.12-2.5-2.5%201.12-2.5%202.5-2.5%202.5%201.12%202.5%202.5zM40%2037.5c0%201.38-1.12%202.5-2.5%202.5s-2.5-1.12-2.5-2.5%201.12-2.5%202.5-2.5%202.5%201.12%202.5%202.5z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: 10px center
}
@media (min-width:768px) {
	.cart .widget-content {
		float: right
	}
}
.cart .widget-content:before, .cart .widget-content:after {
	content: " ";
	display: table
}
.cart .widget-content:after {
	clear: both
}
.col-sm-1 .cart .widget-content, .col-sm-2 .cart .widget-content {
	font-size: 0.9rem;
	text-align: center;
	background-position: center 10px;
	padding: 35px 0 5px 0;
	float: none
}
.cart .widget-content .cart-info {
	font-size: 0.8rem;
	position: relative;
	display: inline-block;
	text-transform: uppercase;
	text-decoration: none
}
.col-sm-1 .cart .widget-content .cart-info {
	text-transform: none
}
.cart .widget-content .cart-info span {
	display: inline-block;
	padding: 0 5px
}
.cart .widget-content .cart-info span.cart-price {
	border-left: 1px solid #333333;
	padding-left: 6px
}
.col-sm-1 .cart .widget-content .cart-info span.cart-price, .col-sm-2 .cart .widget-content .cart-info span.cart-price {
	border-left: none
}
.col-sm-1 .cart .widget-content .cart-info:after, .col-sm-2 .cart .widget-content .cart-info:after {
	content: '';
	width: 100%;
	top: -30px;
	right: 0;
	left: 0;
	padding-left: 0;
	margin-left: auto;
	margin-right: auto;
	background-size: auto 70%;
	background-position: center center
}
.cart .widget-content:hover .cart-tooltip {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s
}
.cart .widget-content .cart-tooltip {
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s ease 0.2s, opacity 0.2s ease;
	width: 300px;
	padding: 15px;
	border: 3px solid #65c2c4;
	position: absolute;
	right: -1px;
	top: 100%;
	margin-top: 3px;
	background-color: white;
	z-index: 2;
	-webkit-box-shadow: 0px 0px 7px #d6d6d6;
	box-shadow: 0px 0px 7px #d6d6d6
}
@media (max-width:767px) {
	.cart .widget-content .cart-tooltip {
		display: none !important
	}
}
.cart .widget-content .cart-tooltip .cart-empty {
	text-align: center
}
.cart .widget-content .cart-tooltip .cart-tooltip-list {
	margin-bottom: 10px;
	padding-bottom: 0
}
.cart .widget-content .cart-tooltip .cart-tooltip-list:empty {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none
}
.cart .widget-content .cart-tooltip .cart-tooltip-item {
	text-align: left;
	clear: both
}
.cart .widget-content .cart-tooltip .cart-tooltip-item:after {
	display: table;
	content: '';
	clear: both;
	margin-bottom: 20px
}
.cart .widget-content .cart-tooltip .cart-tooltip-item:last-child:after {
	margin-bottom: 10px
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-image {
	width: 70px;
	height: 70px;
	position: relative
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-image img {
	max-width: 100%;
	max-height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-title {
	margin-bottom: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-quantity, .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-price {
	margin: 0
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-standard-price {
	font-size: 0.9em;
	color: gray;
	text-decoration: line-through
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-description {
	font-size: 0.97rem;
	width: 180px;
	text-align: left;
	padding-left: 10px
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-description>p {
	text-align: left
}
.cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-image, .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-description {
	display: inline-block;
	vertical-align: middle
}
.cart .widget-content .cart-tooltip .show-properties {
	margin-bottom: 5px
}
.cart .widget-content .cart-tooltip .show-properties {
	font-size: 0.9rem
}
.cart .widget-content .cart-tooltip .cart-tooltip-summary-price {
	text-align: right;
	padding-top: 10px;
	border-top: 1px solid #d6d6d6
}
.cart .widget-content .cart-tooltip .cart-tooltip-summary-price span:last-child {
}
.cart .widget-content .cart-tooltip .cart-tooltip-summary-price:after {
	content: '';
	display: table;
	clear: both
}
.cart .widget-content .cart-tooltip .cart-tooltip-summary-price .cart-tooltip-total-price-label {
	float: left
}
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn {
	display: block;
	width: 100%;
	height: 30px;
	line-height: 30px;
	color: white;
	background-color: #65c2c4;
	text-align: center;
	margin-top: 10px;
	text-decoration: none
}
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:hover {
	background-color: #41a8aa
}
.logo {
	word-wrap: break-word;
	word-break: break-word
}
.logo h1, .logo h2, .logo h3, .logo h4, .logo h5, .logo h6 {
	padding: 15px 0
}
.logo h1 {
	font-size: 1.5rem
}
.logo h2 {
	font-size: 1.25rem
}
.logo h3 {
	font-size: 1.125rem
}
.logo h4 {
	font-size: 1rem
}
.logo h5 {
	font-size: 0.875rem
}
.logo h6 {
	font-size: 0.75rem
}
.logo ul {
	list-style-type: disc
}
.logo ol {
	list-style-type: decimal
}
.logo ul, .logo ol {
	padding-left: 30px
}
.logo p, .logo ul, .logo ol {
	margin: 10px 0
}
.logo blockquote, .logo q, .logo cite, .logo em, .logo i {
	font-style: italic
}
.logo b, .logo strong {
	font-weight: 500;
}
.logo p:after {
	content: "";
	display: inline-block;
	width: 0px
}
.logo a {
	color: #65c2c4
}
.logo a:hover, .logo a:focus {
	color: #41a8aa
}
.logo a img {
	max-width: 100%;
	max-height: 100%
}
.logo h1 {
	margin: 0;
	padding: 0
}
.user-account a {
	color: #65c2c4
}
.user-account .widget-header {
	text-align: right;
	margin-bottom: 5px
}
.col-sm-1 .user-account .widget-header, .col-sm-2 .user-account .widget-header {
	margin-bottom: 3px;
	text-align: center
}
.user-account .widget-content {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%23bdbdbd%22%20d%3D%22M41.689%2034.59c-2.899-3.79-6.64-5.75-12.959-6.38-1.141-0.229-2-1.24-2-2.44%200-0.879%202.819-3.51%202.799-3.529%202.91-3.011%204.471-7.901%204.471-11.661%200-5.84-4.7-10.58-10.5-10.58s-10.5%204.74-10.5%2010.58c0%203.78%201.52%208.7%204.46%2011.71%200%200%202.81%202.601%202.81%203.479%200%201.271-0.96%202.33-2.2%202.48-6.19%200.65-9.89%202.6-12.76%206.34-0.83%201.081-1.28%203.251-1.31%204.411%200.010%200.3%200%205%200%205%200%202.21%201.79%204%204%204h31c2.21%200%204-1.79%204-4%200%200-0.010-4.7%200-5-0.029-1.16-0.48-3.33-1.311-4.41z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-size: 20px;
	background-repeat: no-repeat
}
.user-account .widget-content .user-account-label {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}
.user-account .widget-content .user-account-label>span {
}
.user-account .widget-content .user-account-dashboard {
	display: block
}
@media (max-width:767px) {
	.user-account .widget-content {
		padding: 30px 0 5px 0;
		background-position: center top
	}
	.user-account .widget-content .user-account-label {
		text-align: center
	}
	.user-account .widget-content .user-account-actions {
		margin-top: 5px;
		font-size: 0.9rem;
	}
	.user-account .widget-content .user-account-actions a {
		color: white;
		display: block;
		float: left;
		text-align: center;
		margin: 0 0 1px 0;
		padding: 14px 6px;
		border-left: 1px solid white;
		background-color: #65c2c4
	}
	.user-account .widget-content .user-account-actions a:hover {
		background-color: #41a8aa
	}
	.user-account .widget-content .user-account-actions a.user-account-login, .user-account .widget-content .user-account-actions a.user-account-account, .user-account .widget-content .user-account-actions a.user-account-register, .user-account .widget-content .user-account-actions a.user-account-exit {
		width: 50%
	}
	.user-account .widget-content .user-account-actions a.user-account-dashboard {
		width: 100%
	}
}
@media (min-width:768px) {
	.user-account .widget-header+.widget-content {
		padding-top: 3px
	}
	.user-account .widget-content {
		font-size: 0.9rem;
		text-align: right;
		min-height: 30px;
		background-position: right center;
		padding-right: 30px;
		float: right
	}
	.user-account .widget-content:before, .user-account .widget-content:after {
		content: " ";
		display: table
	}
	.user-account .widget-content:after {
		clear: both
	}
	.col-sm-1 .user-account .widget-content, .col-sm-2 .user-account .widget-content {
		float: none;
		font-size: 0.9rem;
		text-align: center;
		background-position: top 10px center;
		padding: 40px 0 5px 0
	}
	.col-sm-1 .user-account .widget-content a, .col-sm-2 .user-account .widget-content a, .col-sm-1 .user-account .widget-content span, .col-sm-2 .user-account .widget-content span {
		text-overflow: ellipsis;
		overflow: hidden;
		display: block
	}
	.user-account .user-account-actions {
		min-height: 20px;
		padding-top: 8px;
		padding-bottom: 8px;
		padding-left: 5px;
		padding-right: 0;
		background-position: 10px center;
		background-repeat: no-repeat;
		float: right
	}
	.col-sm-1 .user-account .user-account-actions, .col-sm-2 .user-account .user-account-actions {
		padding-right: 5px;
		float: none
	}
	.user-account a {
		display: inline-block;
		padding-left: 5px;
		padding-right: 0
	}
	.user-account a.user-account-account, .user-account a.user-account-login {
		padding-right: 9px;
		border-right: 1px solid #d6d6d6
	}
	.col-sm-1 .user-account a.user-account-account, .col-sm-1 .user-account a.user-account-login, .col-sm-2 .user-account a.user-account-account, .col-sm-2 .user-account a.user-account-login {
		border-right: none
	}
	.user-account.user-account-tooltip-visible {
		position: relative
	}
	.user-account.user-account-tooltip-visible:before, .user-account.user-account-tooltip-visible:after {
		content: " ";
		display: table
	}
	.user-account.user-account-tooltip-visible:after {
		clear: both
	}
	.user-account.user-account-tooltip-visible .widget-content {
		position: relative;
		width: 100%;
		max-width: 20px;
		min-height: 50px;
		margin-left: auto;
		margin-right: 0;
		padding-top: 5px;
		padding-right: 0;
		padding-left: 0;
		cursor: pointer;
		background-position: left center
	}
	.user-account.user-account-tooltip-visible .widget-content .user-account-tooltip {
		position: absolute;
		width: 300px;
		top: 100%;
		right: 0;
		padding: 15px;
		border: 3px solid #65c2c4;
		background: white;
		-webkit-box-shadow: 0px 0px 7px #d6d6d6;
		box-shadow: 0px 0px 7px #d6d6d6;
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s ease 0.2s, opacity 0.2s ease;
		z-index: 10;
		text-align: right
	}
	.user-account.user-account-tooltip-visible .widget-content:hover .user-account-tooltip {
		visibility: visible;
		opacity: 1;
		transition-delay: 0s
	}
}
.carousel {
	position: relative
}
.carousel-inner {
	position: relative;
	overflow: hidden;
	width: 100%
}
.carousel-inner>.item {
	display: none;
	position: relative;
	text-align: center;
	height: 100%;
	-webkit-transition: 0.6s ease-in-out left;
	-o-transition: 0.6s ease-in-out left;
	transition: 0.6s ease-in-out left
}
.carousel-inner>.item>img, .carousel-inner>.item>a>img {
	line-height: 1;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	position: absolute
}
@media all and (transform-3d), (-webkit-transform-3d) {
	.carousel-inner>.item {
		-webkit-transition: -webkit-transform 0.6s ease-in-out;
		-moz-transition: -moz-transform 0.6s ease-in-out;
		-o-transition: -o-transform 0.6s ease-in-out;
		transition: transform 0.6s ease-in-out;
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-perspective: 1000px;
		-moz-perspective: 1000px;
		perspective: 1000px
	}
	.carousel-inner>.item.next, .carousel-inner>.item.active.right {
		-webkit-transform: translate3d(100%, 0, 0);
		transform: translate3d(100%, 0, 0);
		left: 0
	}
	.carousel-inner>.item.prev, .carousel-inner>.item.active.left {
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
		left: 0
	}
	.carousel-inner>.item.next.left, .carousel-inner>.item.prev.right, .carousel-inner>.item.active {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		left: 0
	}
}
.carousel-inner>.active, .carousel-inner>.next, .carousel-inner>.prev {
	display: block
}
.carousel-inner>.active {
	left: 0
}
.carousel-inner>.next, .carousel-inner>.prev {
	position: absolute;
	top: 0;
	width: 100%
}
.carousel-inner>.next {
	left: 100%
}
.carousel-inner>.prev {
	left: -100%
}
.carousel-inner>.next.left, .carousel-inner>.prev.right {
	left: 0
}
.carousel-inner>.active.left {
	left: -100%
}
.carousel-inner>.active.right {
	left: 100%
}
.carousel-control {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 15%;
	text-align: center;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s
}
.carousel-control.left {
	left: 0;
	opacity: 0.3
}
.carousel-control.left>.arrow, .carousel-control.left>.left {
	display: block;
	width: 45px;
	height: 90px;
	position: absolute;
	background-color: white;
	top: 50%;
	margin-top: -45px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M15.422%2016.078l-1.406%201.406-6-6%206-6%201.406%201.406-4.594%204.594z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px
}
.carousel-control.right {
	right: 0;
	left: auto;
	opacity: 0.3
}
.carousel-control.right>.arrow, .carousel-control.right>.right {
	display: block;
	width: 45px;
	height: 90px;
	position: absolute;
	background-color: white;
	top: 50%;
	right: 0;
	margin-top: -45px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M8.578%2016.359l4.594-4.594-4.594-4.594%201.406-1.406%206%206-6%206z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px
}
.carousel-control:hover {
	outline: 0;
	color: white;
	text-decoration: none;
	opacity: 0.6;
	filter: alpha(opacity=60)
}
.carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right {
	position: absolute;
	top: 50%;
	margin-top: -10px;
	z-index: 5;
	display: inline-block
}
.carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left {
	left: 0;
	margin-left: -10px
}
.carousel-control .icon-next, .carousel-control .glyphicon-chevron-right {
	right: 50%;
	margin-right: -10px
}
.carousel-control .icon-prev, .carousel-control .icon-next {
	width: 20px;
	height: 20px;
	line-height: 1;
	font-family: serif
}
.carousel-control .icon-prev:before {
	content: '\2039'
}
.carousel-control .icon-next:before {
	content: '\203a'
}
.carousel-indicators {
	position: absolute;
	bottom: 10px;
	left: 50%;
	z-index: 15;
	width: 60%;
	margin-left: -30%;
	padding-left: 0;
	list-style: none;
	text-align: center
}
.carousel-indicators li {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 1px;
	text-indent: -999px;
	border: 1px solid #d6d6d6;
	cursor: pointer;
	background-color: transparent
}
.carousel-indicators .active {
	margin: 0;
	width: 12px;
	height: 12px;
	background-color: #41a8aa
}
.carousel-caption {
	position: absolute;
	left: 15%;
	right: 15%;
	bottom: 20px;
	z-index: 10;
	padding-top: 20px;
	padding-bottom: 20px;
	color: white;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6)
}
.carousel-caption .btn {
	text-shadow: none
}
@media screen and (min-width:768px) {
	.carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next {
		width: 30px;
		height: 30px;
		margin-top: -15px;
		font-size: 30px
	}
	.carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
		margin-left: -15px
	}
	.carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
		margin-right: -15px
	}
	.carousel-caption {
		left: 20%;
		right: 20%;
		padding-bottom: 30px
	}
	.carousel-indicators {
		bottom: 20px
	}
}
.container-fluid>.row>div>.widget-slider, .container-fluid>.row>div>.gallery {
	margin: 0 -10px;
	padding: 0
}
.widget-slider {
	border-top: 1px solid transparent;
	border-bottom: 1px solid transparent
}
.carousel.carousel-vertical .carousel-inner {
	height: 100%
}
.carousel.carousel-vertical .carousel-inner>.item {
	-webkit-transition: 0.6s ease-in-out top;
	-o-transition: 0.6s ease-in-out top;
	transition: 0.6s ease-in-out top;
	left: 0;
	right: 0;
	margin-left: 0;
	margin-right: 0
}
@media all and (transform-3d), (-webkit-transform-3d) {
	.carousel.carousel-vertical .carousel-inner>.item {
		-webkit-transition: -webkit-transform 0.6s ease-in-out;
		-o-transition: -o-transform 0.6s ease-in-out;
		transition: transform 0.6s ease-in-out;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		-webkit-perspective: 1000;
		perspective: 1000
	}
	.carousel.carousel-vertical .carousel-inner>.item.next, .carousel.carousel-vertical .carousel-inner>.item.active.right {
		top: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0)
	}
	.carousel.carousel-vertical .carousel-inner>.item.prev, .carousel.carousel-vertical .carousel-inner>.item.active.left {
		top: 0;
		-webkit-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0)
	}
	.carousel.carousel-vertical .carousel-inner>.item.next.left, .carousel.carousel-vertical .carousel-inner>.item.prev.right, .carousel.carousel-vertical .carousel-inner>.item.active {
		top: 0;
		left: 0;
		right: 0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0)
	}
}
.carousel.carousel-vertical .carousel-inner>.active {
	top: 0
}
.carousel.carousel-vertical .carousel-inner>.next, .carousel.carousel-vertical .carousel-inner>.prev {
	top: 0;
	height: 100%;
	width: auto
}
.carousel.carousel-vertical .carousel-inner>.next {
	left: 0;
	top: 100%
}
.carousel.carousel-vertical .carousel-inner>.prev {
	left: 0;
	top: -100%
}
.carousel.carousel-vertical .carousel-inner>.next.left, .carousel.carousel-vertical .carousel-inner>.prev.right {
	top: 0
}
.carousel.carousel-vertical .carousel-inner>.active.left {
	left: 0;
	top: -100%
}
.carousel.carousel-vertical .carousel-inner>.active.right {
	left: 0;
	top: 100%
}
.carousel.carousel-fade .carousel-inner .item {
	opacity: 0;
	-webkit-transition-property: opacity;
	-moz-transition-property: opacity;
	-o-transition-property: opacity;
	transition-property: opacity
}
.carousel.carousel-fade .carousel-inner .active {
	opacity: 1
}
.carousel.carousel-fade .carousel-inner .active.left, .carousel.carousel-fade .carousel-inner .active.right {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	left: 0;
	right: 0;
	margin: 0;
	opacity: 0;
	z-index: 1
}
.carousel.carousel-fade .carousel-inner .next.left, .carousel.carousel-fade .carousel-inner .prev.right {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	left: 0;
	right: 0;
	margin: 0;
	opacity: 1
}
.carousel.carousel-fade .carousel-control {
	z-index: 2
}
.gallery span img {
	border: 0px solid #d6d6d6;
	cursor: pointer
}
.modal-gallery-image .modal-body {
	position: relative
}
.modal-gallery-image .modal-body img {
	max-height: 75vh !important;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none
}
.modal-gallery-image .modal-body>.left, .modal-gallery-image .modal-body>.right {
	left: 0;
	opacity: 0.3;
	-webkit-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s
}
.modal-gallery-image .modal-body>.left:hover, .modal-gallery-image .modal-body>.right:hover {
	opacity: 0.6;
	cursor: pointer
}
.modal-gallery-image .modal-body>.left .arrow {
	left: 15px;
	display: block;
	width: 45px;
	height: 90px;
	position: absolute;
	background-color: white;
	top: 50%;
	margin-top: -45px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M15.422%2016.078l-1.406%201.406-6-6%206-6%201.406%201.406-4.594%204.594z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px
}
.modal-gallery-image .modal-body>.right .arrow {
	right: 15px;
	display: block;
	width: 45px;
	height: 90px;
	position: absolute;
	background-color: white;
	top: 50%;
	margin-top: -45px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M8.578%2016.359l4.594-4.594-4.594-4.594%201.406-1.406%206%206-6%206z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50px
}
.search-widget button {
	color: #d6d6d6;
	width: 35px;
	overflow: hidden;
	float: right;
	margin-top: -45px;
	position: relative;
	z-index: 1;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center center;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%23bdbdbd%22%20d%3D%22M29.652%2013.998c2.16%200.5%203.879%202.34%204.379%204.35%200.171%200.94%200.99%201.65%201.971%201.65%201.1%200%202-0.9%202-2%200-1.44-1.21-3.63-2.86-5.27-1.62-1.6-3.55-2.73-5.14-2.73-1.1%200-2%200.93-2%202.030%200%200.979%200.71%201.8%201.65%201.97zM2.162%2040.218c-1.55%201.549-1.55%204.070%200%205.619%201.55%201.551%204.070%201.551%205.61%200l11.489-11.48c2.681%201.672%205.84%202.641%209.24%202.641%209.67%200%2017.5-7.83%2017.5-17.5s-7.83-17.5-17.5-17.5-17.5%207.83-17.5%2017.5c0%203.39%200.971%206.56%202.641%209.24l-11.48%2011.48zM16.002%2019.498c0-6.9%205.601-12.5%2012.5-12.5%206.9%200%2012.5%205.6%2012.5%2012.5s-5.6%2012.5-12.5%2012.5c-6.899-0.001-12.5-5.601-12.5-12.5z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A")
}
.search-widget button, .search-widget button:hover, .search-widget button:focus {
	background-color: transparent;
	border-left: 1px solid #d6d6d6
}
.search-widget button:hover {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M29.652%2013.998c2.16%200.5%203.879%202.34%204.379%204.35%200.171%200.94%200.99%201.65%201.971%201.65%201.1%200%202-0.9%202-2%200-1.44-1.21-3.63-2.86-5.27-1.62-1.6-3.55-2.73-5.14-2.73-1.1%200-2%200.93-2%202.030%200%200.979%200.71%201.8%201.65%201.97zM2.162%2040.218c-1.55%201.549-1.55%204.070%200%205.619%201.55%201.551%204.070%201.551%205.61%200l11.489-11.48c2.681%201.672%205.84%202.641%209.24%202.641%209.67%200%2017.5-7.83%2017.5-17.5s-7.83-17.5-17.5-17.5-17.5%207.83-17.5%2017.5c0%203.39%200.971%206.56%202.641%209.24l-11.48%2011.48zM16.002%2019.498c0-6.9%205.601-12.5%2012.5-12.5%206.9%200%2012.5%205.6%2012.5%2012.5s-5.6%2012.5-12.5%2012.5c-6.899-0.001-12.5-5.601-12.5-12.5z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A")
}
.search-widget input {
	margin-top: 0;
	padding-right: 45px
}
.search-widget input, .search-widget button {
	height: 35px;
	display: inline-block
}
.search-result-item {
	padding-bottom: 15px
}
.search-result-item:last-child {
	padding-bottom: 0
}
.search-result-item .search-result-item-title {
	text-decoration: none
}
.search-result-item .search-result-item-title>span {
	font-size: 0.9285rem;
}
.search-result-item .search-result-item-title:hover>span {
	text-decoration: underline
}
.search-result-item .search-result-item-title>p {
	color: #333333
}
.search-result-item .search-result-item-title:hover>p {
	color: gray
}
.search-result-item .search-result-item-content {
	font-size: 0.8571rem
}
.widget-newsletter .widget-newsletter-label:empty {
	display: none
}
.widget-newsletter input {
	padding-right: 45px
}
.widget-newsletter-box {
	position: relative
}
.widget-newsletter button {
	top: 10px;
	right: 0;
	height: 35px;
	width: 35px;
	position: absolute;
	z-index: 1;
	background-repeat: no-repeat;
	background-size: 20px;
	background-position: center center;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%23bdbdbd%22%20d%3D%22M0%2038c0%202.21%201.79%204%204%204h40c2.21%200%204-1.79%204-4l-0-27c0-2.21-1.79-4-4-4l-40%200c-2.21%200-4%201.79-4%204v27zM14.72%2024.53l-9.15-9.21c-0.759-0.76-0.759-1.99%200-2.75%200.761-0.76%201.991-0.76%202.75%200l14.6%2014.619c0.59%200.58%201.561%200.58%202.141%200l14.619-14.619c0.76-0.76%201.99-0.76%202.75%200s0.76%201.99%200%202.75l-9.16%209.21%209.16%209.149c0.76%200.76%200.76%201.99%200%202.75s-1.99%200.76-2.75%200l-9.15-9.14c0%200-2.859%202.91-3.379%203.43-0.811%200.791-1.931%201.281-3.151%201.281-1.24%200-2.36-0.5-3.17-1.311-0.53-0.52-3.37-3.399-3.37-3.399l-9.141%209.14c-0.759%200.76-1.989%200.76-2.75%200-0.759-0.76-0.759-1.99%200-2.75l9.151-9.15z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A");
	overflow: hidden;
	text-indent: -9999px;
	margin-bottom: 10px
}
.widget-newsletter button, .widget-newsletter button:hover {
	background-color: transparent
}
.widget-newsletter button:hover {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C!--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2248%22%20height%3D%2248%22%20viewBox%3D%220%200%2048%2048%22%3E%0A%3Cpath%20fill%3D%22%2365C2C4%22%20d%3D%22M0%2038c0%202.21%201.79%204%204%204h40c2.21%200%204-1.79%204-4l-0-27c0-2.21-1.79-4-4-4l-40%200c-2.21%200-4%201.79-4%204v27zM14.72%2024.53l-9.15-9.21c-0.759-0.76-0.759-1.99%200-2.75%200.761-0.76%201.991-0.76%202.75%200l14.6%2014.619c0.59%200.58%201.561%200.58%202.141%200l14.619-14.619c0.76-0.76%201.99-0.76%202.75%200s0.76%201.99%200%202.75l-9.16%209.21%209.16%209.149c0.76%200.76%200.76%201.99%200%202.75s-1.99%200.76-2.75%200l-9.15-9.14c0%200-2.859%202.91-3.379%203.43-0.811%200.791-1.931%201.281-3.151%201.281-1.24%200-2.36-0.5-3.17-1.311-0.53-0.52-3.37-3.399-3.37-3.399l-9.141%209.14c-0.759%200.76-1.989%200.76-2.75%200-0.759-0.76-0.759-1.99%200-2.75l9.151-9.15z%22%3E%3C%2Fpath%3E%0A%3C%2Fsvg%3E%0A")
}
.subscribe, .unsubscribe {
	font-size: 18px;
	text-align: center;
	padding: 50px 20px;
	margin: 50px 0;
	background-color: #dff0d8;
	border: 1px solid #dddddd
}
.subscribe-title, .unsubscribe-title {
	font-size: 21px;
	margin: 0 0 20px 0
}
.subscribe--error, .unsubscribe--error {
	background-color: #f8d7da
}
.consent-checkbox {
	margin-top: 5px;
	float: left
}
.consent-label {
	margin-left: 25px;
	margin-bottom: 5px;
	display: block
}
.contact-data .widget-content>div {
	margin-bottom: 4px
}
.contact-data .contact-data-label {
}
.contact-data a {
	color: #65c2c4
}
.contact-data a:hover, .contact-data a:focus {
	color: #41a8aa
}
.content-edit .widget-content {
	word-wrap: break-word;
	word-break: break-word
}
.content-edit .widget-content h1, .content-edit .widget-content h2, .content-edit .widget-content h3, .content-edit .widget-content h4, .content-edit .widget-content h5, .content-edit .widget-content h6 {
	padding: 15px 0
}
.content-edit .widget-content h1 {
	font-size: 5rem;
    	line-height: 0.9;
    	font-family: 'Veneer Two'

}
.content-edit .widget-content h2 {
	font-size: 4rem;
    	line-height: 0.9;
    	font-family: 'Veneer Two'
}
.content-edit .widget-content h3 {
	font-size: 3rem;
    	line-height: 0.9;
    	font-family: 'Veneer Two'
}
.content-edit .widget-content h4 {
	font-size: 1.5rem
}
.content-edit .widget-content h5 {
	font-size: 1.3rem
}
.content-edit .widget-content h6 {
	font-size: 1.2rem
}
.content-edit .widget-content ul {
	list-style-type: disc
}
.content-edit .widget-content ol {
	list-style-type: decimal
}
.content-edit .widget-content ul, .content-edit .widget-content ol {
	padding-left: 30px
}
.content-edit .widget-content p, .content-edit .widget-content ul, .content-edit .widget-content ol {
	margin: 10px 0
}
.content-edit .widget-content blockquote, .content-edit .widget-content q, .content-edit .widget-content cite, .content-edit .widget-content em, .content-edit .widget-content i {
	font-style: italic
}
.content-edit .widget-content b, .content-edit .widget-content strong {
	font-weight: 500;
}
.content-edit .widget-content p:after {
	content: "";
	display: inline-block;
	width: 0px
}
.content-edit .widget-content a {
	color: #65c2c4
}
.content-edit .widget-content a:hover, .content-edit .widget-content a:focus {
	color: #41a8aa
}
.content-edit .widget-content table {
	border-collapse: collapse;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed
}
.content-edit .widget-content th {
}
.content-edit .widget-content th, .content-edit .widget-content td {
	padding: 8px;
	border: 1px solid #d6d6d6;
	word-break: break-word
}
.content-edit .widget-content>* {
	max-width: 100%
}
.custom .widget-content {
	word-wrap: break-word;
	word-break: break-word
}
.custom .widget-content h1, .custom .widget-content h2, .custom .widget-content h3, .custom .widget-content h4, .custom .widget-content h5, .custom .widget-content h6 {
	padding: 15px 0
}
.custom .widget-content h1 {
	font-size: 1.5rem
}
.custom .widget-content h2 {
	font-size: 1.25rem
}
.custom .widget-content h3 {
	font-size: 1.125rem
}
.custom .widget-content h4 {
	font-size: 1rem
}
.custom .widget-content h5 {
	font-size: 0.875rem
}
.custom .widget-content h6 {
	font-size: 0.75rem
}
.custom .widget-content ul {
	list-style-type: disc
}
.custom .widget-content ol {
	list-style-type: decimal
}
.custom .widget-content ul, .custom .widget-content ol {
	padding-left: 30px
}
.custom .widget-content p, .custom .widget-content ul, .custom .widget-content ol {
	margin: 10px 0
}
.custom .widget-content blockquote, .custom .widget-content q, .custom .widget-content cite, .custom .widget-content em, .custom .widget-content i {
	font-style: italic
}
.custom .widget-content b, .custom .widget-content strong {
	font-weight: 500;
}
.custom .widget-content p:after {
	content: "";
	display: inline-block;
	width: 0px
}
.custom .widget-content a {
	color: #65c2c4
}
.custom .widget-content a:hover, .custom .widget-content a:focus {
	color: #41a8aa
}
.custom .widget-content table {
	border-collapse: collapse;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed
}
.custom .widget-content th {
}
.custom .widget-content th, .custom .widget-content td {
	padding: 8px;
	border: 1px solid #d6d6d6;
	word-break: break-word
}
.custom .widget-content button {
	min-width: 0
}
.custom .widget-content>* {
	max-width: 100%
}
.widget-map .widget-content, .widget-map-advanced .widget-content {
	color: #333333
}
.container-fluid>.row>div>.widget-map {
	margin-left: -10px;
	margin-right: -10px;
	padding-left: 0;
	padding-right: 0
}
.breadcrumbs {
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 0.85rem;
}
.breadcrumbs a {
	color: #333333;
	word-wrap: break-word
}
.breadcrumbs .sep {
	margin: 0 5px
}
.breadcrumbs .sep:before {
	content: '\00BB'
}
.widget-news img {
	max-width: 100%
}
.widget-news .widget-news-item {
	border-bottom: 1px solid #d6d6d6;
	padding: 0 0 20px 0;
	margin-bottom: 20px;
	position: relative
}
.widget-news .widget-news-item:before, .widget-news .widget-news-item:after {
	content: " ";
	display: table
}
.widget-news .widget-news-item:after {
	clear: both
}
.widget-news .widget-news-item:last-child {
	border-bottom: none;
	margin-bottom: 0
}
.widget-news .widget-news-item .widget-news-title-container {
	padding-bottom: 15px
}
.widget-news .widget-news-item .widget-news-title {
	color: #65c2c4
}
.widget-news .widget-news-item .widget-news-article-thumbnail {
	float: left;
	margin-right: 15px;
	margin-bottom: 10px;
	max-height: 160px;
	max-width: 160px;
	width: auto
}
@media (min-width:768px) and (max-width:991px) {
	.col-sm-1 .widget-news .widget-news-item .widget-news-article-thumbnail, .col-sm-2 .widget-news .widget-news-item .widget-news-article-thumbnail, .col-sm-3 .widget-news .widget-news-item .widget-news-article-thumbnail {
		max-width: 100%
	}
}
.widget-news .widget-news-content-container {
	word-wrap: break-word;
	word-break: break-word
}
.widget-news .widget-news-content-container h1, .widget-news .widget-news-content-container h2, .widget-news .widget-news-content-container h3, .widget-news .widget-news-content-container h4, .widget-news .widget-news-content-container h5, .widget-news .widget-news-content-container h6 {
	padding: 15px 0
}
.widget-news .widget-news-content-container h1 {
	font-size: 1.5rem
}
.widget-news .widget-news-content-container h2 {
	font-size: 1.25rem
}
.widget-news .widget-news-content-container h3 {
	font-size: 1.125rem
}
.widget-news .widget-news-content-container h4 {
	font-size: 1rem
}
.widget-news .widget-news-content-container h5 {
	font-size: 0.875rem
}
.widget-news .widget-news-content-container h6 {
	font-size: 0.75rem
}
.widget-news .widget-news-content-container ul {
	list-style-type: disc
}
.widget-news .widget-news-content-container ol {
	list-style-type: decimal
}
.widget-news .widget-news-content-container ul, .widget-news .widget-news-content-container ol {
	padding-left: 30px
}
.widget-news .widget-news-content-container p, .widget-news .widget-news-content-container ul, .widget-news .widget-news-content-container ol {
	margin: 10px 0
}
.widget-news .widget-news-content-container blockquote, .widget-news .widget-news-content-container q, .widget-news .widget-news-content-container cite, .widget-news .widget-news-content-container em, .widget-news .widget-news-content-container i {
	font-style: italic
}
.widget-news .widget-news-content-container b, .widget-news .widget-news-content-container strong {
	font-weight: 500;
}
.widget-news .widget-news-content-container p:after {
	content: "";
	display: inline-block;
	width: 0px
}
.widget-news .widget-news-content-container a {
	color: #65c2c4
}
.widget-news .widget-news-content-container a:hover, .widget-news .widget-news-content-container a:focus {
	color: #41a8aa
}
.widget-news .widget-news-content-container table {
	border-collapse: collapse;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	table-layout: fixed
}
.widget-news .widget-news-content-container th {
}
.widget-news .widget-news-content-container th, .widget-news .widget-news-content-container td {
	padding: 8px;
	border: 1px solid #d6d6d6;
	word-break: break-word
}
.widget-news .widget-news-content-container>* {
	max-width: 100%
}
.widget-search-feature .search-feature-container {
	margin-left: -10px;
	margin-right: -10px;
	word-wrap: break-word;
	word-break: break-word
}
.widget-search-feature .search-feature-item {
	margin-bottom: 10px;
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:768px) {
	.widget-search-feature .search-feature-item {
		float: left;
		width: 100%
	}
}
.col-sm-5>.widget-search-feature .search-feature-item, .col-sm-6>.widget-search-feature .search-feature-item, .col-sm-7>.widget-search-feature .search-feature-item, .col-sm-8>.widget-search-feature .search-feature-item {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:768px) {
	.col-sm-5>.widget-search-feature .search-feature-item, .col-sm-6>.widget-search-feature .search-feature-item, .col-sm-7>.widget-search-feature .search-feature-item, .col-sm-8>.widget-search-feature .search-feature-item {
		float: left;
		width: 50%
	}
}
.col-sm-9>.widget-search-feature .search-feature-item, .col-sm-10>.widget-search-feature .search-feature-item {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:768px) {
	.col-sm-9>.widget-search-feature .search-feature-item, .col-sm-10>.widget-search-feature .search-feature-item {
		float: left;
		width: 50%
	}
}
@media (min-width:992px) {
	.col-sm-9>.widget-search-feature .search-feature-item, .col-sm-10>.widget-search-feature .search-feature-item {
		float: left;
		width: 33.333333333%
	}
}
.col-sm-11>.widget-search-feature .search-feature-item, .col-sm-12>.widget-search-feature .search-feature-item {
	position: relative;
	min-height: 1px;
	padding-left: 10px;
	padding-right: 10px
}
@media (min-width:768px) {
	.col-sm-11>.widget-search-feature .search-feature-item, .col-sm-12>.widget-search-feature .search-feature-item {
		float: left;
		width: 33.333333333%
	}
}
@media (min-width:992px) {
	.col-sm-11>.widget-search-feature .search-feature-item, .col-sm-12>.widget-search-feature .search-feature-item {
		float: left;
		width: 25%
	}
}
.widget-search-feature .search-feature-key {
	margin-bottom: 0;
	display: block
}
.widget-search-feature .search-feature-key:first-child {
	margin-top: 0
}
.widget-search-feature .search-feature-key .checkbox, .widget-search-feature .search-feature-key .radio {
	margin-bottom: 10px
}
.widget-search-feature .search-feature-key:before, .widget-search-feature .search-feature-key:after {
	content: " ";
	display: table
}
.widget-search-feature .search-feature-key:after {
	clear: both
}
.widget-search-feature .search-feature-key+.search-feature-checkbox, .widget-search-feature .search-feature-key+.search-feature-radio {
	padding-top: 10px
}
.widget-search-feature label {
	margin-bottom: 3px
}
.widget-search-feature .checkbox, .widget-search-feature .radio {
	margin-bottom: 5px
}
.widget-search-feature .checkbox label, .widget-search-feature .radio label {
	display: block;
	position: relative;
	margin-bottom: 10px;
	padding-left: 25px;
	cursor: pointer
}
@media (max-width:767px) {
	.widget-search-feature .checkbox label, .widget-search-feature .radio label {
		min-height: 30px
	}
}
.widget-search-feature select {
	width: 100%
}
.widget-search-feature .radio input[type="radio"], .widget-search-feature .checkbox input[type="checkbox"] {
	margin-right: 6px;
	position: absolute;
	left: 0;
	top: -1px
}
.widget-search-feature .btn-search {
	clear: both
}

.fiolet-box {
	background-color: #b884cb;
	color: white;
	text-align: center;
	border: 1px solid #ad6cc4;
  	padding-top: 35px;
  	padding-right: 35px;
  	padding-bottom: 35px;
  	padding-left: 35px;
}

#description * {
  font-family: 'Mr Dodo', sans-serif !important;
}

/* ==========================================================================
   PET SHOP RUMIA – warstwa key visual 1.0 (dopisana na końcu CSS szablonu)
   Usunięcie wszystkiego od tej linii w dół przywraca poprzedni wygląd.
   ========================================================================== */

/* ----- 00-tokeny.css ----- */
/* ==========================================================================
   00-tokeny.css – FUNDAMENT: tokeny key visualu 1.0 (zaakceptowany 23.09.2026)
   Źródło: key-visual/system-wizualny.html → sekcja „Tokeny” (psr-tokeny.css) + zmienne wewnętrzne KV.
   Tylko :root i @keyframes – ten plik niczego nie maluje.
   Ściąga dla modułów: analiza/fundament-api.md
   ========================================================================== */

:root {
  /* --- kolory marki (100 = kształty, obrysy; deep = tło pod białym tekstem) --- */
  --psr-mint: #65c2c4;
  --psr-mint-deep: #338c8e;
  --psr-coral: #f86767;
  --psr-coral-deep: #dc555a;
  --psr-lilac: #b884cb;
  --psr-lilac-deep: #a16eb4;
  --psr-lime: #d9e249;
  --psr-night: #1d5456;
  --psr-ink: #333333;
  --psr-white: #ffffff;

  /* --- tekst i neutralne --- */
  --psr-coral-text: #c2474b; /* drobny tekst błędu na bieli (4,9:1) */
  --psr-muted: #56615f;      /* opisy, podpisy */
  --psr-stone-8: #f3f5f5;    /* tło zdjęć produktów */
  --psr-stone-20: #e5eaea;

  /* --- rozjaśnienia 40 / 20 / 8 --- */
  --psr-mint-8: #f3fafa;
  --psr-mint-20: #e0f3f3;
  --psr-mint-40: #c1e7e7;
  --psr-lime-8: #fcfdf0;
  --psr-lime-20: #f7f9db;
  --psr-lime-40: #f0f3b6;
  --psr-coral-8: #fef3f3;
  --psr-coral-20: #fee1e1;
  --psr-coral-40: #fcc2c2;
  --psr-lilac-8: #f9f5fb;
  --psr-lilac-20: #f1e6f5;
  --psr-lilac-40: #e3ceea;

  /* --- podeszwy przycisków (kolory): box-shadow: 0 4px 0 var(--psr-sole-…) --- */
  --psr-sole-night: #0e3031;
  --psr-sole-mint: #226668;
  --psr-sole-coral: #a83a3f;
  --psr-sole-lilac: #774a88;
  --psr-sole-lime: #a3ab24;
  --psr-sole-white: #c9d8d8;

  /* --- stany nieaktywne i pola (wartości z KV, których nie było w psr-tokeny.css) --- */
  --psr-off-bg: #e4e9e9;          /* nieaktywny przycisk / licznik */
  --psr-off-fg: #7d8a8a;          /* jego napis; też placeholder pól */
  --psr-sole-off: #cfd6d6;        /* podeszwa nieaktywnego (3 px) */
  --psr-field-off-fg: #8e9b9b;    /* tekst pola nieaktywnego */
  --psr-field-off-ph: #9aa6a6;    /* placeholder pola nieaktywnego */
  --psr-check-ring: #a6d3d4;      /* obwódka pustego checkboxa */
  --psr-switch-off: #d3dede;      /* tor wyłączonego przełącznika, pusta gwiazdka */
  --psr-lime-edge: #aab126;       /* obwódka limonkowej kropki na bieli */
  --psr-code-ink: #eaf5f5;        /* jasny tekst na nocnej mięcie (kod) */
  --psr-code-muted: #9cc3c4;

  /* --- podeszwy serc-zalet (kolor tła 68% + #0e3031, jak w KV) --- */
  --psr-heart-sole-mint: #276f70;
  --psr-heart-sole-lilac: #725a8a;
  --psr-heart-sole-coral: #9a494d;
  --psr-heart-sole-lime: #98a941;
  --psr-heart-sole-night: #18484a;

  /* --- font: na platformie rodzina nazywa się 'Mr Dodo' (@font-face w szablonie); tylko Regular --- */
  --psr-font: 'Mr Dodo', 'MrDodo', sans-serif;

  /* --- skala typografii KV (px, bo html ma 15 px = 1rem) --- */
  --psr-fs-display: clamp(58px, 8.4vw, 100px);
  --psr-fs-sec: clamp(42px, 5.6vw, 68px);   /* tytuł sekcji .sec-title */
  --psr-fs-h1: clamp(40px, 5.2vw, 62px);
  --psr-fs-h2: clamp(32px, 3.9vw, 44px);
  --psr-fs-sub: 28px;
  --psr-fs-h3: 30px;
  --psr-fs-script: 42px;
  --psr-fs-lead: 19px;
  --psr-fs-body: 17px;
  --psr-fs-note: 15px;
  --psr-fs-small: 14px;
  --psr-fs-label: 13px;

  /* --- promienie --- */
  --psr-radius-card: 32px;    /* karta, próbka, kafel logo */
  --psr-radius-pill: 999px;   /* przyciski, pola, chipy */
  --psr-radius-tile: 26px;    /* kafel, zasada, taca */
  --psr-radius-banner: 44px;  /* baner */
  --psr-radius-note: 30px;    /* karteczka */
  --psr-radius-bubble: 24px;  /* dymek, płytka nadtytułu */
  --psr-radius-row: 18px;     /* wiersz miękkiej tabeli, pasek */
  --psr-radius-sm: 20px;      /* kafelek ikony 56 px */

  /* --- odstępy (skala KV) --- */
  --psr-s-1: 4px;
  --psr-s-2: 8px;
  --psr-s-3: 12px;
  --psr-s-4: 16px;
  --psr-s-5: 24px;
  --psr-s-6: 32px;
  --psr-s-7: 48px;
  --psr-s-8: 72px;

  /* --- cienie: tylko pod białymi polami; kolor = przyciemnione tło, na którym leży pole ---
     --psr-lift / --psr-lift-sm to wartości dla białego tła. Kolorowe strefy nadpisują je
     gotowymi wartościami poniżej (np. .psr-sekcja--night { --psr-lift: var(--psr-lift-night) }). */
  --psr-lift: 0 20px 44px -28px rgba(98, 120, 121, 0.42);
  --psr-lift-sm: 0 10px 22px -14px rgba(98, 120, 121, 0.38);
  --psr-lift-mint-8: 0 20px 44px -28px rgba(94, 119, 119, 0.42);
  --psr-lift-sm-mint-8: 0 10px 22px -14px rgba(94, 119, 119, 0.38);
  --psr-lift-lime-8: 0 20px 44px -28px rgba(97, 120, 116, 0.42);
  --psr-lift-sm-lime-8: 0 10px 22px -14px rgba(97, 120, 116, 0.38);
  --psr-lift-lilac-8: 0 20px 44px -28px rgba(96, 117, 120, 0.42);
  --psr-lift-sm-lilac-8: 0 10px 22px -14px rgba(96, 117, 120, 0.38);
  --psr-lift-mint-deep: 0 20px 44px -28px rgba(27, 80, 82, 0.42);
  --psr-lift-sm-mint-deep: 0 10px 22px -14px rgba(27, 80, 82, 0.38);
  --psr-lift-lilac-deep: 0 20px 44px -28px rgba(65, 70, 95, 0.42);
  --psr-lift-sm-lilac-deep: 0 10px 22px -14px rgba(65, 70, 95, 0.38);
  --psr-lift-night: 0 20px 44px -28px rgba(19, 61, 62, 0.42);
  --psr-lift-sm-night: 0 10px 22px -14px rgba(19, 61, 62, 0.38);
  --psr-lift-dialog: 0 20px 44px -28px rgba(18, 63, 64, 0.42);   /* okna dialogowe */

  /* --- fokus: nocna mięta na jasnym; kolorowe strefy ustawiają --psr-focus: #fff --- */
  --psr-focus: #1d5456;

  /* --- ruch --- */
  --psr-spring: cubic-bezier(.3, 1.5, .5, 1);   /* sprężyna: hover, wejścia */
  --psr-smooth: cubic-bezier(.2, .7, .3, 1);    /* łagodne: rysowanie, odlot, przechył */
  --psr-ease-fly: cubic-bezier(.45, 0, .4, 1);  /* lot serduszka do koszyka */
  --psr-t-fast: 180ms;   /* kolory i tła */
  --psr-t-base: 320ms;   /* przyciski, naklejki, kafelki */
  --psr-t-big: 450ms;    /* większe obiekty: wycinki, karteczki */
  --psr-t-pop: 700ms;    /* wejścia */

  /* --- wymiary komponentów --- */
  --psr-btn-h-l: 60px;
  --psr-btn-h-m: 52px;
  --psr-btn-h-s: 42px;
  --psr-field-h: 56px;
  --psr-fala-h: clamp(40px, 5vw, 70px);   /* wysokość fali między sekcjami */
  --psr-dymek-ogonek: path("M0 0 H26 C18 4 8 10 2 18 C5 10 4 4 0 0 Z");   /* clip-path ogonka dymka 26 × 18 */

  /* --- ikony KV (i-*) jako maski: background: currentColor; mask: var(--psr-i-…) center / contain no-repeat --- */
  /* kreska 1,8 jak .ic w KV; -cienka = 1,3 (ikony w sercach, duże kafle); -gruba = 2,4–2,8 (drobne znaczniki) */
  --psr-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
  --psr-i-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='m11 6-6 6 6 6'/%3E%3C/svg%3E");
  --psr-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");
  --psr-i-chevron-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9.5 6.5 5.5 5.5-5.5 5.5'/%3E%3C/svg%3E");
  --psr-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --psr-i-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11'/%3E%3Cpath d='M17.5 6.5l-11 11'/%3E%3C/svg%3E");
  --psr-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  --psr-i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  --psr-i-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.5'/%3E%3Ccircle cx='18' cy='20' r='1.5'/%3E%3Cpath d='M2.5 3.5h2l2.4 11.2a1 1 0 0 0 1 .8h8.8a1 1 0 0 0 1-.8L20 7H6'/%3E%3C/svg%3E");
  --psr-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.3s-7.8-4.7-7.8-10.3A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.8 2.8c0 5.6-7.8 10.3-7.8 10.3z'/%3E%3C/svg%3E");
  --psr-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='6' width='17' height='12.5' rx='3'/%3E%3Cpath d='m5 8 7 5.5L19 8'/%3E%3C/svg%3E");
  --psr-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E");
  --psr-i-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h9'/%3E%3Cpath d='M17 7h3'/%3E%3Cpath d='M4 17h3'/%3E%3Cpath d='M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E");
  --psr-i-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M4 12h16'/%3E%3Cpath d='M4 17h10'/%3E%3C/svg%3E");
  --psr-i-truck: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(2.1 -1.1)'%3E%3Cpath d='M2.5 7.5h9.5v6H2.5z'/%3E%3Cpath d='M12 10h3.6l2.4 2.6v.9H12z'/%3E%3Cpath d='M4.7 17a1.7 1.7 0 1 0 0 .01'/%3E%3Cpath d='M16.8 17a1.7 1.7 0 1 0 0 .01'/%3E%3Cpath d='M6.4 17H15'/%3E%3Cpath d='M18.5 14.6V17h-1.1'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-van: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(.5 -1.5)'%3E%3Cpath d='M3 7.5h11v7H3z'/%3E%3Cpath d='M14 10h3.8l2.2 2.4v2.1H14z'/%3E%3Ccircle cx='7' cy='18' r='1.5'/%3E%3Ccircle cx='17' cy='18' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.5-6.1 6.5-11.2A6.5 6.5 0 0 0 5.5 9.8C5.5 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.8' r='2.3'/%3E%3C/svg%3E");
  --psr-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
  --psr-i-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c1.2-3.6 3.9-5.5 7-5.5s5.8 1.9 7 5.5'/%3E%3C/svg%3E");
  --psr-i-home: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10 12 4l8.5 6'/%3E%3Cpath d='M5.5 9v11h13V9'/%3E%3Cpath d='M9.5 20v-5.5h5V20'/%3E%3C/svg%3E");
  --psr-i-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='5.6' cy='10.4' rx='1.7' ry='2.1'/%3E%3Cellipse cx='9.3' cy='6.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='14.7' cy='6.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='18.4' cy='10.4' rx='1.7' ry='2.1'/%3E%3Cpath d='M12 11.6c-2.8 0-5.4 3.3-5.4 5.7 0 1.7 1.3 2.7 2.8 2.7 1.1 0 1.8-.6 2.6-.6s1.5.6 2.6.6c1.5 0 2.8-1 2.8-2.7 0-2.4-2.6-5.7-5.4-5.7z'/%3E%3C/svg%3E");
  --psr-i-cat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 4.5 8.6 8h6.8l3.1-3.5v9.2c0 3.6-2.9 6.3-6.5 6.3s-6.5-2.7-6.5-6.3z'/%3E%3Cpath d='M9.3 12.2h.01'/%3E%3Cpath d='M14.7 12.2h.01'/%3E%3Cpath d='M11 15l1 .8 1-.8'/%3E%3C/svg%3E");
  --psr-i-fish: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(-.8 0)'%3E%3Cpath d='M20.5 12c-1.8 3-4.6 4.8-8 4.8-2.6 0-4.8-1.1-6.6-2.9L3 16.3V7.7l2.9 2.4c1.8-1.8 4-2.9 6.6-2.9 3.4 0 6.2 1.8 8 4.8z'/%3E%3Cpath d='M16 11.2h.01'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-drop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5s6 6.4 6 10.6a6 6 0 0 1-12 0c0-4.2 6-10.6 6-10.6z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E");
  --psr-i-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8l2.4 5 5.4.7-4 3.8 1 5.4L12 16.1l-4.8 2.6 1-5.4-4-3.8 5.4-.7z'/%3E%3C/svg%3E");
  --psr-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.3V5c0-.6.4-1 1-1h7.3l7.9 7.9-8.3 8.3z'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.4'/%3E%3C/svg%3E");
  --psr-i-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5 12 4l7.5 4.5v8L12 21l-7.5-4.5z'/%3E%3Cpath d='M4.5 8.5 12 13l7.5-4.5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E");
  --psr-i-undo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 8H5V4'/%3E%3Cpath d='M5.3 8A8 8 0 1 1 4 13'/%3E%3C/svg%3E");
  --psr-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l7 2.8v5.5c0 4.2-2.9 7.5-7 8.7-4.1-1.2-7-4.5-7-8.7V6.3z'/%3E%3Cpath d='M9 12l2.2 2.2L15.5 10'/%3E%3C/svg%3E");
  --psr-i-wheat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V9'/%3E%3Cpath d='M12 9c-2.2-.6-3.3-2.3-3.3-4.6 2.2.3 3.3 1.8 3.3 4.6zM12 9c2.2-.6 3.3-2.3 3.3-4.6-2.2.3-3.3 1.8-3.3 4.6z'/%3E%3Cpath d='M12 14c-2.2-.6-3.3-2.3-3.3-4.6 2.2.3 3.3 1.8 3.3 4.6zM12 14c2.2-.6 3.3-2.3 3.3-4.6-2.2.3-3.3 1.8-3.3 4.6z'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
  --psr-i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8.3 5.7-14 14-14 0 8.3-5.7 14-14 14z'/%3E%3Cpath d='M5 19l8.5-8.5'/%3E%3C/svg%3E");
  --psr-i-tooth: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5.4c-1.6 0-2.3-.9-4-.9-2.5 0-4 1.9-4 4.5 0 2.4 1 3.7 1.6 6.4.5 2.6 1 4.1 2.2 4.1 1.4 0 1.5-3.8 2.8-3.8h2.8c1.3 0 1.4 3.8 2.8 3.8 1.2 0 1.7-1.5 2.2-4.1.6-2.7 1.6-4 1.6-6.4 0-2.6-1.5-4.5-4-4.5-1.7 0-2.4.9-4 .9z'/%3E%3C/svg%3E");
  --psr-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
  --psr-i-excl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.5v7'/%3E%3Cpath d='M12 17.6h.01'/%3E%3C/svg%3E");
  --psr-i-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4 21 19.5H3z'/%3E%3Cpath d='M12 10v4.5'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  --psr-i-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 7h15'/%3E%3Cpath d='M9.5 7V5.2c0-.7.5-1.2 1.2-1.2h2.6c.7 0 1.2.5 1.2 1.2V7'/%3E%3Cpath d='M6.5 7l.9 11.3c.1 1 .9 1.7 1.9 1.7h5.4c1 0 1.8-.7 1.9-1.7L17.5 7'/%3E%3Cpath d='M10 11v5.5'/%3E%3Cpath d='M14 11v5.5'/%3E%3C/svg%3E");
  --psr-i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='9.5' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E");
  --psr-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3.5' width='10' height='17' rx='2.5'/%3E%3Cpath d='M11 17.5h2'/%3E%3C/svg%3E");
  --psr-i-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6.5' width='19' height='11' rx='3'/%3E%3Cpath d='M2.5 10.5h19'/%3E%3Cpath d='M6 14.5h4'/%3E%3C/svg%3E");
  --psr-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='3'/%3E%3Cpath d='M7.5 3.5v3'/%3E%3Cpath d='M16.5 3.5v3'/%3E%3Cpath d='M3.5 9.5h17'/%3E%3Cpath d='M8 13h3'/%3E%3Cpath d='M13.5 13h2.5'/%3E%3C/svg%3E");
  --psr-i-bank: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.2 12 4.5l8.5 4.7'/%3E%3Cpath d='M4.5 9.5h15'/%3E%3Cpath d='M6.8 12.5v4.5'/%3E%3Cpath d='M10.3 12.5v4.5'/%3E%3Cpath d='M13.7 12.5v4.5'/%3E%3Cpath d='M17.2 12.5v4.5'/%3E%3Cpath d='M4 19.5h16'/%3E%3C/svg%3E");
  --psr-i-cash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6.5' width='19' height='11' rx='3'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3Cpath d='M6.2 9.8h.01'/%3E%3Cpath d='M17.8 14.2h.01'/%3E%3C/svg%3E");
  --psr-i-cookie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 12A8.5 8.5 0 1 1 12 3.5a3 3 0 0 0 3.6 3.9 3.4 3.4 0 0 0 4.9 4.6z'/%3E%3Cpath d='M8.4 9.4h.01M12.4 14h.01M8.2 15.4h.01M15.8 16.3h.01' stroke-width='2.6'/%3E%3C/svg%3E");
  --psr-i-sort: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9.5 4-4 4 4'/%3E%3Cpath d='m8 14.5 4 4 4-4'/%3E%3C/svg%3E");
  --psr-i-leaf-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8.3 5.7-14 14-14 0 8.3-5.7 14-14 14z'/%3E%3Cpath d='M5 19l8.5-8.5'/%3E%3C/svg%3E");
  --psr-i-shield-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l7 2.8v5.5c0 4.2-2.9 7.5-7 8.7-4.1-1.2-7-4.5-7-8.7V6.3z'/%3E%3Cpath d='M9 12l2.2 2.2L15.5 10'/%3E%3C/svg%3E");
  --psr-i-wheat-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V9'/%3E%3Cpath d='M12 9c-2.2-.6-3.3-2.3-3.3-4.6 2.2.3 3.3 1.8 3.3 4.6zM12 9c2.2-.6 3.3-2.3 3.3-4.6-2.2.3-3.3 1.8-3.3 4.6z'/%3E%3Cpath d='M12 14c-2.2-.6-3.3-2.3-3.3-4.6 2.2.3 3.3 1.8 3.3 4.6zM12 14c2.2-.6 3.3-2.3 3.3-4.6-2.2.3-3.3 1.8-3.3 4.6z'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
  --psr-i-tooth-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5.4c-1.6 0-2.3-.9-4-.9-2.5 0-4 1.9-4 4.5 0 2.4 1 3.7 1.6 6.4.5 2.6 1 4.1 2.2 4.1 1.4 0 1.5-3.8 2.8-3.8h2.8c1.3 0 1.4 3.8 2.8 3.8 1.2 0 1.7-1.5 2.2-4.1.6-2.7 1.6-4 1.6-6.4 0-2.6-1.5-4.5-4-4.5-1.7 0-2.4.9-4 .9z'/%3E%3C/svg%3E");
  --psr-i-fish-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(-.8 0)'%3E%3Cpath d='M20.5 12c-1.8 3-4.6 4.8-8 4.8-2.6 0-4.8-1.1-6.6-2.9L3 16.3V7.7l2.9 2.4c1.8-1.8 4-2.9 6.6-2.9 3.4 0 6.2 1.8 8 4.8z'/%3E%3Cpath d='M16 11.2h.01'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-drop-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5s6 6.4 6 10.6a6 6 0 0 1-12 0c0-4.2 6-10.6 6-10.6z'/%3E%3Cpath d='M9.5 14.5a2.5 2.5 0 0 0 2.5 2.5'/%3E%3C/svg%3E");
  --psr-i-paw-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='5.6' cy='10.4' rx='1.7' ry='2.1'/%3E%3Cellipse cx='9.3' cy='6.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='14.7' cy='6.4' rx='1.7' ry='2.2'/%3E%3Cellipse cx='18.4' cy='10.4' rx='1.7' ry='2.1'/%3E%3Cpath d='M12 11.6c-2.8 0-5.4 3.3-5.4 5.7 0 1.7 1.3 2.7 2.8 2.7 1.1 0 1.8-.6 2.6-.6s1.5.6 2.6.6c1.5 0 2.8-1 2.8-2.7 0-2.4-2.6-5.7-5.4-5.7z'/%3E%3C/svg%3E");
  --psr-i-cat-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 4.5 8.6 8h6.8l3.1-3.5v9.2c0 3.6-2.9 6.3-6.5 6.3s-6.5-2.7-6.5-6.3z'/%3E%3Cpath d='M9.3 12.2h.01'/%3E%3Cpath d='M14.7 12.2h.01'/%3E%3Cpath d='M11 15l1 .8 1-.8'/%3E%3C/svg%3E");
  --psr-i-heart-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.3s-7.8-4.7-7.8-10.3A4.3 4.3 0 0 1 12 7.2a4.3 4.3 0 0 1 7.8 2.8c0 5.6-7.8 10.3-7.8 10.3z'/%3E%3C/svg%3E");
  --psr-i-check-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --psr-i-star-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.8l2.4 5 5.4.7-4 3.8 1 5.4L12 16.1l-4.8 2.6 1-5.4-4-3.8 5.4-.7z'/%3E%3C/svg%3E");
  --psr-i-truck-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(2.1 -1.1)'%3E%3Cpath d='M2.5 7.5h9.5v6H2.5z'/%3E%3Cpath d='M12 10h3.6l2.4 2.6v.9H12z'/%3E%3Cpath d='M4.7 17a1.7 1.7 0 1 0 0 .01'/%3E%3Cpath d='M16.8 17a1.7 1.7 0 1 0 0 .01'/%3E%3Cpath d='M6.4 17H15'/%3E%3Cpath d='M18.5 14.6V17h-1.1'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-box-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 8.5 12 4l7.5 4.5v8L12 21l-7.5-4.5z'/%3E%3Cpath d='M4.5 8.5 12 13l7.5-4.5'/%3E%3Cpath d='M12 13v8'/%3E%3C/svg%3E");
  --psr-i-home-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10 12 4l8.5 6'/%3E%3Cpath d='M5.5 9v11h13V9'/%3E%3Cpath d='M9.5 20v-5.5h5V20'/%3E%3C/svg%3E");
  --psr-i-clock-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
  --psr-i-tag-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.3V5c0-.6.4-1 1-1h7.3l7.9 7.9-8.3 8.3z'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.4'/%3E%3C/svg%3E");
  --psr-i-calendar-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='3'/%3E%3Cpath d='M7.5 3.5v3'/%3E%3Cpath d='M16.5 3.5v3'/%3E%3Cpath d='M3.5 9.5h17'/%3E%3Cpath d='M8 13h3'/%3E%3Cpath d='M13.5 13h2.5'/%3E%3C/svg%3E");
  --psr-i-card-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6.5' width='19' height='11' rx='3'/%3E%3Cpath d='M2.5 10.5h19'/%3E%3Cpath d='M6 14.5h4'/%3E%3C/svg%3E");
  --psr-i-user-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c1.2-3.6 3.9-5.5 7-5.5s5.8 1.9 7 5.5'/%3E%3C/svg%3E");
  --psr-i-pin-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s6.5-6.1 6.5-11.2A6.5 6.5 0 0 0 5.5 9.8C5.5 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.8' r='2.3'/%3E%3C/svg%3E");
  --psr-i-van-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='translate(.5 -1.5)'%3E%3Cpath d='M3 7.5h11v7H3z'/%3E%3Cpath d='M14 10h3.8l2.2 2.4v2.1H14z'/%3E%3Ccircle cx='7' cy='18' r='1.5'/%3E%3Ccircle cx='17' cy='18' r='1.5'/%3E%3C/g%3E%3C/svg%3E");
  --psr-i-lock-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='9.5' rx='2.5'/%3E%3Cpath d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/%3E%3C/svg%3E");
  --psr-i-mail-cienka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='6' width='17' height='12.5' rx='3'/%3E%3Cpath d='m5 8 7 5.5L19 8'/%3E%3C/svg%3E");
  --psr-i-check-gruba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --psr-i-excl-gruba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.5v7'/%3E%3Cpath d='M12 17.6h.01'/%3E%3C/svg%3E");
  --psr-i-close-gruba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11'/%3E%3Cpath d='M17.5 6.5l-11 11'/%3E%3C/svg%3E");
  --psr-i-plus-gruba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  --psr-i-minus-gruba: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
  /* aliasy nazw z analiza/svg/kv-d-ikony-maski.css */
  --psr-i-ck-bank: var(--psr-i-bank);
  --psr-i-ck-cash: var(--psr-i-cash);
  --psr-i-ov-cookie: var(--psr-i-cookie);
  --psr-i-tb-sort: var(--psr-i-sort);
  /* --- ozdobniki KV (d-*): wypełnione / kreska 4 --- */
  --psr-d-sparkle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5c.8 6 4.5 9.7 10.5 10.5-6 .8-9.7 4.5-10.5 10.5-.8-6-4.5-9.7-10.5-10.5 6-.8 9.7-4.5 10.5-10.5z'/%3E%3C/svg%3E");
  --psr-d-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-8.6-5.1-8.6-11.3A4.8 4.8 0 0 1 12 6.8a4.8 4.8 0 0 1 8.6 2.9C20.6 15.9 12 21 12 21z'/%3E%3C/svg%3E");
  --psr-d-paw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='5.4' cy='10.2' rx='2.2' ry='2.7'/%3E%3Cellipse cx='9.2' cy='5.8' rx='2.2' ry='2.8'/%3E%3Cellipse cx='14.8' cy='5.8' rx='2.2' ry='2.8'/%3E%3Cellipse cx='18.6' cy='10.2' rx='2.2' ry='2.7'/%3E%3Cpath d='M12 11.2c-3.1 0-6 3.6-6 6.3 0 1.9 1.4 3 3.1 3 1.2 0 2-.7 2.9-.7s1.7.7 2.9.7c1.7 0 3.1-1.1 3.1-3 0-2.7-2.9-6.3-6-6.3z'/%3E%3C/svg%3E");
  --psr-d-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.6 6.1 6.6.5-5 4.3 1.6 6.4L12 16.4l-5.8 3.4 1.6-6.4-5-4.3 6.6-.5z' stroke='%23000' stroke-linejoin='round'/%3E%3C/svg%3E");
  --psr-d-squiggle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 24' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M3 14c5-9 9-9 13 0s8 9 13 0 9-9 13 0 8 9 13 0 6-7 6-7'/%3E%3C/svg%3E");
  --psr-d-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 48' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 40C10 16 30 6 54 14'/%3E%3Cpath d='M44 6l11 8-10 9'/%3E%3C/svg%3E");
  --psr-d-lines: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 36' fill='none' stroke='%23000' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M9 32 4 20M24 30V12M39 32l5-12'/%3E%3C/svg%3E");
  /* --- kształty --- */
  --psr-svg-serce: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' preserveAspectRatio='none'%3E%3Cpath d='M.5 .98C.2 .76 0 .53 0 .29 0 .12.12 0 .26 0 .37 0 .45.07.5.16.55.07.63 0 .74 0 .88 0 1 .12 1 .29 1 .53.8.76.5.98Z'/%3E%3C/svg%3E");
  --psr-svg-fala: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 70' preserveAspectRatio='none'%3E%3Cpath d='M0 35C90 5 270 5 360 35S630 65 720 35V70H0Z'/%3E%3C/svg%3E");
  --psr-svg-fala-gora: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 720 70' preserveAspectRatio='none'%3E%3Cpath d='M0 35C90 5 270 5 360 35S630 65 720 35V0H0Z'/%3E%3C/svg%3E");
  --psr-svg-falbanka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 70' preserveAspectRatio='none'%3E%3Cpath d='M0 46Q30 4 60 46Q90 4 120 46V70H0Z'/%3E%3C/svg%3E");
  --psr-svg-falbanka-gora: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 70' preserveAspectRatio='none'%3E%3Cpath d='M0 46Q30 4 60 46Q90 4 120 46V0H0Z'/%3E%3C/svg%3E");
  --psr-svg-podkreslenie: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 20' preserveAspectRatio='none'%3E%3Cpath d='M4 12c40-8 90-10 150-6s100 4 142-4' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E");
  --psr-svg-gwiazdka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.8l2.4 5 5.4.7-4 3.8 1 5.4L12 16.1l-4.8 2.6 1-5.4-4-3.8 5.4-.7z' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  --psr-svg-lapka: var(--psr-d-paw);
  --psr-svg-lapka-trop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg transform='rotate(90 12 12)'%3E%3Cellipse cx='5.4' cy='10.2' rx='2.2' ry='2.7'/%3E%3Cellipse cx='9.2' cy='5.8' rx='2.2' ry='2.8'/%3E%3Cellipse cx='14.8' cy='5.8' rx='2.2' ry='2.8'/%3E%3Cellipse cx='18.6' cy='10.2' rx='2.2' ry='2.7'/%3E%3Cpath d='M12 11.2c-3.1 0-6 3.6-6 6.3 0 1.9 1.4 3 3.1 3 1.2 0 2-.7 2.9-.7s1.7.7 2.9.7c1.7 0 3.1-1.1 3.1-3 0-2.7-2.9-6.3-6-6.3z'/%3E%3C/g%3E%3C/svg%3E");
  /* --- grafiki kolorowe (background-image, nie maska) --- */
  --psr-svg-strzalka-select: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d5456' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");
  --psr-svg-ptaszek-bialy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2L18.5 7.8'/%3E%3C/svg%3E");
  --psr-svg-sygnet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1620 1418'%3E%3Cg transform='matrix(.1 0 0 -.1 0 1418)'%3E%3Cpath fill='%2365c2c4' d='M4375,14170c-2256.6-55.8-4468.5-1853.7-4359-4140c2.2-2483.5,1976.1-5772.2,4110.9-7306c0,0,0,0,0.1,0c3,3.6-9,148.4-26,323c-174.9,1770.8-166.3,3281,594,4831c899.4,1744.3,1934,2914.2,3940,3619c245,92,618,223,622,219c8-8-85-233-155-373c-168.2-331.8-886.8-1549.7-660-1657c164.1-127.5,1151-580.8,1203-743c90.9-71.3,211.2-453.7,273-588c118-234,338-419,665-559c570.8-256.3,1993.3-295.8,2207-976c0-141-117-418-280-663c-877.6-1308.9-1659.5-1317.7-3263-1086c-207.7,27.9-379.5,48.9-383,47c0,0,0,0,0,0c267.3-1103.1,1633-2295.7,2824-2704c0,0,0,0,0,0c25-5,45,2,108.9,41c0,0,0.1,0,0.1,0.1c800,556,1476.8,1392,2221,2323c2335,2753.9,3443.6,7094.7-143.1,8897.1c-1648,830.4-3858.4,606.4-5234.9-632.1c-142-125-350-336-460-466c-59-70-76-85-86-75C7171.8,13792.7,5872.1,14205.4,4375,14170z M9650,11054c0-13-292.6-1587.1-295-1592c0,0,0,0,0,0c-34.1,11.1-587.3,322-716,393C8690,10441,9042.8,11008,9650,11054z'/%3E%3Cpath fill='%23d9e249' d='M6953,8890c-169.6-58.9-298.4-208.3-526.3-612c-1.1-2-2.1-4-3.1-6c-236.7-500.9-874.5-914.8-1120.9-1421.5c-1.1-2.3-2.3-4.5-3.6-6.7c-676.3-1127.9-841.1-2377.4-789-3698.7c40.3-589.8,30.3-742.5,350.9-1080c187.5-189.4,900.5-655.7,1249-910C7454,202,7752,26,8045,12c161-7,270,30,520,178c331.9,197.2,455.1,264.3,649.9,362.8c35.9,18.1,58.5,55.3,57.3,95.5C9213.5,2558,6077.1,4991.6,6965.1,5900.1c1.9,1.9,3.9,3.8,5.8,5.6c169.1,152.4,214,113.8,509.3,29.4c2.5-0.7,5-1.5,7.4-2.4c554.3-206.9,772.9,23.4,1005.9,465.4c17,32.2,15.5,70.9-3.1,102.2c-235.1,396.3-324.8,941.7-767.9,1165.4c-46.7,23.6-70,77.1-53.9,126.9c69,214.8,237.5,734.9,227.4,724.4c-29.7-10.2-407.8-246-629.7-384.3c-64-39.9-147.8-0.7-158.2,74.1c-10.2,73.6-22.6,170.6-39.1,293.2c-28,217-54,398-57,401C7008,8905,6981,8899,6953,8890z'/%3E%3C/g%3E%3C/svg%3E");
  --psr-svg-sygnet-bialy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1620 1418'%3E%3Cg transform='matrix(.1 0 0 -.1 0 1418)'%3E%3Cpath fill='%23fff' d='M4375,14170c-2256.6-55.8-4468.5-1853.7-4359-4140c2.2-2483.5,1976.1-5772.2,4110.9-7306c0,0,0,0,0.1,0c3,3.6-9,148.4-26,323c-174.9,1770.8-166.3,3281,594,4831c899.4,1744.3,1934,2914.2,3940,3619c245,92,618,223,622,219c8-8-85-233-155-373c-168.2-331.8-886.8-1549.7-660-1657c164.1-127.5,1151-580.8,1203-743c90.9-71.3,211.2-453.7,273-588c118-234,338-419,665-559c570.8-256.3,1993.3-295.8,2207-976c0-141-117-418-280-663c-877.6-1308.9-1659.5-1317.7-3263-1086c-207.7,27.9-379.5,48.9-383,47c0,0,0,0,0,0c267.3-1103.1,1633-2295.7,2824-2704c0,0,0,0,0,0c25-5,45,2,108.9,41c0,0,0.1,0,0.1,0.1c800,556,1476.8,1392,2221,2323c2335,2753.9,3443.6,7094.7-143.1,8897.1c-1648,830.4-3858.4,606.4-5234.9-632.1c-142-125-350-336-460-466c-59-70-76-85-86-75C7171.8,13792.7,5872.1,14205.4,4375,14170z M9650,11054c0-13-292.6-1587.1-295-1592c0,0,0,0,0,0c-34.1,11.1-587.3,322-716,393C8690,10441,9042.8,11008,9650,11054z'/%3E%3Cpath fill='%23fff' d='M6953,8890c-169.6-58.9-298.4-208.3-526.3-612c-1.1-2-2.1-4-3.1-6c-236.7-500.9-874.5-914.8-1120.9-1421.5c-1.1-2.3-2.3-4.5-3.6-6.7c-676.3-1127.9-841.1-2377.4-789-3698.7c40.3-589.8,30.3-742.5,350.9-1080c187.5-189.4,900.5-655.7,1249-910C7454,202,7752,26,8045,12c161-7,270,30,520,178c331.9,197.2,455.1,264.3,649.9,362.8c35.9,18.1,58.5,55.3,57.3,95.5C9213.5,2558,6077.1,4991.6,6965.1,5900.1c1.9,1.9,3.9,3.8,5.8,5.6c169.1,152.4,214,113.8,509.3,29.4c2.5-0.7,5-1.5,7.4-2.4c554.3-206.9,772.9,23.4,1005.9,465.4c17,32.2,15.5,70.9-3.1,102.2c-235.1,396.3-324.8,941.7-767.9,1165.4c-46.7,23.6-70,77.1-53.9,126.9c69,214.8,237.5,734.9,227.4,724.4c-29.7-10.2-407.8-246-629.7-384.3c-64-39.9-147.8-0.7-158.2,74.1c-10.2,73.6-22.6,170.6-39.1,293.2c-28,217-54,398-57,401C7008,8905,6981,8899,6953,8890z'/%3E%3C/g%3E%3C/svg%3E");
  --psr-svg-sygnet-noc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1620 1418'%3E%3Cg transform='matrix(.1 0 0 -.1 0 1418)'%3E%3Cpath fill='%231d5456' d='M4375,14170c-2256.6-55.8-4468.5-1853.7-4359-4140c2.2-2483.5,1976.1-5772.2,4110.9-7306c0,0,0,0,0.1,0c3,3.6-9,148.4-26,323c-174.9,1770.8-166.3,3281,594,4831c899.4,1744.3,1934,2914.2,3940,3619c245,92,618,223,622,219c8-8-85-233-155-373c-168.2-331.8-886.8-1549.7-660-1657c164.1-127.5,1151-580.8,1203-743c90.9-71.3,211.2-453.7,273-588c118-234,338-419,665-559c570.8-256.3,1993.3-295.8,2207-976c0-141-117-418-280-663c-877.6-1308.9-1659.5-1317.7-3263-1086c-207.7,27.9-379.5,48.9-383,47c0,0,0,0,0,0c267.3-1103.1,1633-2295.7,2824-2704c0,0,0,0,0,0c25-5,45,2,108.9,41c0,0,0.1,0,0.1,0.1c800,556,1476.8,1392,2221,2323c2335,2753.9,3443.6,7094.7-143.1,8897.1c-1648,830.4-3858.4,606.4-5234.9-632.1c-142-125-350-336-460-466c-59-70-76-85-86-75C7171.8,13792.7,5872.1,14205.4,4375,14170z M9650,11054c0-13-292.6-1587.1-295-1592c0,0,0,0,0,0c-34.1,11.1-587.3,322-716,393C8690,10441,9042.8,11008,9650,11054z'/%3E%3Cpath fill='%231d5456' d='M6953,8890c-169.6-58.9-298.4-208.3-526.3-612c-1.1-2-2.1-4-3.1-6c-236.7-500.9-874.5-914.8-1120.9-1421.5c-1.1-2.3-2.3-4.5-3.6-6.7c-676.3-1127.9-841.1-2377.4-789-3698.7c40.3-589.8,30.3-742.5,350.9-1080c187.5-189.4,900.5-655.7,1249-910C7454,202,7752,26,8045,12c161-7,270,30,520,178c331.9,197.2,455.1,264.3,649.9,362.8c35.9,18.1,58.5,55.3,57.3,95.5C9213.5,2558,6077.1,4991.6,6965.1,5900.1c1.9,1.9,3.9,3.8,5.8,5.6c169.1,152.4,214,113.8,509.3,29.4c2.5-0.7,5-1.5,7.4-2.4c554.3-206.9,772.9,23.4,1005.9,465.4c17,32.2,15.5,70.9-3.1,102.2c-235.1,396.3-324.8,941.7-767.9,1165.4c-46.7,23.6-70,77.1-53.9,126.9c69,214.8,237.5,734.9,227.4,724.4c-29.7-10.2-407.8-246-629.7-384.3c-64-39.9-147.8-0.7-158.2,74.1c-10.2,73.6-22.6,170.6-39.1,293.2c-28,217-54,398-57,401C7008,8905,6981,8899,6953,8890z'/%3E%3C/g%3E%3C/svg%3E");
  /* znak pełny poziomy (500 × 150), napisy na krzywych – działa bez fontu; ~22 KB każdy */
  --psr-svg-znak: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 150'%3E%3Cg transform='matrix(.0105783 0 0 -.0105783 .3 150)'%3E%3Cpath fill='%2365c2c4' d='M4375,14170c-2256.6-55.8-4468.5-1853.7-4359-4140c2.2-2483.5,1976.1-5772.2,4110.9-7306c0,0,0,0,0.1,0c3,3.6-9,148.4-26,323c-174.9,1770.8-166.3,3281,594,4831c899.4,1744.3,1934,2914.2,3940,3619c245,92,618,223,622,219c8-8-85-233-155-373c-168.2-331.8-886.8-1549.7-660-1657c164.1-127.5,1151-580.8,1203-743c90.9-71.3,211.2-453.7,273-588c118-234,338-419,665-559c570.8-256.3,1993.3-295.8,2207-976c0-141-117-418-280-663c-877.6-1308.9-1659.5-1317.7-3263-1086c-207.7,27.9-379.5,48.9-383,47c0,0,0,0,0,0c267.3-1103.1,1633-2295.7,2824-2704c0,0,0,0,0,0c25-5,45,2,108.9,41c0,0,0.1,0,0.1,0.1c800,556,1476.8,1392,2221,2323c2335,2753.9,3443.6,7094.7-143.1,8897.1c-1648,830.4-3858.4,606.4-5234.9-632.1c-142-125-350-336-460-466c-59-70-76-85-86-75C7171.8,13792.7,5872.1,14205.4,4375,14170z M9650,11054c0-13-292.6-1587.1-295-1592c0,0,0,0,0,0c-34.1,11.1-587.3,322-716,393C8690,10441,9042.8,11008,9650,11054z'/%3E%3Cpath fill='%23d9e249' d='M6953,8890c-169.6-58.9-298.4-208.3-526.3-612c-1.1-2-2.1-4-3.1-6c-236.7-500.9-874.5-914.8-1120.9-1421.5c-1.1-2.3-2.3-4.5-3.6-6.7c-676.3-1127.9-841.1-2377.4-789-3698.7c40.3-589.8,30.3-742.5,350.9-1080c187.5-189.4,900.5-655.7,1249-910C7454,202,7752,26,8045,12c161-7,270,30,520,178c331.9,197.2,455.1,264.3,649.9,362.8c35.9,18.1,58.5,55.3,57.3,95.5C9213.5,2558,6077.1,4991.6,6965.1,5900.1c1.9,1.9,3.9,3.8,5.8,5.6c169.1,152.4,214,113.8,509.3,29.4c2.5-0.7,5-1.5,7.4-2.4c554.3-206.9,772.9,23.4,1005.9,465.4c17,32.2,15.5,70.9-3.1,102.2c-235.1,396.3-324.8,941.7-767.9,1165.4c-46.7,23.6-70,77.1-53.9,126.9c69,214.8,237.5,734.9,227.4,724.4c-29.7-10.2-407.8-246-629.7-384.3c-64-39.9-147.8-0.7-158.2,74.1c-10.2,73.6-22.6,170.6-39.1,293.2c-28,217-54,398-57,401C7008,8905,6981,8899,6953,8890z'/%3E%3C/g%3E%3Cpath fill='%23338c8e' d='M202.9 26.8l.3-.1q.4 0 .4.1l.6-.2q.5.2 1.9.1l.4-.1q.3 0 .9.2h.3l.7-.1.5.1h.1l.6 0q.1 0 .7.3h.2l.6.1q.2.1.4.1.1.1.2.1h.1q.2 0 .6.1.3.1.6.2.3.2 1 .4 0 .1.2.3.3.1.3.1l0 .1h.1l.2.2q.1.1.4.3.3.2.4.3 0 .2.5.7.4.5.6.6 0 .1.1.2l.7 1.6q.1.2.1.3.1.1.3.6v.4q.5 1.3.5 1.9l.3.8q0 .3.1.9l.1.6v.7q0 .8.1 1-.1.3-.1.5l-.2 1q0 .7-.1 1.2l-.2.6q-.1.1-.3.6l-.1.4-.1.1q0 .1-.1.2l-.5 1.1-.2.3-.1.1-.1.1-.1.1h0l0 .1-.3.4q-.4.4-.7.6v.1l-.6.6-.4.3h0l-.6.6q-.1 0-.3.1-.3.1-.4.2v0h-.1l-.2.2-.3.1-.1.1-.7.3-.4.1q-.5.2-.8.3-.3.1-.9.3-.4.1-1.3.2-1 .1-1.4.2-.1.3 0 .9v.2l0 1.8 0 .5v.1.5q0 .8-.1 1.7l0 .6v2.2q0 .7-.2.7h-.6l-.7.1q-.3 0-.6 0-.3 0-.4 0-.1 0-.2 0h-.4l-.4-.1q-1.7.2-1.8.1-.1-.1-.1-.2l-.2-.2q0-.2 0-.3 0-.1.1-.4 0-.2 0-.3v-.2l-.1-.1.1-.1-.1-.5 0-.3 0-1.6q0-.4.1-1v-.1l0-.2 0-.1v-.1l0-.5q.1-.1 0-.5 0-.4 0-.6v-1l.1-.7q0-.4-.1-.7v-.8l.1-.7-.1-1.5.1-1.1.1-3.5 0-1.5q0-.4 0-.7l0-.6v-.7l.1-.3-.1-.4.1-.7 0-.9-.1-.4.1 0-.1-.8 0-.1 0 0q0-.2 0-.4l0-.1v-.4q-.1-.4-.1-.6l0-.8q0-.7 0-1.3l-.1-1v-.2l.1-.7-.1-.9q-.1-1.1 0-2 .1 0 .1-.2.1-.1.1-.2l.5-.1h.1q0 .1.4 0zm4.5 15.4l0 .9q.1.8.2.8l1.3-.1q.4-.2.9-.2.3-.2.6-.3.1 0 .1-.1 0 0 0 0 .1-.1.2-.1.1 0 1-.6.1-.1.3-.4.3-.3.3-.4l.5-1.3.1-.2v-.2l.1-.2q0-.3.1-.7.2-1.3.1-1.9 0-.1 0-.3-.1-.1-.1-.2v0q0-.1-.2-.6v-.3q-.1-.2 0-.3-.3-.4-.5-1-.1-.1-.3-.5 0 0-.2-.2-.2-.2-.4-.3-.1-.1-.3-.2h0q-.5-.5-1.4-.5l-.6-.2q-.3 0-.9-.1-.6-.1-.8.1 0 .2 0 .6 0 .5-.1.6v1.2q0 .6 0 1.2v2.5q0 0 0 .8l0 .9 0 .7v.7q0 .3 0 .4zm40.5-2h.7l.3 0 .8-.1q.3 0 .3-.1h.5l.5 0h.3q2.1 0 2.7-.1.1.1.3.2 0 .2-.1.2l.1.8-.1.4v.9q0 .7.1.9-.2.4-.2 1.3 0 .9-.2 1.1-.1.1-.2.2-.8-.1-1.5 0-.7.1-1 .1h-1.1q0 0-.1 0h-.1q-.1 0-.4 0h-.1q0 0 0 0l-.5 0q-.9-.1-1.6 0-.7 0-1 0 0 .2 0 .2v.5l-.1.1q0 .1.1.1l0 .1 0 .6q-.2 1.3-.1 1.8-.1.1-.1.4l0 2.5q0 .6.1.7.1 0 .8 0l.6-.1.3.1q.4 0 .7-.1.7 0 .9-.1.5.1.8 0 0 .1.1.1h.1q.3-.1.7-.1l.2 0h0q.1 0 .1 0l.1 0 .9 0q.4 0 .8-.1h1.9q.3-.1.4-.1h.4q.2-.1.2-.1l.6.1q.4 0 .5.1 0 0-.1.6 0 .1-.1.3l0 .4q0 .2 0 .3l0 .1q-.1.1-.1.2v.3l0 2.9v.4l-.4.5q-.9 0-1 .1h-.1q-.1.1-.8 0-.6-.1-.7 0-.2 0-.4 0h-1.3l0 0h-.1l-.1 0h-.2q-.1-.1-.3-.1h-3.1l-.3-.1q-.2.2-.7 0h-2.4q-.7 0-1.4 0-.7-.1-.9-.1-.2 0-.5 0 0 .1-.1 0-.1 0-.1 0-.5 0-.6 0l-.1-1.1v-.6q0-.4.1-.5-.1-.1-.1-.7v-.5l-.1-2.4.1-.4v-1l0-.4q0-.5.1-.5l-.2-1.9.1-.1v-1.6l0-.2q-.1-.1-.1-.2l.1-.1q0-.1-.1-.3v-.9l-.1-.6.1-1.2q-.1-.4-.1-2.6v-1.7l0-.1 0-.1q0-.2 0-.4l0-.6v-.3l.1-.4q-.1-.7-.1-1.4l0-.2q0-1.1.1-1.3-.1-.4-.1-.5l0-.1 0-.2 0-.7 0-1v-.7l0-.5v-1.6l0-.8q0-1.1-.1-1.3l-.1-.6.3-.1h0l.6.1.5-.1.5.1h.1.4l.5-.1q.4-.1 1.7 0l.2 0q.5 0 .9-.1l.3.1q.3 0 .6 0 .3 0 .3 0 .2-.1.4 0l1.5-.2h0l.1 0q0 .1.2 0h1q0 0 .2-.1l.2.1q.3 0 .6-.1h.6q.3-.1.4-.1 0 0 .1 0l.1 0h.4q1 0 1.2.2h.3q.6 0 1.1-.1l.2.1q.1-.1.1-.1h.1l0 .1q.1 0 .2-.1.2 0 .4 0 .2 0 .3.1.2.2 0 1.8v.4l0 .2q0 1.5.1 1.8-.1.1-.1.3 0 .2.1.3 0 .1-.2.4 0 0-.1.1-.1.1-.3.1-.2-.1-.3-.1h-.2l-.3 0-1.2.2q-.1-.1-.3-.1-.2 0-.2 0-.4.1-.9 0-.2.1-.4 0-.3.1-.5.1l-.7 0q-.7 0-1 .1l-1.2 0q-1.2.1-1.3.2l-.2-.1-.8.1h-.6q-.4.1-.4.1v.5q0 1.2 0 2.1v1.2q0 .8.1.9-.2.6-.1 1.6v.1l0 .4q0 .1 0 .4v1.2l.4-.1q.2.1.7.1zm44.1-13.6l2.7 0q0 0 .2.1.2 0 .5 0 .2 0 .6 0 .4 0 .8-.1l.1 0q.1 0 .2 0h.1l.6.2h.5q.2 0 .3 0 .2 0 .4 0 .1 0 .2 0 .1 0 .2.1.1 0 .1 0 .1 0 .1 0 0 0 .1 0 0 0 0 0 0 0 0 0 .1 0 .1-.1h.2q.3 0 .5.1.3.3 0 1v2.9q0 .9.1 1.3 0 .1-.1.4-.1.3-.2.3h-1.1l-.5 0-.1 0q-.4-.1-.6-.1l-.6.1-.3-.1-.3.1q-.2 0-.4-.1l-.3 0h-.1l0 0q-1.3 0-2.9 0-.1.3 0 .8v1.2q0 1.3-.2 2.1v2.2l.1 1.3-.1.6v.6q0 .2 0 .5l0 .7q-.1.7 0 1.2l0 .3 0 1.6 0 1.3 0 1.1q0 .3 0 .6v.4q0 .1-.1.3l0 .6v5.1q0 .1 0 .2v1.2l-.1 1.9q0 .8 0 .9 0 0-.1.1-.1 0-.2 0 0 0-.1 0-.1-.1-.5-.1l-.1 0-1.1.1-.6.1h-.7q-.6 0-1 0-.3-.1-.8-.1-.6 0-.7-.1-.1-.2 0-.7v-.4l.1-1.3 0-.3.1-3.1.1-.6q0-.4 0-.5v-1.5q0-.1.1-.3l0-.1 0-.5 0-.5 0-1.9.1-.8-.1-.2.1-.2-.1-1.7v-.6q.1 0 0-.4v-1l.1-2.2v-1.5l-.2-2.3 0-1.1q-.1-1.3 0-2.9h-.5l-.9.1q-.4 0-1.2-.1h-1.3l-.6.1q0 0-.1-.1h0q-.8.1-1.6.1h-.9l-.6.1q0 0-.1-.3-.2-.1 0-.3-.1-.3-.2-2v-.6l-.2-2.8q.2-.5.5-.5.3 0 .4-.1.7.1 1.6 0 0 0 .1 0l0 0q.1 0 .1 0 .2-.1.7 0 .7 0 .7 0h.5l.2 0 .7.1 1.8-.1h.8q.1 0 .3.1h.6l.2.1.2-.1.4.1q.9-.1 2.2 0zm69.3 6.3l-.1-.1-.8-.1q-.6-.1-.8-.2l-.4.1q0 .1 0 .1l-.4.2q-.2 0-.5.3l-.4.3-.2.4-.2.4v.1q0 .2-.1.3l.1 1.5q0 .2.1.4.1.2.2.4l.1.2v.2q0 0 .2.2.1.3.1.3.2.5.4.8.4.4 1 1 .2.1.7.5l.4.2.2.2.4.3.2.2.4.2.3.2q.1.1.4.2l.4.3q.2.1 1 .5.3.4.7.7l.5.3.1.1q0 .1.2.2l.8.9.1.2q.1.1.2.1l.2.5q.1.1.1.2l.6.7.1.3.1.2v.2l.2.4q0 .1.1.3.1.4.3.9-.1.3.1.5-.1 0 0 .4 0 .4-.1.5l.2.6q-.1.2 0 .4l-.1.2.1.3q-.1.1-.1.3 0 .1 0 .1 0 .1 0 .1l-.1.6q-.1.2-.3.8-.2.5-.2.8-.2.2-.3.7-.3.3-.4.6-.2.2-.2.3-.1.1-.1.1l-.3.4-.1.2-.1.1-.2.2-.1.1-.1.3q0 0-.1 0 0 .3-.1.3h-.1q0 0 0 0 0 .1-.1.1 0 0 0 .1 0 0-.1 0-.1.2-.2.2l-.8.8q-.1 0-.3.2l-.6.1-.4.2q-.3 0-.4.2h-.3q-.2-.1-.2.1-.4-.1-.9.1-.1-.1-.9.1l-.3-.1-.4.1q-.2-.1-.4-.1-.6 0-1-.1l-.4-.1-.1.1h-.7q-.1-.1-.6-.1-.8-.3-1.2-.4h-.1l0-.1-1.3-.7-.9-.8q-.4-.8-.6-1l-.2-.6-.2-.3-.1-.1-.1-.4q0-.2-.1-.5-.1-.2-.2-.4 0-.2-.1-.7l-.1-.7-.2-.6q-.1-.4-.1-.9v-.8q0-.8.1-1.2l.1-.6.6 0q.4-.1 1.6-.1h.4q0 0 .1 0 0 0 .1 0 .1 0 .4 0 .4-.1.5 0h1.5l.6-.1q0 0 .2.1 0 .2.1.3-.1.5 0 1.4v.3l.1.1q0 .1 0 .2 0 0 0 .2.1.1.1.2l.3.6.6.4q.5 0 .6.1.1.1.4.1l.1-.1q.3.1.7.1.7-.2 1.4-1.4.1-.2.1-.3l0-.9 0-.5q0 0-.1-.1-.1-.2-.1-.2-.3-.9-1-1.4 0 0 0 0 0-.1 0-.1-.2 0-1.3-1-.2 0-.2-.1l-.1-.1-.1-.1h-.2l-.1-.2-.5-.4q-.5-.3-.5-.4-.2 0-.6-.3-.4-.2-.5-.2-.1-.2-.4-.3-.2-.2-.3-.3 0 0-.1 0-.1-.1-.2-.2-.1-.1-.3-.2-.2-.1-.2-.2l-.1-.1-.2-.1-.4-.4q-.1 0-.3-.2l-.3-.2-.2-.3-.6-.8q-.5-.9-.9-1.6-.1-.3-.2-.4-.5-1.7-.6-2.2l-.1-.8 0-.1 0-.8v-.1q0 0 0-.1l0-.1v-.4l.4-2.5q.2-.3.4-1.1.4-.9.5-1 .2-.2.4-.6.4-.4.5-.6l.5-.4.4-.4.3-.2q.1-.1.4-.3.3-.3.3-.3l.4-.3h.1q0 0 .1 0 .1 0 .3-.1.2-.1.2-.2.3 0 .5-.2.1-.2.9-.2.6-.3 1.4-.2.4 0 .8 0l.9.2.1-.1q.2 0 .3.1h.1l0 0q.5 0 .7.3l.4.1q.3 0 .4.2l.5 0 1 .3.2.2h0q.1 0 .2.1l.4.3.3.1h.1l.1.1.4.3q.2 0 .5.3.3.4.4.5.2.1.2.2l0 .1h.1q.4.8.5 1 .5.6.5.8l.2.7q0 .1.1.3l.1.8q0 0 .1.6 0 .5 0 3.5l-.3.4-1.3-.1h-.2q-.1.1-.3.1h-.3l-.1.1-1.3 0q-.9.1-1.1 0-.1 0-.8 0l-.3-.5q.1-.7-.1-2.1-.1-1.3-.3-1.5-.1-.1-.9-.8zm41.9 8.4l.7-.1q.2-.1.3-.1h.7q.3.1.9 0 .2-.4 0-.6 0-.1 0-.5v-.5l0-.2v-.3l0-1.1v-2.4q-.1-1 .1-1.6-.1 0 0-.5 0-.5 0-.6l.2-1.2-.1-.3v-.9l-.1-.4v-.5l0-.2q0-.1 0-.4 0-.3 0-.6-.1-1.2.2-1.7-.1-.1-.1-.1 0-.1.1-.1 0 0 0-.1 0 0 .2 0 .1 0 .2-.1 0 .2.3.2.3 0 .3 0l.3-.1 1.9.1.1-.1 0 .1h.2l.7.2q.5 0 .8-.1 0 .1.1.2.2.1.1.2 0 .1 0 .1.1.1.1.2l0 .1v.4l-.2 2.9v.3q.1.2.1.5v1.2l-.1 1.1v3.1l.2 1.1v1.1l0 .4q-.1.4-.1.6l.1.2-.1 1.7.1.1v.1l-.1.7v4.2h0v.2l0 .1 0 .1 0 .4 0 .7 0 .3-.1 2.2v.3q0 .2.1 1.3v.1q-.1 0-.1 0l.1.2-.1.4.1 1.3q0 0 0 .2-.1.3-.1.5 0 .1 0 .3l.1.7q0 .7-.1 1.2-.2.6 0 .7.2.2.1.4-.1.3-.1.3l-.5.2q-.5-.1-.9 0-.8-.1-1.2.1l-1.2 0q-.1.1-.4 0l-.4 0-.5-.1q-.1 0-.2-.2-.2-.1-.2-.2.1-.5.1-.8v-.2l0-.6 0-1.1 0-.3q0-1.5-.1-1.6.1-.2.1-.3l0-.4 0-.2 0-1.4 0-.6 0-.1 0-1.1 0-.1v0q0-.1 0-.1 0 0 0 0 0-.1 0 0 .1-.8 0-2.3v0q0-.6-.1-.8-.6-.2-1.2 0-.5-.1-.8 0-.1 0-.4 0h-.5q-.1-.1-.4-.1h-.3q0 .1-.1.1h0q-.1-.1-.3-.1-.1 0-.2 0h0l-.1 0h-.1q-.5.1-1.5.1l-.7 0-.4 0q-.1 0-.4.1-.3 0-.6 0h-.5l.1.7-.1.5.1.3q0 .5 0 .8l0 .3q0 .5-.1.6l0 1.2v2.7q-.1.3 0 .5 0 .1-.1.7 0 .5 0 .9l0 .5v1.8l.1.1q0 0 0 .2.1.1 0 .1.1.2.1.4-.1.2-.2.3 0 .1-.1.1l-.7-.1-.4 0-1.7 0q-1.8.1-2 .2-.2.1-.4 0-.1-.1-.2-.4l.2-.4q-.1-.5-.1-1.1v-.3q0 0 0 0 0-.1 0-.2 0-.1 0-.3.1-.5.1-.5v0l-.1-.1v0q.1-.3 0-.4.1-.1.1-1.2 0-1-.1-1.5l.1-.1v-.6q0 0 0-.1v-2.5q0-.6-.1-1.1v-.6l0 0 .1-.2v-.1l-.1-.1q0-.2.1-.4v-.1q-.1-.1-.1-.2.1 0 .1-.2l0 0-.1-.5.1-.3v-.4q0-.8-.1-1.1v-2.4q0-.9-.1-1.5.1-.9 0-2.1-.1-1.3 0-1.4l0-1v-.2l0 0v-1.4l.1-.7q.1-.2 0-.7l0-.7.1-2.4v-.1-1l-.1-.1v-.3l0-.7q0-.7.3-.7.4 0 .4-.1.4.1.6 0l.4.1.6 0q.3-.1.7-.1h.7q.2-.1.3-.1l.4 0q1-.2 1 .1l.2.3q-.1.5-.1 2.2-.1.3 0 1.1 0 .9-.1 1.7 0 1 0 1.3v2.6l-.1 1v.7q0 .1 0 .3l-.1.7q0 1.2.1 1.5-.2.5.1.6.2 0 .2 0h.3l.1.1h.1q.4 0 .6 0l.3-.1h.3q.1 0 .2.1.1 0 .2 0 .1 0 .1-.1l0 .1h.2l.1-.1.4.1q.2 0 .3 0h.4l.7-.1q.2 0 .6.1h.5 0zm31.8 8q0-.2-.2-.8v-.4l0-.3v-.4q-.1-.1-.1-.2v-.2l-.1-1.5q0-.3-.1-.7l-.1-1.5v-1.9q.1-.3.1-.3v-.9q0-.2 0-.4v-.6q0-.6.2-1.2 0-.3 0-.6l.1-.5q0-.5 0-.9l.2-.5q.2-.9.3-1.1 0-.2.1-.4 0-.2 0-.2l.1-.6.2-.2q.1-.6.1-.6.1 0 .3-.6.2-.5.4-.8l.6-1.2.6-.8.1 0q.1 0 .1-.1l.1-.1.2-.1q0-.1.2-.2l.7-.5q.4-.4.5-.4 0-.1.3-.3.4-.1.6-.3l.4-.2.3-.2.7-.1.7-.1h.6l.1-.1h.2l.1.1.2-.1h2q.3.2.8.2.2.1.5.2.3.1.6.2.2.2.6.3l.3.3.3.1q.5.4.7.5l.1.2q0 .1.1.1l.1.1q0 .1 0 .1l.2.2q0 0 .2.2.2.3.3.4l.3.2.1.2.4.6.3.8.3.5.3.9q.1 0 .1.2v.1q0 .2.2.9.2.6.4 1l.1.9.4 2q.1.4.1.9v.2q0 0 0 0v.2l0 .1q0 .1 0 .2v0q0 .2.1 1.4l.2 1.3-.1 1.5v.5.3l0 0 0 .2v.2q0 0 0 0l-.1.6q0 1.4-.1 1.5v.3q0 1-.2 1.3v.2q0 .3 0 .4l-.1 0 .1.1v0q0 .1-.1.4l-.2 1.8-.1.3q0 .6-.2 1l-.2.7q-.2.6-.2.8l-.3.6v0q0 .3-.1.4-.1.2-.3.7-.2.4-.2.5-.1.2-.4.6v0l-.1.1q0 .1-.1.1l0 0-.1.2-.1 0q-.1.1 0 .1l-.8.7q0 0-.1 0 0 .1-.1.1 0 0-.2.1-.1.1-.3.2-.4.2-.4.2l-.5.3q-.1 0-.3 0 0 .1-.1.2-1 .3-1.8.4-.9.1-.9.1h-.1l0 0-.6.1q-.1 0-.3 0-.1 0-.4 0-.2-.1-.2-.1h-.5q-1.6-.3-2.1-.6l-.7-.2q-.1 0-.1 0-.1-.1-.2-.2-.2 0-.3-.2l-.3-.1q-.2-.1-.5-.3-.4-.2-.4-.3 0 0-.3-.1-.2-.1-.2-.2l-.4-.3-.4-.5-.3-.3 0-.1q-.1 0-.1-.1-.1-.2-.2-.3l-.2-.3-.2-.6q-.1-.5-.3-.7-.1-.3-.4-1.4-.2-1.2-.2-1.5l-.2-.7q0-.2 0-.4l-.1-.9zm8.3-17l-.3 0q-.3.2-.4.2 0 .2-.4.4-.6.7-.7 1.2-.3.6-.3.6v.1l-.1.2-.1.6q0 0-.2.3v.4l-.1.3q0 .2 0 .2l-.2.7-.1.5v.1l0 .1q-.1.4-.1.9 0 .5 0 .8-.1.3-.1 2.5l0 .8q0 .3.1.7v.6q0 .6-.1.9.1.3.1.6v1.1q0 .1 0 .3v.2l.1.8q.1.5.3 1.4 0 .4.1.7l.1.6q0 .2.1.3l.1.4.2.5q.1.3.3.4l.1.3q.2.1.3.4.2.3.4.5l1 .4h.8l.3-.1h.2l.7-.2q.1 0 .3-.3.2-.3.2-.4.1 0 .4 0 .1-.2.3-.5.1-.2.2-.5.2-.4.4-.5 0-.3.2-.9-.1-.1 0-.5.1-.4.1-.4l.1-.5.1-.2.2-1.3q0-.2 0-.5l.1-.8.1-2.2q.2-3 0-4v-1.9q-.1-.4-.1-1l-.1-.4q-.2-.9-.2-1l0 0v-.2q-.2-.5-.3-.7v-.3l-.2-.6q-.1-.2-.2-.4 0-.2-.1-.3 0-.1 0-.1l-.1-.1q-.1-.3-.4-.7-.4-.3-.4-.3h-.1l0-.1-.7-.3-.7-.1q0 0 0 0-.1 0-.5.1-.3 0-.7.2zm33.6 20.6q0-.8 0-1.8 0-1.1 0-2.3v-5.5l-.1-.8.1-.3-.1-.7v0l0-.6 0 0v0l0-.3v-2l0-.3 0 0q0-.1.1-.4v-.4l0-.8 0-1.5 0-.6 0-.4q.1-.7 0-1.6v-1.3l-.1-.3q0-.7 0-.9 0-.6 0-1.3.1-.9.2-1.3 0-.1.4-.2l.1-.1q.2 0 .3 0h.8q.7 0 .8-.2.3.1 1 0 .7-.1.9.1h.3q.6-.1.7.1.3-.1.4-.1h.1l.3 0 .7 0 1.7.1h.8l.9.3h.2q.1 0 .2 0l.6.3q1 .2 1.2.3.2.2.4.3.1 0 .4.3.4.3.6.4.1.2.4.3.1.1.1.2.1 0 .2.1.1.1.1.1l.3.4q.2.2.3.5.1 0 .2.2.2.2.2.2.1.3.3.4 0 .1.3 1v0q0 .2.3.4 0 .2.1.9.1.8.3 1.1-.1.3.2.9-.1.2.1 1 0 .4-.1.5 0 .1 0 .8l.1.6q-.1.1-.1.5v.4q-.1.1-.1.7-.1.5-.3.8v.1l-.2.5q0 .2-.1.4-.2.3-.1.5l-.1.1q0 .1-.1.1v.1l-.1.3q0 .1-.2.7l-.3.3-.3.5q-.2.1-.2.2l-.4.4q-.3.3-1.3.9h0q-.2.2-.5.3-.3.3-.8.4-.6.2-.6.3l-.5.2-.9.3-.3 0q-.1 0-.3.1l-.6.1-.9.2q-.4.1-.8.1h-.3l-.2.1q-.4 0-.5.1-.4 0-.5 0-.2 0-.2.1 0 .1 0 .2.1.2 0 .3-.1.1-.1 1v.9l0 1.7-.1.3.1.1-.1.2 0 .1v.1q0 .3 0 .7l-.2 1.4v.9q-.1.4 0 .7 0 .3 0 .7 0 .6-.1.7 0 .7-.1.8-.5.2-.8 0-.3.2-.5 0-.1.1-.3.1-.1 0-.3-.1-.2 0-.3 0-.3 0-.6-.1l-.4.2q-.1-.1-.5-.1-.5 0-.8-.1h-.3q-.1-.1-.1-.6.1-.4.1-.7l0-.4v-.6q0-1-.1-1.7l.1-.9q0-.4-.1-.9zm7.1-10.3l.8-.1q.7-.3 1.2-.3l.3-.2.5-.2.4-.3v-.1q.1 0 .2-.1l0-.1.2-.1q.1-.3.4-.6.2-.5.3-.5l.1-.7.2-.3.1-.8v-1.4l-.1-.5v-.3q0-.1-.2-.7-.2-.7-.3-.8-.1-.1-.1-.2l-.3-.2v-.1l-.2-.1q-1.1-1.1-3.1-1.3-.4-.2-.7 0-.2-.2-.5-.1h-.1q-.1.1-.2.1l-.1.6v.2l-.1.1v.1.7l0 4.3-.1 1.4v2.1q-.1.4.1.7l1.2-.1z'/%3E%3Cpath fill='%231d5456' d='M220.1 67.5l3.3-.1.3-.1 2.2.3q.4 0 1.2.3h.4l.6.3q.6 0 2.2.6 1.6.6 2.3.5l2.2.9q0 .1.3.1l.3.3.6.2.4.3 1.6.9.6.3q.5 0 1.4.7.3.2.6.3.2.2.4.3.3.1.3.2l1.5.9 1.8 1.8q.4.8 1.5 1.7l1.4 2.4.7 1.1.3.6.3.6q0 .4.5 1.3l.3.9q.8 1.4 1 3.5.2 2 .1 3v2.7q0 1.5-.1 2.6l-.3 1.1q-.1.3-.1.4v.5q-.2.3-.3 1.3-.2 1-1.7 5.8-.5.5-.8 1.1-.3.6-1.2 1.8l-1 1.5-1.8 1.8q-.3 0-.6.3h-.1q-1.3.7-1.5 1 0-.1-.2 0-.2.1-.4.2-.2.1-.4.1l-.3.2-.7.3 1.2 3.3.2.1q.3 1 .9 1.9l.9 1.6q.4.8 1.1 2.3.6 1.6.9 1.9.3.5.3 1.1l.2 1q.6 1.1.6 1.2l.1.1v.1l-.1.1.2.4q0 .5.4 1.1 0 .6.3.7 0 .5.6 1.1 0 1.1 1.2 3.2.1.3.4 1.3.3 1.1.3 1.3 0 .3-.9.8l-.3.3q-.2-.1-.7.2-.4.2-.4.2l-.5.2q-.2 0-.5.2h-.3l-1.8.6-2.5.6q-.8.2-3 .5l-2.5.2q0 0-.2-.7-.2-.6-.7-1.7-.6-1.2-1.4-2.3l-.4-1.7q-.7-1.8-1-2.5l-.7-2-.3-.6q0-.2-.1-.3v-.1q-.4-.6-.4-.8l-.4-1.3q0-.7-1-2.5l-.3-1.5-.4-1.3q-.3-.2-.7-1.1-.4-1-.7-1.2 0-1.2-.4-1.6-.3-1.2-.6-1.5-2.8-.2-4.1 0-.1.1-.1 1l-.1 2.7.1.3v.1l-.1 3.2v4.9l-.1.1.1 1.6q0 .3 0 .5 0 .1 0 .2 0 .1 0 .1 0 .1-.1.1v.1 5.6q-.1.5-.1 1.3 0 .9 0 1.5 0 .7-.3 1-.4.3-1.6.2-1.2-.1-1.5.1h-.7q-1.4-.2-3.2 0h-.9q-.4.2-.9.2h-2.7l-1.5.1h-.8l-1.3-.3q-.2-.4-.2-1 0-.6.2-.7.2-.1.1-1.1v-1l.3-1.8q.1-1.1-.2-3.1-.2-2.2-.2-2.8v-4.7l-.2-4v-7.2q0-1.1.2-1.4l-.2-.4q0-.2.1-.6.1-.4 0-.7-.2-.4-.2-3.7l.1-1.2v-.1q-.1-.1-.1-.2l.3-1.4q0-.1-.1-.2-.1 0-.1-.1l.3-2.7q0-2.3.2-2.9-.2-.2-.2-.9v-7.2l-.1-1.7.1-.1v-.2q-.1 0 0-1.7v-4.8l.1-3.6v-.2-1.6-2.1l.1-1.3v-1.7l.1-.1-.1-.1q0-3.4.2-3.6.3-.2 1.6.1l1-.3h1.6q.1-.1.2-.1h2.8q1 0 1.1 0l1.8-.1zm2.4 27v3.1q-.1.7-.1.7v2.1l.1.5q-.3.6 0 .8.1.1.1.1 0 .1 0 .1.1 0 .1.1 0 .1-.1.2 0 .1 0 .3 0 .2 0 .5h.4 1.2q.2 0 1.5-.1 1.2-.1 1.4.1.1-.1.2-.1h.6q1.3-.5 2-.5 1.6-1.1 2.1-1.3.8-1 .9-1l.5-.5.2-.6.8-1.2q1.9-3.6 1.7-7.7l-.2-1.6-.7-2.2q-.6-1.4-2.5-3.6-.2 0-.5-.4-.3 0-.5-.2l-3.8-1.6q-2.4-.7-4.8-.3-.3 0-.3 2 0 1.5-.1 3.3v1.9q0 .1 0 .8-.1.6-.1 1.1 0 .4.1.9.1.5.1.8l-.1.8v.9q-.2 1.3-.2 1.8zm42.1-15.2l0-.7.2-4q0-1.4.3-3.4l-.2-1.1q.3 0 .3-.2v-.4l1.1-1q0-.1.3 0 .4.1.8.1.1 0 .5 0 .4.1 1.2.1.7 0 1.4 0 2.8.1 3.4-.1.9.3 2.6-.2 1.6 0 1.9.3.3.4.6.4.5 0 .4.9-.1.5-.1 3.6v2.2l-.1.2q.1.3.1.8v.2l-.1.2.1.2v.2l-.1.8q0 .5.1 1v2l.1 3.1v2.5l-.1.2.1.5-.1 1.6v.1l.1 1.4-.1 3.3q-.2 2 .1 3l-.3 3.7.1 3.3v2.6l-.1.6.2 1.1v.6q.1.4.1.5l.3 3.7.3 3.6.1.9q0 .2.4 1.9.4 1.9.7 2.6l.4 1q.3.5.2.6l.8.8q.2 0 .9.6l1.6 1.3q.2 0 1.9.5 1.8.5 3.4 0 2.7-1 3.6-1.8l1.1-1q.3-.4.3-.9 1.9-3.3 1.9-8.2l-.1-1.7q0-.4.3-1.1l-.2-2.3v-.2l.2-.2v-.2l.1-2.2v-.9l.1-.2-.1-1.2.1-1.6v-1.2q.3-.5.3-1v-4.8l.1-1.6v-.2l-.1-.2q0-.4.2-1.2v-4.5q.1-.9 0-1.6v-1.6l.1-1-.1-.9v-1l-.1-1.7.3-3.4q-.4-1.3-.2-3.4v-.6l-.1-.8q0-.1 0-.2.1-.2.1-.5 0-.3 0-.5.1-.9-.1-1.1.2 0 .2-.5v-.3q0-.1.3-.3.3-.1.4-.3.1-.3 2.7-.3 1.4-.2 2.2-.2l.9.2q.8 0 1 .1l2 .1.7-.1 2.2.1q.1-.1.2-.1l.1.1h.3l1.8-.3q.5.5.5.6 0 .2-.3 1.1l.1.6q0 .8.1 1.3l0 .6.3 3-.3 1.4.1.7v.6l.2.9v.7l.1 3.1q0 4 .2 6.5v2.3q0 2.3-.2 2.5.2.7.2 1.3.1.7-.1 1.3l0 .6v4.1l.1.1-.1 1.9q0 1.1-.1 1.9l-.1 1.7v1.1q.1 0 0 .1v.3l-.2.4v1l-.1.9q0 .6.1 1.3 0 .9-.2 1.2-.2.4-.2 2.1-.2 0-.1.5 0 .5 0 .6-.1.1-.3 1.6-.3 1.5-.2 2.3l-.6 2-.4 1v.7q-.1.1-.1.7-.1.6-.5 1.2-.7 3.4-1.8 4.4 0 .2-.6.8v.2l-2.2 2.6q0 .1-.5.5-.4.4-1 .9-.6.4-.8.7l-.8.5q-.2.1-1.4 1-.3 0-.4.1v.1l-1.1.7q-.6.5-1.5.8l-1 .2-1.4.4q-2.4.8-4 1.1h-.8l-.7.1q0 .1-.2.1v-.1h-.4l-.3.1q-.2 0-1.5-.1-1.2-.2-1.2 0-.3-.1-1.3-.1-1.1 0-1.3-.1-.1 0-1.2-.1-1.2-.1-1.4-.3-2.1 0-2.5-.1l-2.2-.3q-1.6-.5-1.7-.7l-.8-.3-.3-.2q-.1 0-.1-.2h-.3l-.2-.1v-.2h-.2l-.8-.5q0-.1-.1-.2-.1 0-.4-.2-.3-.1-.7-.4-.5-.2-.6-.6-.3-.2-.4-.1-.2-.2-.5-.2 0-.4-.6-.6.1-.1 0-.3l-.2-.1-.4-.5-.3-.3q-.4-.9-.8-1.5-.4-.5-.7-1.2-.7-1.1-.7-1.2v-.4q-.2-.1-.2-.2v-.2q-.2-.5-.3-.9-.2-.4-.3-.8-.1-.4-.2-1.4-.1-.6-.3-1.4-.3-.8-.5-1.4-.3-.5-.3-.6l.2-2.5-.1-4.3.1-.8-.3-2.3v-2.4q-.1 0-.1-.1l.1-.2q-.1-.8-.1-2l-.1-.3.1-2v-1.2l-.2-1.3q.3-.5.3-1l-.1-.9v-1.4q0-1.2-.2-2.2v-.3q-.1-.3-.1-.3v-1.8l-.1-.9v-2.3l.1-.2q0-.1 0-.2-.1-.2-.1-.3-.1-.2 0-.4.1-.3.2-.6v-4.5l.2-.1v-.1l-.2-1.1q.4-5.5.4-5.7zm114.7-10.8l2.5-.3q2 .3 4.8-.3.5.4.7.7.5.3.5.6l-.2.9v2q0 0 .1.3v.2q-.2.8-.2 1.3v2.6q0 .4-.2 1.1l.1 1.4q-.1.5-.1 1.2l.2 2.2.1 5.1q0 .1.1.6 0 .5.1.9 0 .4-.1.8-.2.5-.2.6v.4l.1.1-.1 2.9v7.8q0 2 .1 2.9.1.8 0 1.5 0 .2 0 .4 0 .2 0 .2l-.1.1.1 2.5q-.1 1.5-.2 2.7 0 1.2 0 1.8 0 .5 0 .5v.1q0 .2 0 .3 0 .1 0 .5 0 .3 0 .8l-.1 1.7.2 2.6v2.7l-.2.8q0 .1 0 .3 0 .1.1.2 0 .1 0 .1l-.1 2.8.1.9q0 .7-.3 1.6v2.3q.2 1.2.1 2.9-.1 1.5.1 3.1l.1 1.3q.1.2-.1.6l-.3.4-1 .1-.5-.3q-.4.1-2.3.4l-2.1.3h-2.6l-.2 0-1.4-.1-1.2.1h-1.5q-.2 0-.3.1h-.2q-.2-.2-.5-.2h-.3q0-.7-.2-.9-.2-.1 0-.3.2-.2.2-.3l.1-.6v-2.6l.1-.3.1-2.3 0-.2 0-2.1v-1.8l.2-.8q0-1.3.1-1.5l-.3-.8q.4-.4.2-4.6-.3-3.7-.3-4.8l.1-1.4 0-.2 0-1v-1q0-1.6.2-2.9l-.2-.2q0-.1.2-.2v-1.1l.2-.7-.1-.2v-.4l.1-.2-.1-.5v-.4l-.1-3.6v-.9l.1-.8-.1-.9.1-1.1-.1-1.1q0-1.9-.4-2.8l.1-1.1q0-.9-.2-2.1-.1 0-.2.1-.2 0-.3.3-1 .9-1.2 1.3-.5.2-1.5 1.8l-.8.9q-.4.7-.8 1.3-.4.6-.7.8-.2.2-.3.4-.2.2-.2.3-.7.8-.7 1-.4.4-.4.7-1.6 1.6-3.7 5-.1 0-.3.1.1.1 0 .1l-.1.1-.2.7q-.6.3-.8.8-.2.1-.5.4-.4.3-.5.3l-.6.9q-.5.7-.7.8-.8-.1-1.3-1v-.2q-.2 0-.5-.3v-.4l-.1-.1h-.3q0-.3-.1-.3l-.1-.2v-.3h-.2v-.4q0-.1-.2-.4-.3-.4-.5-.9-.3-.4-.8-.9-.4-.6-.9-1l-.2-.4-.3-.2-.2-.6h-.2q-.4-.8-.8-1.4-1-1.3-1-1.3-.3-.8-1.1-1.4-.1-.1-.5-.7-.3-.6-.3-.7 0-.3-.6-1.2-.2-.2-1-1-.7-.9-.9-1.1-.3 1.1-.3 1.8v1.1l-.1.8q0 .8.3 1.6-.3.6-.3 1v1.2l-.1 3.9v.7q0 1.1.1 1.8-.3.3 0 .5l-.1 1.1q0 .8.1 1.3-.4.6-.1 5l-.1 1.6q.2 1.6.2 2.8v4.9l-.1 1.2v3.6q0 .1 0 .4 0 .3-.1.8 0 .6 0 1.1-.1 2.1.1 2.7-.2 1.9.1 3.5-.2.2-.1 1.2.1 1 0 1.3l-.6.5q-3.6.3-4 .4-.7-.2-1.2-.2l-.2.1-.9.1-.2-.1h-.6q-1.1 0-2.1.1h-.5q-2.4 0-3.6.2l-1.2-1v-3.6l.2-.2v-.6q-.2-.1-.2-.2l.3-3.6.1-2.2v-1.7q0-.3.2-.9l-.1-.1v-.5l.1-.1q0-.8-.1-1.5v-1.7l-.1-.1q.1-.1.1-1.5l.2-1.3v-1l.1-3.3-.1-1.4.1-3.2q0-2 .2-2.5-.3-.9 0-2.7v-4q0-3.6.1-4.7v-.7l.1-2.7q-.1-.3-.1-1.6v-1.2l-.3-2.4q0-1.9.2-3.6-.3-.3-.3-.8v-3.3q-.1 0-.1-.1l.1-.2-.3-3.5q-.4-3.6 0-5.2.3-1.7.3-2.4 0-.6-.1-1 .8-1.1 2.2-1.5l.9.1 1.2-.1q.9-.2 1.3-.2h3.6q.5 0 1.1.2l.5-.1q.4 0 .8.1h.1l0-.1q.1-.1.3-.1.1 0 .6 0 .4 0 1.3.1h1q.3.3.5.3.6 1.7 1.5 2.5l.7.9.7 1.2q0 .1.2.3.1.2.3.4.2.2.5.3-.1.3.3 1.2.4.8.9 1.3l.6.8.8 1.1.1.5.2.1q.4 1 .9 1.3.2.3.7 1.3.6.9.7 1.2.3.4.4.8.2.4.3.5l.8.8q.1 0 .2.1 0 .1.1.4.2.2.3.5.1.2.5.8.3.6.5.8.2.3.4.3.4-.1 1-1.7l.8-1q.8-1.1 1.4-1.5 0-.3.3-.9.2-.6.3-.9.9-.4.9-.8.8-.9.8-1.4l.8-.8q0-.3.4-.7.3-.3.3-.5l.6-.9.4-.4.8-1.4q.8-.6 1.1-1.4.3-.1.7-.7.4-.5.4-.8.2-.1.6-.6l.3-.5v-.2l.5-.4q.8-1.4 1.2-1.2.2.1.4.1.2.1.2 0l.7-.3q0 .4.5 0zm42.1 67.6q-.3.2-.3 1.4v1.6q0 1.5-.3 1.7v.2q-.2.2-1.5.4-.7-.4-.7 0-.8-.1-2.8-.2-2 0-2.5-.1-.1.1-4.2.3-.6 0-1.6-.4v-.3q0-.2-.2-.6-.3-.4-.4-.4.2-.3.5-2.1.2-1.6.2-2.4l-.1-2.3v-3.1l.1-1.1-.2-2.2.1-1.7q0-1.3.1-1.6-.2-.8-.2-1.4v-2.3q0-1.7-.1-2v-2.8l-.1-.7q-.1-.7.2-2 .2-1.2-.1-1.5.3-2.1.3-2.6l-.1-.1v-.2l.1-1.4q0-.7.1-1.3v-2.3q0-.7-.3-1.6.2-.5.1-.9-.1-.5-.1-2.4l-.1-.5v-.2q.1-.1.1-.2l-.2-1.6.1-1.4v-1.9l-.3-3.5v-.8-.1-1.8-.1l-.1-.2q0-.1.1-.2v-.2q0-.1 0-.3 0-.2-.1-.6 0-.4 0-.8-.1-1.5.1-2 .2-.7.2-1.1l-.2-1.1q0-.5-.1-1v-1.6q0-.1 0-.1h-.1v-.3l.1-.1q-.2-1.5 0-3.2v-3.5l.4-1q0 0 .6-.3.6-.3.8-.4l.2-.1q1.2 0 1.9.1h1.2q.1.1.4.1 0-.2.2-.2.6.5 2.8.3h1.8q1-.1 1.8-.1.8 0 1.2 0 .3 0 .3-.1l.6.2h.2q.6.3.3 1.6v.4 3.5q-.2 2.3-.2 4.3v8.3l.1.3 0 1.1.1 2.9-.1 3v2.6q-.2 2.5 0 5.5l.1 3.1q-.1 0-.1 1l.1 1.1v1q.3.3.3.7l-.1 1v3.6l-.2.7v1l.2.8-.2 4.3v1.3l-.1 2.9-.1 1.6q.1.1.1.3v.1l-.1.1.2.7-.1 1.1v6q0 1.2-.1 2zm60.1-39.4l1.2 4.2q1.2 4.3 1.2 4.4l.1.5.4 1 .5.9v.6l.3 1.7q.3.2.3.3l.1.8q.5.9.5 1l.3 1.6q.1.1.3.7.2.5.3.7l.4 1.8.1.3.4 1.3q0 .1.3 1.6.3 1.4.9 3.5.5 2.2 1.1 4.3l.8 3.6.4 2 .3.9v.6q.3.2.3.4l.4 1.8q.2.6.2.9l.2.9.5 1q0 .4-.3.8-.3.3-.7.3-.3.1-.4-.1-.3-.3-.4-.3l-1.2-.1q-1.2-.1-1.3.2-.4-.1-.6-.1-.2 0-.3 0-.1.1-.2.1h-2.3q-2.2 0-2.7-.2-.3.2-1.2 0-.4.1-1.4.1l-1.3-.1q-1.3.2-1.5-.2l-.3-.6-.4-1.4-1.2-5.9q0-1.4-.7-2.9 0-1.7-.4-2.2 0-1.8-.2-1.8h-.7q-1.3-.5-2.2 0-1.8-.1-4.6.1-3.2.2-4.9 0-1.1.3-2.2.1-1 0-1.7-.1-.7 0-.8 0-.1-.1-.6 0-.3.1-.6 0-.2-.1-.2 0-.2.3-.4.1-.1-.2-.3-.1 0 .2-.2.8v.1q-.2.2-.3.7-.2.5-.3.7l-.3 1-.5 1.7q0 .1-.2.8-.2.7-.3.9l-.2 1.1q-.7.8-.7 1.8-.1 1-.4 1.2l-.7 3.2q-.2.2-.2.3l-.2.4-.6.5q-.5 0-1-.2 0 0-.5.1-.5 0-1.4 0-.8.1-1.5.2h-1q-.6.1-1.2.1l-.2.1-.5-.2-1.1.1q-.1.1-.2 0-.1 0-.3 0-.2-.1-.3-.1h-1.2q-.3.2-2.2 0h-.3q-.2.1-.5 0-.2 0-.3 0-.5-1.2.5-2.8v-.5q.7-2 .7-3.1l.5-1 .5-1.1v-.7l.3-.5.4-1.1.6-2q.6-1.7.9-2.3 0-.5.5-2.3.6-2 .7-2.2l.3-1.2.4-1.1.3-.8v-.3l.3-1.2q.4-.9.4-1.1.3-.9.5-1.4l.4-1.3q.4-2.1 1-3v-.9h.2l.1-.7v-.6l1.2-3q-.1-.4.1-1.1l.2-.7.8-1.4q0-.1.3-1.4v-.6q.1-.5.4-.7l.1-.7.2-.2v-.4q.4-1.5 1-2.5v-.7l.6-1.1q0-.6.1-.7l.2-1.4.3-.2.2-.5v-.8l.6-1.5.4-.9.3-1.3q.3-.8.6-1.1l.1-.9.3-.3q.1-.5.4-1.4.3-.9.5-1.3.3-.5.7-1.8.4-1.4.9-1.9-.1-.5.3-1.1l.2-1.2q.7-.9.7-.9v-.9q.2 0 .2-.3v-.4l.5-.9.7-1.7.1-.5q.2-.2.2-.4l.4-1.1q.1-.1.1-.1h1.1l1.3-.1.9.1 1.8-.3q.8 0 1.4-.1h2.5q.5 0 .6-.1 1.9.2 3.5.2h.4l.4-.1q.7.6.8.6 0 .2.4 1.1.4.8.2 1.4l1.7 6q-.2.4.5 1.8v.8l.3.7v.4l.2.1v.4q0 .1 0 .3.1.2.2.6 0 .4.2 1 .1 1.1.4 1.4l.1 1.5.3.8.1 1.3q.5.9.5 1.9l.3.2v.4q.2.3.2.4v.9q.5 1.1.5 1.1v.4q0 .3.3.9 0 .5.5 2.2.2.2.2.3zm-22.5 12v.5l-.4.5v.5q0 .2-.2.8-.2.5 0 .9-.3.6-.3 1.4h10q1.5.3 1.6.3h2q.1-.2 0-.3 0-.1-.1-.4-.2-.3-.2-.8 0-.8-.5-2.3l-.4-2.2q-.3-.4-.3-1.2-.7-1.6-.9-2.6-.3-.4-.5-.9-.1-.5-.1-.8-.1-.3-.2-.3-.2-.1-.1-.3.1-.6-.5-2.3-.2-.3-.5-1.7l-.2-1.5-.5-1.5q-.2-.3-.5-1.6l-.8-3.4h-.1q0 .1-.1.1 0 .1 0 .1l-.4 1.2q-.5.8-.5 1.8-.4.4-.7 2.5-.6 1.5-.4 2.1l-.7 1.4v.8l-.8 1.1q.1.2-.2.8v.4l-.3.6q0 .2-.3.8v.4q-.2.4-.2.6l-.6 1-.7 2.6q-.1.1-.2.5-.1.3-.2.4z'/%3E%3C/svg%3E");
  --psr-svg-znak-bialy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 150'%3E%3Cg transform='matrix(.0105783 0 0 -.0105783 .3 150)'%3E%3Cpath fill='%23fff' d='M4375,14170c-2256.6-55.8-4468.5-1853.7-4359-4140c2.2-2483.5,1976.1-5772.2,4110.9-7306c0,0,0,0,0.1,0c3,3.6-9,148.4-26,323c-174.9,1770.8-166.3,3281,594,4831c899.4,1744.3,1934,2914.2,3940,3619c245,92,618,223,622,219c8-8-85-233-155-373c-168.2-331.8-886.8-1549.7-660-1657c164.1-127.5,1151-580.8,1203-743c90.9-71.3,211.2-453.7,273-588c118-234,338-419,665-559c570.8-256.3,1993.3-295.8,2207-976c0-141-117-418-280-663c-877.6-1308.9-1659.5-1317.7-3263-1086c-207.7,27.9-379.5,48.9-383,47c0,0,0,0,0,0c267.3-1103.1,1633-2295.7,2824-2704c0,0,0,0,0,0c25-5,45,2,108.9,41c0,0,0.1,0,0.1,0.1c800,556,1476.8,1392,2221,2323c2335,2753.9,3443.6,7094.7-143.1,8897.1c-1648,830.4-3858.4,606.4-5234.9-632.1c-142-125-350-336-460-466c-59-70-76-85-86-75C7171.8,13792.7,5872.1,14205.4,4375,14170z M9650,11054c0-13-292.6-1587.1-295-1592c0,0,0,0,0,0c-34.1,11.1-587.3,322-716,393C8690,10441,9042.8,11008,9650,11054z'/%3E%3Cpath fill='%23fff' d='M6953,8890c-169.6-58.9-298.4-208.3-526.3-612c-1.1-2-2.1-4-3.1-6c-236.7-500.9-874.5-914.8-1120.9-1421.5c-1.1-2.3-2.3-4.5-3.6-6.7c-676.3-1127.9-841.1-2377.4-789-3698.7c40.3-589.8,30.3-742.5,350.9-1080c187.5-189.4,900.5-655.7,1249-910C7454,202,7752,26,8045,12c161-7,270,30,520,178c331.9,197.2,455.1,264.3,649.9,362.8c35.9,18.1,58.5,55.3,57.3,95.5C9213.5,2558,6077.1,4991.6,6965.1,5900.1c1.9,1.9,3.9,3.8,5.8,5.6c169.1,152.4,214,113.8,509.3,29.4c2.5-0.7,5-1.5,7.4-2.4c554.3-206.9,772.9,23.4,1005.9,465.4c17,32.2,15.5,70.9-3.1,102.2c-235.1,396.3-324.8,941.7-767.9,1165.4c-46.7,23.6-70,77.1-53.9,126.9c69,214.8,237.5,734.9,227.4,724.4c-29.7-10.2-407.8-246-629.7-384.3c-64-39.9-147.8-0.7-158.2,74.1c-10.2,73.6-22.6,170.6-39.1,293.2c-28,217-54,398-57,401C7008,8905,6981,8899,6953,8890z'/%3E%3C/g%3E%3Cpath fill='%23fff' d='M202.9 26.8l.3-.1q.4 0 .4.1l.6-.2q.5.2 1.9.1l.4-.1q.3 0 .9.2h.3l.7-.1.5.1h.1l.6 0q.1 0 .7.3h.2l.6.1q.2.1.4.1.1.1.2.1h.1q.2 0 .6.1.3.1.6.2.3.2 1 .4 0 .1.2.3.3.1.3.1l0 .1h.1l.2.2q.1.1.4.3.3.2.4.3 0 .2.5.7.4.5.6.6 0 .1.1.2l.7 1.6q.1.2.1.3.1.1.3.6v.4q.5 1.3.5 1.9l.3.8q0 .3.1.9l.1.6v.7q0 .8.1 1-.1.3-.1.5l-.2 1q0 .7-.1 1.2l-.2.6q-.1.1-.3.6l-.1.4-.1.1q0 .1-.1.2l-.5 1.1-.2.3-.1.1-.1.1-.1.1h0l0 .1-.3.4q-.4.4-.7.6v.1l-.6.6-.4.3h0l-.6.6q-.1 0-.3.1-.3.1-.4.2v0h-.1l-.2.2-.3.1-.1.1-.7.3-.4.1q-.5.2-.8.3-.3.1-.9.3-.4.1-1.3.2-1 .1-1.4.2-.1.3 0 .9v.2l0 1.8 0 .5v.1.5q0 .8-.1 1.7l0 .6v2.2q0 .7-.2.7h-.6l-.7.1q-.3 0-.6 0-.3 0-.4 0-.1 0-.2 0h-.4l-.4-.1q-1.7.2-1.8.1-.1-.1-.1-.2l-.2-.2q0-.2 0-.3 0-.1.1-.4 0-.2 0-.3v-.2l-.1-.1.1-.1-.1-.5 0-.3 0-1.6q0-.4.1-1v-.1l0-.2 0-.1v-.1l0-.5q.1-.1 0-.5 0-.4 0-.6v-1l.1-.7q0-.4-.1-.7v-.8l.1-.7-.1-1.5.1-1.1.1-3.5 0-1.5q0-.4 0-.7l0-.6v-.7l.1-.3-.1-.4.1-.7 0-.9-.1-.4.1 0-.1-.8 0-.1 0 0q0-.2 0-.4l0-.1v-.4q-.1-.4-.1-.6l0-.8q0-.7 0-1.3l-.1-1v-.2l.1-.7-.1-.9q-.1-1.1 0-2 .1 0 .1-.2.1-.1.1-.2l.5-.1h.1q0 .1.4 0zm4.5 15.4l0 .9q.1.8.2.8l1.3-.1q.4-.2.9-.2.3-.2.6-.3.1 0 .1-.1 0 0 0 0 .1-.1.2-.1.1 0 1-.6.1-.1.3-.4.3-.3.3-.4l.5-1.3.1-.2v-.2l.1-.2q0-.3.1-.7.2-1.3.1-1.9 0-.1 0-.3-.1-.1-.1-.2v0q0-.1-.2-.6v-.3q-.1-.2 0-.3-.3-.4-.5-1-.1-.1-.3-.5 0 0-.2-.2-.2-.2-.4-.3-.1-.1-.3-.2h0q-.5-.5-1.4-.5l-.6-.2q-.3 0-.9-.1-.6-.1-.8.1 0 .2 0 .6 0 .5-.1.6v1.2q0 .6 0 1.2v2.5q0 0 0 .8l0 .9 0 .7v.7q0 .3 0 .4zm40.5-2h.7l.3 0 .8-.1q.3 0 .3-.1h.5l.5 0h.3q2.1 0 2.7-.1.1.1.3.2 0 .2-.1.2l.1.8-.1.4v.9q0 .7.1.9-.2.4-.2 1.3 0 .9-.2 1.1-.1.1-.2.2-.8-.1-1.5 0-.7.1-1 .1h-1.1q0 0-.1 0h-.1q-.1 0-.4 0h-.1q0 0 0 0l-.5 0q-.9-.1-1.6 0-.7 0-1 0 0 .2 0 .2v.5l-.1.1q0 .1.1.1l0 .1 0 .6q-.2 1.3-.1 1.8-.1.1-.1.4l0 2.5q0 .6.1.7.1 0 .8 0l.6-.1.3.1q.4 0 .7-.1.7 0 .9-.1.5.1.8 0 0 .1.1.1h.1q.3-.1.7-.1l.2 0h0q.1 0 .1 0l.1 0 .9 0q.4 0 .8-.1h1.9q.3-.1.4-.1h.4q.2-.1.2-.1l.6.1q.4 0 .5.1 0 0-.1.6 0 .1-.1.3l0 .4q0 .2 0 .3l0 .1q-.1.1-.1.2v.3l0 2.9v.4l-.4.5q-.9 0-1 .1h-.1q-.1.1-.8 0-.6-.1-.7 0-.2 0-.4 0h-1.3l0 0h-.1l-.1 0h-.2q-.1-.1-.3-.1h-3.1l-.3-.1q-.2.2-.7 0h-2.4q-.7 0-1.4 0-.7-.1-.9-.1-.2 0-.5 0 0 .1-.1 0-.1 0-.1 0-.5 0-.6 0l-.1-1.1v-.6q0-.4.1-.5-.1-.1-.1-.7v-.5l-.1-2.4.1-.4v-1l0-.4q0-.5.1-.5l-.2-1.9.1-.1v-1.6l0-.2q-.1-.1-.1-.2l.1-.1q0-.1-.1-.3v-.9l-.1-.6.1-1.2q-.1-.4-.1-2.6v-1.7l0-.1 0-.1q0-.2 0-.4l0-.6v-.3l.1-.4q-.1-.7-.1-1.4l0-.2q0-1.1.1-1.3-.1-.4-.1-.5l0-.1 0-.2 0-.7 0-1v-.7l0-.5v-1.6l0-.8q0-1.1-.1-1.3l-.1-.6.3-.1h0l.6.1.5-.1.5.1h.1.4l.5-.1q.4-.1 1.7 0l.2 0q.5 0 .9-.1l.3.1q.3 0 .6 0 .3 0 .3 0 .2-.1.4 0l1.5-.2h0l.1 0q0 .1.2 0h1q0 0 .2-.1l.2.1q.3 0 .6-.1h.6q.3-.1.4-.1 0 0 .1 0l.1 0h.4q1 0 1.2.2h.3q.6 0 1.1-.1l.2.1q.1-.1.1-.1h.1l0 .1q.1 0 .2-.1.2 0 .4 0 .2 0 .3.1.2.2 0 1.8v.4l0 .2q0 1.5.1 1.8-.1.1-.1.3 0 .2.1.3 0 .1-.2.4 0 0-.1.1-.1.1-.3.1-.2-.1-.3-.1h-.2l-.3 0-1.2.2q-.1-.1-.3-.1-.2 0-.2 0-.4.1-.9 0-.2.1-.4 0-.3.1-.5.1l-.7 0q-.7 0-1 .1l-1.2 0q-1.2.1-1.3.2l-.2-.1-.8.1h-.6q-.4.1-.4.1v.5q0 1.2 0 2.1v1.2q0 .8.1.9-.2.6-.1 1.6v.1l0 .4q0 .1 0 .4v1.2l.4-.1q.2.1.7.1zm44.1-13.6l2.7 0q0 0 .2.1.2 0 .5 0 .2 0 .6 0 .4 0 .8-.1l.1 0q.1 0 .2 0h.1l.6.2h.5q.2 0 .3 0 .2 0 .4 0 .1 0 .2 0 .1 0 .2.1.1 0 .1 0 .1 0 .1 0 0 0 .1 0 0 0 0 0 0 0 0 0 .1 0 .1-.1h.2q.3 0 .5.1.3.3 0 1v2.9q0 .9.1 1.3 0 .1-.1.4-.1.3-.2.3h-1.1l-.5 0-.1 0q-.4-.1-.6-.1l-.6.1-.3-.1-.3.1q-.2 0-.4-.1l-.3 0h-.1l0 0q-1.3 0-2.9 0-.1.3 0 .8v1.2q0 1.3-.2 2.1v2.2l.1 1.3-.1.6v.6q0 .2 0 .5l0 .7q-.1.7 0 1.2l0 .3 0 1.6 0 1.3 0 1.1q0 .3 0 .6v.4q0 .1-.1.3l0 .6v5.1q0 .1 0 .2v1.2l-.1 1.9q0 .8 0 .9 0 0-.1.1-.1 0-.2 0 0 0-.1 0-.1-.1-.5-.1l-.1 0-1.1.1-.6.1h-.7q-.6 0-1 0-.3-.1-.8-.1-.6 0-.7-.1-.1-.2 0-.7v-.4l.1-1.3 0-.3.1-3.1.1-.6q0-.4 0-.5v-1.5q0-.1.1-.3l0-.1 0-.5 0-.5 0-1.9.1-.8-.1-.2.1-.2-.1-1.7v-.6q.1 0 0-.4v-1l.1-2.2v-1.5l-.2-2.3 0-1.1q-.1-1.3 0-2.9h-.5l-.9.1q-.4 0-1.2-.1h-1.3l-.6.1q0 0-.1-.1h0q-.8.1-1.6.1h-.9l-.6.1q0 0-.1-.3-.2-.1 0-.3-.1-.3-.2-2v-.6l-.2-2.8q.2-.5.5-.5.3 0 .4-.1.7.1 1.6 0 0 0 .1 0l0 0q.1 0 .1 0 .2-.1.7 0 .7 0 .7 0h.5l.2 0 .7.1 1.8-.1h.8q.1 0 .3.1h.6l.2.1.2-.1.4.1q.9-.1 2.2 0zm69.3 6.3l-.1-.1-.8-.1q-.6-.1-.8-.2l-.4.1q0 .1 0 .1l-.4.2q-.2 0-.5.3l-.4.3-.2.4-.2.4v.1q0 .2-.1.3l.1 1.5q0 .2.1.4.1.2.2.4l.1.2v.2q0 0 .2.2.1.3.1.3.2.5.4.8.4.4 1 1 .2.1.7.5l.4.2.2.2.4.3.2.2.4.2.3.2q.1.1.4.2l.4.3q.2.1 1 .5.3.4.7.7l.5.3.1.1q0 .1.2.2l.8.9.1.2q.1.1.2.1l.2.5q.1.1.1.2l.6.7.1.3.1.2v.2l.2.4q0 .1.1.3.1.4.3.9-.1.3.1.5-.1 0 0 .4 0 .4-.1.5l.2.6q-.1.2 0 .4l-.1.2.1.3q-.1.1-.1.3 0 .1 0 .1 0 .1 0 .1l-.1.6q-.1.2-.3.8-.2.5-.2.8-.2.2-.3.7-.3.3-.4.6-.2.2-.2.3-.1.1-.1.1l-.3.4-.1.2-.1.1-.2.2-.1.1-.1.3q0 0-.1 0 0 .3-.1.3h-.1q0 0 0 0 0 .1-.1.1 0 0 0 .1 0 0-.1 0-.1.2-.2.2l-.8.8q-.1 0-.3.2l-.6.1-.4.2q-.3 0-.4.2h-.3q-.2-.1-.2.1-.4-.1-.9.1-.1-.1-.9.1l-.3-.1-.4.1q-.2-.1-.4-.1-.6 0-1-.1l-.4-.1-.1.1h-.7q-.1-.1-.6-.1-.8-.3-1.2-.4h-.1l0-.1-1.3-.7-.9-.8q-.4-.8-.6-1l-.2-.6-.2-.3-.1-.1-.1-.4q0-.2-.1-.5-.1-.2-.2-.4 0-.2-.1-.7l-.1-.7-.2-.6q-.1-.4-.1-.9v-.8q0-.8.1-1.2l.1-.6.6 0q.4-.1 1.6-.1h.4q0 0 .1 0 0 0 .1 0 .1 0 .4 0 .4-.1.5 0h1.5l.6-.1q0 0 .2.1 0 .2.1.3-.1.5 0 1.4v.3l.1.1q0 .1 0 .2 0 0 0 .2.1.1.1.2l.3.6.6.4q.5 0 .6.1.1.1.4.1l.1-.1q.3.1.7.1.7-.2 1.4-1.4.1-.2.1-.3l0-.9 0-.5q0 0-.1-.1-.1-.2-.1-.2-.3-.9-1-1.4 0 0 0 0 0-.1 0-.1-.2 0-1.3-1-.2 0-.2-.1l-.1-.1-.1-.1h-.2l-.1-.2-.5-.4q-.5-.3-.5-.4-.2 0-.6-.3-.4-.2-.5-.2-.1-.2-.4-.3-.2-.2-.3-.3 0 0-.1 0-.1-.1-.2-.2-.1-.1-.3-.2-.2-.1-.2-.2l-.1-.1-.2-.1-.4-.4q-.1 0-.3-.2l-.3-.2-.2-.3-.6-.8q-.5-.9-.9-1.6-.1-.3-.2-.4-.5-1.7-.6-2.2l-.1-.8 0-.1 0-.8v-.1q0 0 0-.1l0-.1v-.4l.4-2.5q.2-.3.4-1.1.4-.9.5-1 .2-.2.4-.6.4-.4.5-.6l.5-.4.4-.4.3-.2q.1-.1.4-.3.3-.3.3-.3l.4-.3h.1q0 0 .1 0 .1 0 .3-.1.2-.1.2-.2.3 0 .5-.2.1-.2.9-.2.6-.3 1.4-.2.4 0 .8 0l.9.2.1-.1q.2 0 .3.1h.1l0 0q.5 0 .7.3l.4.1q.3 0 .4.2l.5 0 1 .3.2.2h0q.1 0 .2.1l.4.3.3.1h.1l.1.1.4.3q.2 0 .5.3.3.4.4.5.2.1.2.2l0 .1h.1q.4.8.5 1 .5.6.5.8l.2.7q0 .1.1.3l.1.8q0 0 .1.6 0 .5 0 3.5l-.3.4-1.3-.1h-.2q-.1.1-.3.1h-.3l-.1.1-1.3 0q-.9.1-1.1 0-.1 0-.8 0l-.3-.5q.1-.7-.1-2.1-.1-1.3-.3-1.5-.1-.1-.9-.8zm41.9 8.4l.7-.1q.2-.1.3-.1h.7q.3.1.9 0 .2-.4 0-.6 0-.1 0-.5v-.5l0-.2v-.3l0-1.1v-2.4q-.1-1 .1-1.6-.1 0 0-.5 0-.5 0-.6l.2-1.2-.1-.3v-.9l-.1-.4v-.5l0-.2q0-.1 0-.4 0-.3 0-.6-.1-1.2.2-1.7-.1-.1-.1-.1 0-.1.1-.1 0 0 0-.1 0 0 .2 0 .1 0 .2-.1 0 .2.3.2.3 0 .3 0l.3-.1 1.9.1.1-.1 0 .1h.2l.7.2q.5 0 .8-.1 0 .1.1.2.2.1.1.2 0 .1 0 .1.1.1.1.2l0 .1v.4l-.2 2.9v.3q.1.2.1.5v1.2l-.1 1.1v3.1l.2 1.1v1.1l0 .4q-.1.4-.1.6l.1.2-.1 1.7.1.1v.1l-.1.7v4.2h0v.2l0 .1 0 .1 0 .4 0 .7 0 .3-.1 2.2v.3q0 .2.1 1.3v.1q-.1 0-.1 0l.1.2-.1.4.1 1.3q0 0 0 .2-.1.3-.1.5 0 .1 0 .3l.1.7q0 .7-.1 1.2-.2.6 0 .7.2.2.1.4-.1.3-.1.3l-.5.2q-.5-.1-.9 0-.8-.1-1.2.1l-1.2 0q-.1.1-.4 0l-.4 0-.5-.1q-.1 0-.2-.2-.2-.1-.2-.2.1-.5.1-.8v-.2l0-.6 0-1.1 0-.3q0-1.5-.1-1.6.1-.2.1-.3l0-.4 0-.2 0-1.4 0-.6 0-.1 0-1.1 0-.1v0q0-.1 0-.1 0 0 0 0 0-.1 0 0 .1-.8 0-2.3v0q0-.6-.1-.8-.6-.2-1.2 0-.5-.1-.8 0-.1 0-.4 0h-.5q-.1-.1-.4-.1h-.3q0 .1-.1.1h0q-.1-.1-.3-.1-.1 0-.2 0h0l-.1 0h-.1q-.5.1-1.5.1l-.7 0-.4 0q-.1 0-.4.1-.3 0-.6 0h-.5l.1.7-.1.5.1.3q0 .5 0 .8l0 .3q0 .5-.1.6l0 1.2v2.7q-.1.3 0 .5 0 .1-.1.7 0 .5 0 .9l0 .5v1.8l.1.1q0 0 0 .2.1.1 0 .1.1.2.1.4-.1.2-.2.3 0 .1-.1.1l-.7-.1-.4 0-1.7 0q-1.8.1-2 .2-.2.1-.4 0-.1-.1-.2-.4l.2-.4q-.1-.5-.1-1.1v-.3q0 0 0 0 0-.1 0-.2 0-.1 0-.3.1-.5.1-.5v0l-.1-.1v0q.1-.3 0-.4.1-.1.1-1.2 0-1-.1-1.5l.1-.1v-.6q0 0 0-.1v-2.5q0-.6-.1-1.1v-.6l0 0 .1-.2v-.1l-.1-.1q0-.2.1-.4v-.1q-.1-.1-.1-.2.1 0 .1-.2l0 0-.1-.5.1-.3v-.4q0-.8-.1-1.1v-2.4q0-.9-.1-1.5.1-.9 0-2.1-.1-1.3 0-1.4l0-1v-.2l0 0v-1.4l.1-.7q.1-.2 0-.7l0-.7.1-2.4v-.1-1l-.1-.1v-.3l0-.7q0-.7.3-.7.4 0 .4-.1.4.1.6 0l.4.1.6 0q.3-.1.7-.1h.7q.2-.1.3-.1l.4 0q1-.2 1 .1l.2.3q-.1.5-.1 2.2-.1.3 0 1.1 0 .9-.1 1.7 0 1 0 1.3v2.6l-.1 1v.7q0 .1 0 .3l-.1.7q0 1.2.1 1.5-.2.5.1.6.2 0 .2 0h.3l.1.1h.1q.4 0 .6 0l.3-.1h.3q.1 0 .2.1.1 0 .2 0 .1 0 .1-.1l0 .1h.2l.1-.1.4.1q.2 0 .3 0h.4l.7-.1q.2 0 .6.1h.5 0zm31.8 8q0-.2-.2-.8v-.4l0-.3v-.4q-.1-.1-.1-.2v-.2l-.1-1.5q0-.3-.1-.7l-.1-1.5v-1.9q.1-.3.1-.3v-.9q0-.2 0-.4v-.6q0-.6.2-1.2 0-.3 0-.6l.1-.5q0-.5 0-.9l.2-.5q.2-.9.3-1.1 0-.2.1-.4 0-.2 0-.2l.1-.6.2-.2q.1-.6.1-.6.1 0 .3-.6.2-.5.4-.8l.6-1.2.6-.8.1 0q.1 0 .1-.1l.1-.1.2-.1q0-.1.2-.2l.7-.5q.4-.4.5-.4 0-.1.3-.3.4-.1.6-.3l.4-.2.3-.2.7-.1.7-.1h.6l.1-.1h.2l.1.1.2-.1h2q.3.2.8.2.2.1.5.2.3.1.6.2.2.2.6.3l.3.3.3.1q.5.4.7.5l.1.2q0 .1.1.1l.1.1q0 .1 0 .1l.2.2q0 0 .2.2.2.3.3.4l.3.2.1.2.4.6.3.8.3.5.3.9q.1 0 .1.2v.1q0 .2.2.9.2.6.4 1l.1.9.4 2q.1.4.1.9v.2q0 0 0 0v.2l0 .1q0 .1 0 .2v0q0 .2.1 1.4l.2 1.3-.1 1.5v.5.3l0 0 0 .2v.2q0 0 0 0l-.1.6q0 1.4-.1 1.5v.3q0 1-.2 1.3v.2q0 .3 0 .4l-.1 0 .1.1v0q0 .1-.1.4l-.2 1.8-.1.3q0 .6-.2 1l-.2.7q-.2.6-.2.8l-.3.6v0q0 .3-.1.4-.1.2-.3.7-.2.4-.2.5-.1.2-.4.6v0l-.1.1q0 .1-.1.1l0 0-.1.2-.1 0q-.1.1 0 .1l-.8.7q0 0-.1 0 0 .1-.1.1 0 0-.2.1-.1.1-.3.2-.4.2-.4.2l-.5.3q-.1 0-.3 0 0 .1-.1.2-1 .3-1.8.4-.9.1-.9.1h-.1l0 0-.6.1q-.1 0-.3 0-.1 0-.4 0-.2-.1-.2-.1h-.5q-1.6-.3-2.1-.6l-.7-.2q-.1 0-.1 0-.1-.1-.2-.2-.2 0-.3-.2l-.3-.1q-.2-.1-.5-.3-.4-.2-.4-.3 0 0-.3-.1-.2-.1-.2-.2l-.4-.3-.4-.5-.3-.3 0-.1q-.1 0-.1-.1-.1-.2-.2-.3l-.2-.3-.2-.6q-.1-.5-.3-.7-.1-.3-.4-1.4-.2-1.2-.2-1.5l-.2-.7q0-.2 0-.4l-.1-.9zm8.3-17l-.3 0q-.3.2-.4.2 0 .2-.4.4-.6.7-.7 1.2-.3.6-.3.6v.1l-.1.2-.1.6q0 0-.2.3v.4l-.1.3q0 .2 0 .2l-.2.7-.1.5v.1l0 .1q-.1.4-.1.9 0 .5 0 .8-.1.3-.1 2.5l0 .8q0 .3.1.7v.6q0 .6-.1.9.1.3.1.6v1.1q0 .1 0 .3v.2l.1.8q.1.5.3 1.4 0 .4.1.7l.1.6q0 .2.1.3l.1.4.2.5q.1.3.3.4l.1.3q.2.1.3.4.2.3.4.5l1 .4h.8l.3-.1h.2l.7-.2q.1 0 .3-.3.2-.3.2-.4.1 0 .4 0 .1-.2.3-.5.1-.2.2-.5.2-.4.4-.5 0-.3.2-.9-.1-.1 0-.5.1-.4.1-.4l.1-.5.1-.2.2-1.3q0-.2 0-.5l.1-.8.1-2.2q.2-3 0-4v-1.9q-.1-.4-.1-1l-.1-.4q-.2-.9-.2-1l0 0v-.2q-.2-.5-.3-.7v-.3l-.2-.6q-.1-.2-.2-.4 0-.2-.1-.3 0-.1 0-.1l-.1-.1q-.1-.3-.4-.7-.4-.3-.4-.3h-.1l0-.1-.7-.3-.7-.1q0 0 0 0-.1 0-.5.1-.3 0-.7.2zm33.6 20.6q0-.8 0-1.8 0-1.1 0-2.3v-5.5l-.1-.8.1-.3-.1-.7v0l0-.6 0 0v0l0-.3v-2l0-.3 0 0q0-.1.1-.4v-.4l0-.8 0-1.5 0-.6 0-.4q.1-.7 0-1.6v-1.3l-.1-.3q0-.7 0-.9 0-.6 0-1.3.1-.9.2-1.3 0-.1.4-.2l.1-.1q.2 0 .3 0h.8q.7 0 .8-.2.3.1 1 0 .7-.1.9.1h.3q.6-.1.7.1.3-.1.4-.1h.1l.3 0 .7 0 1.7.1h.8l.9.3h.2q.1 0 .2 0l.6.3q1 .2 1.2.3.2.2.4.3.1 0 .4.3.4.3.6.4.1.2.4.3.1.1.1.2.1 0 .2.1.1.1.1.1l.3.4q.2.2.3.5.1 0 .2.2.2.2.2.2.1.3.3.4 0 .1.3 1v0q0 .2.3.4 0 .2.1.9.1.8.3 1.1-.1.3.2.9-.1.2.1 1 0 .4-.1.5 0 .1 0 .8l.1.6q-.1.1-.1.5v.4q-.1.1-.1.7-.1.5-.3.8v.1l-.2.5q0 .2-.1.4-.2.3-.1.5l-.1.1q0 .1-.1.1v.1l-.1.3q0 .1-.2.7l-.3.3-.3.5q-.2.1-.2.2l-.4.4q-.3.3-1.3.9h0q-.2.2-.5.3-.3.3-.8.4-.6.2-.6.3l-.5.2-.9.3-.3 0q-.1 0-.3.1l-.6.1-.9.2q-.4.1-.8.1h-.3l-.2.1q-.4 0-.5.1-.4 0-.5 0-.2 0-.2.1 0 .1 0 .2.1.2 0 .3-.1.1-.1 1v.9l0 1.7-.1.3.1.1-.1.2 0 .1v.1q0 .3 0 .7l-.2 1.4v.9q-.1.4 0 .7 0 .3 0 .7 0 .6-.1.7 0 .7-.1.8-.5.2-.8 0-.3.2-.5 0-.1.1-.3.1-.1 0-.3-.1-.2 0-.3 0-.3 0-.6-.1l-.4.2q-.1-.1-.5-.1-.5 0-.8-.1h-.3q-.1-.1-.1-.6.1-.4.1-.7l0-.4v-.6q0-1-.1-1.7l.1-.9q0-.4-.1-.9zm7.1-10.3l.8-.1q.7-.3 1.2-.3l.3-.2.5-.2.4-.3v-.1q.1 0 .2-.1l0-.1.2-.1q.1-.3.4-.6.2-.5.3-.5l.1-.7.2-.3.1-.8v-1.4l-.1-.5v-.3q0-.1-.2-.7-.2-.7-.3-.8-.1-.1-.1-.2l-.3-.2v-.1l-.2-.1q-1.1-1.1-3.1-1.3-.4-.2-.7 0-.2-.2-.5-.1h-.1q-.1.1-.2.1l-.1.6v.2l-.1.1v.1.7l0 4.3-.1 1.4v2.1q-.1.4.1.7l1.2-.1z'/%3E%3Cpath fill='%23fff' d='M220.1 67.5l3.3-.1.3-.1 2.2.3q.4 0 1.2.3h.4l.6.3q.6 0 2.2.6 1.6.6 2.3.5l2.2.9q0 .1.3.1l.3.3.6.2.4.3 1.6.9.6.3q.5 0 1.4.7.3.2.6.3.2.2.4.3.3.1.3.2l1.5.9 1.8 1.8q.4.8 1.5 1.7l1.4 2.4.7 1.1.3.6.3.6q0 .4.5 1.3l.3.9q.8 1.4 1 3.5.2 2 .1 3v2.7q0 1.5-.1 2.6l-.3 1.1q-.1.3-.1.4v.5q-.2.3-.3 1.3-.2 1-1.7 5.8-.5.5-.8 1.1-.3.6-1.2 1.8l-1 1.5-1.8 1.8q-.3 0-.6.3h-.1q-1.3.7-1.5 1 0-.1-.2 0-.2.1-.4.2-.2.1-.4.1l-.3.2-.7.3 1.2 3.3.2.1q.3 1 .9 1.9l.9 1.6q.4.8 1.1 2.3.6 1.6.9 1.9.3.5.3 1.1l.2 1q.6 1.1.6 1.2l.1.1v.1l-.1.1.2.4q0 .5.4 1.1 0 .6.3.7 0 .5.6 1.1 0 1.1 1.2 3.2.1.3.4 1.3.3 1.1.3 1.3 0 .3-.9.8l-.3.3q-.2-.1-.7.2-.4.2-.4.2l-.5.2q-.2 0-.5.2h-.3l-1.8.6-2.5.6q-.8.2-3 .5l-2.5.2q0 0-.2-.7-.2-.6-.7-1.7-.6-1.2-1.4-2.3l-.4-1.7q-.7-1.8-1-2.5l-.7-2-.3-.6q0-.2-.1-.3v-.1q-.4-.6-.4-.8l-.4-1.3q0-.7-1-2.5l-.3-1.5-.4-1.3q-.3-.2-.7-1.1-.4-1-.7-1.2 0-1.2-.4-1.6-.3-1.2-.6-1.5-2.8-.2-4.1 0-.1.1-.1 1l-.1 2.7.1.3v.1l-.1 3.2v4.9l-.1.1.1 1.6q0 .3 0 .5 0 .1 0 .2 0 .1 0 .1 0 .1-.1.1v.1 5.6q-.1.5-.1 1.3 0 .9 0 1.5 0 .7-.3 1-.4.3-1.6.2-1.2-.1-1.5.1h-.7q-1.4-.2-3.2 0h-.9q-.4.2-.9.2h-2.7l-1.5.1h-.8l-1.3-.3q-.2-.4-.2-1 0-.6.2-.7.2-.1.1-1.1v-1l.3-1.8q.1-1.1-.2-3.1-.2-2.2-.2-2.8v-4.7l-.2-4v-7.2q0-1.1.2-1.4l-.2-.4q0-.2.1-.6.1-.4 0-.7-.2-.4-.2-3.7l.1-1.2v-.1q-.1-.1-.1-.2l.3-1.4q0-.1-.1-.2-.1 0-.1-.1l.3-2.7q0-2.3.2-2.9-.2-.2-.2-.9v-7.2l-.1-1.7.1-.1v-.2q-.1 0 0-1.7v-4.8l.1-3.6v-.2-1.6-2.1l.1-1.3v-1.7l.1-.1-.1-.1q0-3.4.2-3.6.3-.2 1.6.1l1-.3h1.6q.1-.1.2-.1h2.8q1 0 1.1 0l1.8-.1zm2.4 27v3.1q-.1.7-.1.7v2.1l.1.5q-.3.6 0 .8.1.1.1.1 0 .1 0 .1.1 0 .1.1 0 .1-.1.2 0 .1 0 .3 0 .2 0 .5h.4 1.2q.2 0 1.5-.1 1.2-.1 1.4.1.1-.1.2-.1h.6q1.3-.5 2-.5 1.6-1.1 2.1-1.3.8-1 .9-1l.5-.5.2-.6.8-1.2q1.9-3.6 1.7-7.7l-.2-1.6-.7-2.2q-.6-1.4-2.5-3.6-.2 0-.5-.4-.3 0-.5-.2l-3.8-1.6q-2.4-.7-4.8-.3-.3 0-.3 2 0 1.5-.1 3.3v1.9q0 .1 0 .8-.1.6-.1 1.1 0 .4.1.9.1.5.1.8l-.1.8v.9q-.2 1.3-.2 1.8zm42.1-15.2l0-.7.2-4q0-1.4.3-3.4l-.2-1.1q.3 0 .3-.2v-.4l1.1-1q0-.1.3 0 .4.1.8.1.1 0 .5 0 .4.1 1.2.1.7 0 1.4 0 2.8.1 3.4-.1.9.3 2.6-.2 1.6 0 1.9.3.3.4.6.4.5 0 .4.9-.1.5-.1 3.6v2.2l-.1.2q.1.3.1.8v.2l-.1.2.1.2v.2l-.1.8q0 .5.1 1v2l.1 3.1v2.5l-.1.2.1.5-.1 1.6v.1l.1 1.4-.1 3.3q-.2 2 .1 3l-.3 3.7.1 3.3v2.6l-.1.6.2 1.1v.6q.1.4.1.5l.3 3.7.3 3.6.1.9q0 .2.4 1.9.4 1.9.7 2.6l.4 1q.3.5.2.6l.8.8q.2 0 .9.6l1.6 1.3q.2 0 1.9.5 1.8.5 3.4 0 2.7-1 3.6-1.8l1.1-1q.3-.4.3-.9 1.9-3.3 1.9-8.2l-.1-1.7q0-.4.3-1.1l-.2-2.3v-.2l.2-.2v-.2l.1-2.2v-.9l.1-.2-.1-1.2.1-1.6v-1.2q.3-.5.3-1v-4.8l.1-1.6v-.2l-.1-.2q0-.4.2-1.2v-4.5q.1-.9 0-1.6v-1.6l.1-1-.1-.9v-1l-.1-1.7.3-3.4q-.4-1.3-.2-3.4v-.6l-.1-.8q0-.1 0-.2.1-.2.1-.5 0-.3 0-.5.1-.9-.1-1.1.2 0 .2-.5v-.3q0-.1.3-.3.3-.1.4-.3.1-.3 2.7-.3 1.4-.2 2.2-.2l.9.2q.8 0 1 .1l2 .1.7-.1 2.2.1q.1-.1.2-.1l.1.1h.3l1.8-.3q.5.5.5.6 0 .2-.3 1.1l.1.6q0 .8.1 1.3l0 .6.3 3-.3 1.4.1.7v.6l.2.9v.7l.1 3.1q0 4 .2 6.5v2.3q0 2.3-.2 2.5.2.7.2 1.3.1.7-.1 1.3l0 .6v4.1l.1.1-.1 1.9q0 1.1-.1 1.9l-.1 1.7v1.1q.1 0 0 .1v.3l-.2.4v1l-.1.9q0 .6.1 1.3 0 .9-.2 1.2-.2.4-.2 2.1-.2 0-.1.5 0 .5 0 .6-.1.1-.3 1.6-.3 1.5-.2 2.3l-.6 2-.4 1v.7q-.1.1-.1.7-.1.6-.5 1.2-.7 3.4-1.8 4.4 0 .2-.6.8v.2l-2.2 2.6q0 .1-.5.5-.4.4-1 .9-.6.4-.8.7l-.8.5q-.2.1-1.4 1-.3 0-.4.1v.1l-1.1.7q-.6.5-1.5.8l-1 .2-1.4.4q-2.4.8-4 1.1h-.8l-.7.1q0 .1-.2.1v-.1h-.4l-.3.1q-.2 0-1.5-.1-1.2-.2-1.2 0-.3-.1-1.3-.1-1.1 0-1.3-.1-.1 0-1.2-.1-1.2-.1-1.4-.3-2.1 0-2.5-.1l-2.2-.3q-1.6-.5-1.7-.7l-.8-.3-.3-.2q-.1 0-.1-.2h-.3l-.2-.1v-.2h-.2l-.8-.5q0-.1-.1-.2-.1 0-.4-.2-.3-.1-.7-.4-.5-.2-.6-.6-.3-.2-.4-.1-.2-.2-.5-.2 0-.4-.6-.6.1-.1 0-.3l-.2-.1-.4-.5-.3-.3q-.4-.9-.8-1.5-.4-.5-.7-1.2-.7-1.1-.7-1.2v-.4q-.2-.1-.2-.2v-.2q-.2-.5-.3-.9-.2-.4-.3-.8-.1-.4-.2-1.4-.1-.6-.3-1.4-.3-.8-.5-1.4-.3-.5-.3-.6l.2-2.5-.1-4.3.1-.8-.3-2.3v-2.4q-.1 0-.1-.1l.1-.2q-.1-.8-.1-2l-.1-.3.1-2v-1.2l-.2-1.3q.3-.5.3-1l-.1-.9v-1.4q0-1.2-.2-2.2v-.3q-.1-.3-.1-.3v-1.8l-.1-.9v-2.3l.1-.2q0-.1 0-.2-.1-.2-.1-.3-.1-.2 0-.4.1-.3.2-.6v-4.5l.2-.1v-.1l-.2-1.1q.4-5.5.4-5.7zm114.7-10.8l2.5-.3q2 .3 4.8-.3.5.4.7.7.5.3.5.6l-.2.9v2q0 0 .1.3v.2q-.2.8-.2 1.3v2.6q0 .4-.2 1.1l.1 1.4q-.1.5-.1 1.2l.2 2.2.1 5.1q0 .1.1.6 0 .5.1.9 0 .4-.1.8-.2.5-.2.6v.4l.1.1-.1 2.9v7.8q0 2 .1 2.9.1.8 0 1.5 0 .2 0 .4 0 .2 0 .2l-.1.1.1 2.5q-.1 1.5-.2 2.7 0 1.2 0 1.8 0 .5 0 .5v.1q0 .2 0 .3 0 .1 0 .5 0 .3 0 .8l-.1 1.7.2 2.6v2.7l-.2.8q0 .1 0 .3 0 .1.1.2 0 .1 0 .1l-.1 2.8.1.9q0 .7-.3 1.6v2.3q.2 1.2.1 2.9-.1 1.5.1 3.1l.1 1.3q.1.2-.1.6l-.3.4-1 .1-.5-.3q-.4.1-2.3.4l-2.1.3h-2.6l-.2 0-1.4-.1-1.2.1h-1.5q-.2 0-.3.1h-.2q-.2-.2-.5-.2h-.3q0-.7-.2-.9-.2-.1 0-.3.2-.2.2-.3l.1-.6v-2.6l.1-.3.1-2.3 0-.2 0-2.1v-1.8l.2-.8q0-1.3.1-1.5l-.3-.8q.4-.4.2-4.6-.3-3.7-.3-4.8l.1-1.4 0-.2 0-1v-1q0-1.6.2-2.9l-.2-.2q0-.1.2-.2v-1.1l.2-.7-.1-.2v-.4l.1-.2-.1-.5v-.4l-.1-3.6v-.9l.1-.8-.1-.9.1-1.1-.1-1.1q0-1.9-.4-2.8l.1-1.1q0-.9-.2-2.1-.1 0-.2.1-.2 0-.3.3-1 .9-1.2 1.3-.5.2-1.5 1.8l-.8.9q-.4.7-.8 1.3-.4.6-.7.8-.2.2-.3.4-.2.2-.2.3-.7.8-.7 1-.4.4-.4.7-1.6 1.6-3.7 5-.1 0-.3.1.1.1 0 .1l-.1.1-.2.7q-.6.3-.8.8-.2.1-.5.4-.4.3-.5.3l-.6.9q-.5.7-.7.8-.8-.1-1.3-1v-.2q-.2 0-.5-.3v-.4l-.1-.1h-.3q0-.3-.1-.3l-.1-.2v-.3h-.2v-.4q0-.1-.2-.4-.3-.4-.5-.9-.3-.4-.8-.9-.4-.6-.9-1l-.2-.4-.3-.2-.2-.6h-.2q-.4-.8-.8-1.4-1-1.3-1-1.3-.3-.8-1.1-1.4-.1-.1-.5-.7-.3-.6-.3-.7 0-.3-.6-1.2-.2-.2-1-1-.7-.9-.9-1.1-.3 1.1-.3 1.8v1.1l-.1.8q0 .8.3 1.6-.3.6-.3 1v1.2l-.1 3.9v.7q0 1.1.1 1.8-.3.3 0 .5l-.1 1.1q0 .8.1 1.3-.4.6-.1 5l-.1 1.6q.2 1.6.2 2.8v4.9l-.1 1.2v3.6q0 .1 0 .4 0 .3-.1.8 0 .6 0 1.1-.1 2.1.1 2.7-.2 1.9.1 3.5-.2.2-.1 1.2.1 1 0 1.3l-.6.5q-3.6.3-4 .4-.7-.2-1.2-.2l-.2.1-.9.1-.2-.1h-.6q-1.1 0-2.1.1h-.5q-2.4 0-3.6.2l-1.2-1v-3.6l.2-.2v-.6q-.2-.1-.2-.2l.3-3.6.1-2.2v-1.7q0-.3.2-.9l-.1-.1v-.5l.1-.1q0-.8-.1-1.5v-1.7l-.1-.1q.1-.1.1-1.5l.2-1.3v-1l.1-3.3-.1-1.4.1-3.2q0-2 .2-2.5-.3-.9 0-2.7v-4q0-3.6.1-4.7v-.7l.1-2.7q-.1-.3-.1-1.6v-1.2l-.3-2.4q0-1.9.2-3.6-.3-.3-.3-.8v-3.3q-.1 0-.1-.1l.1-.2-.3-3.5q-.4-3.6 0-5.2.3-1.7.3-2.4 0-.6-.1-1 .8-1.1 2.2-1.5l.9.1 1.2-.1q.9-.2 1.3-.2h3.6q.5 0 1.1.2l.5-.1q.4 0 .8.1h.1l0-.1q.1-.1.3-.1.1 0 .6 0 .4 0 1.3.1h1q.3.3.5.3.6 1.7 1.5 2.5l.7.9.7 1.2q0 .1.2.3.1.2.3.4.2.2.5.3-.1.3.3 1.2.4.8.9 1.3l.6.8.8 1.1.1.5.2.1q.4 1 .9 1.3.2.3.7 1.3.6.9.7 1.2.3.4.4.8.2.4.3.5l.8.8q.1 0 .2.1 0 .1.1.4.2.2.3.5.1.2.5.8.3.6.5.8.2.3.4.3.4-.1 1-1.7l.8-1q.8-1.1 1.4-1.5 0-.3.3-.9.2-.6.3-.9.9-.4.9-.8.8-.9.8-1.4l.8-.8q0-.3.4-.7.3-.3.3-.5l.6-.9.4-.4.8-1.4q.8-.6 1.1-1.4.3-.1.7-.7.4-.5.4-.8.2-.1.6-.6l.3-.5v-.2l.5-.4q.8-1.4 1.2-1.2.2.1.4.1.2.1.2 0l.7-.3q0 .4.5 0zm42.1 67.6q-.3.2-.3 1.4v1.6q0 1.5-.3 1.7v.2q-.2.2-1.5.4-.7-.4-.7 0-.8-.1-2.8-.2-2 0-2.5-.1-.1.1-4.2.3-.6 0-1.6-.4v-.3q0-.2-.2-.6-.3-.4-.4-.4.2-.3.5-2.1.2-1.6.2-2.4l-.1-2.3v-3.1l.1-1.1-.2-2.2.1-1.7q0-1.3.1-1.6-.2-.8-.2-1.4v-2.3q0-1.7-.1-2v-2.8l-.1-.7q-.1-.7.2-2 .2-1.2-.1-1.5.3-2.1.3-2.6l-.1-.1v-.2l.1-1.4q0-.7.1-1.3v-2.3q0-.7-.3-1.6.2-.5.1-.9-.1-.5-.1-2.4l-.1-.5v-.2q.1-.1.1-.2l-.2-1.6.1-1.4v-1.9l-.3-3.5v-.8-.1-1.8-.1l-.1-.2q0-.1.1-.2v-.2q0-.1 0-.3 0-.2-.1-.6 0-.4 0-.8-.1-1.5.1-2 .2-.7.2-1.1l-.2-1.1q0-.5-.1-1v-1.6q0-.1 0-.1h-.1v-.3l.1-.1q-.2-1.5 0-3.2v-3.5l.4-1q0 0 .6-.3.6-.3.8-.4l.2-.1q1.2 0 1.9.1h1.2q.1.1.4.1 0-.2.2-.2.6.5 2.8.3h1.8q1-.1 1.8-.1.8 0 1.2 0 .3 0 .3-.1l.6.2h.2q.6.3.3 1.6v.4 3.5q-.2 2.3-.2 4.3v8.3l.1.3 0 1.1.1 2.9-.1 3v2.6q-.2 2.5 0 5.5l.1 3.1q-.1 0-.1 1l.1 1.1v1q.3.3.3.7l-.1 1v3.6l-.2.7v1l.2.8-.2 4.3v1.3l-.1 2.9-.1 1.6q.1.1.1.3v.1l-.1.1.2.7-.1 1.1v6q0 1.2-.1 2zm60.1-39.4l1.2 4.2q1.2 4.3 1.2 4.4l.1.5.4 1 .5.9v.6l.3 1.7q.3.2.3.3l.1.8q.5.9.5 1l.3 1.6q.1.1.3.7.2.5.3.7l.4 1.8.1.3.4 1.3q0 .1.3 1.6.3 1.4.9 3.5.5 2.2 1.1 4.3l.8 3.6.4 2 .3.9v.6q.3.2.3.4l.4 1.8q.2.6.2.9l.2.9.5 1q0 .4-.3.8-.3.3-.7.3-.3.1-.4-.1-.3-.3-.4-.3l-1.2-.1q-1.2-.1-1.3.2-.4-.1-.6-.1-.2 0-.3 0-.1.1-.2.1h-2.3q-2.2 0-2.7-.2-.3.2-1.2 0-.4.1-1.4.1l-1.3-.1q-1.3.2-1.5-.2l-.3-.6-.4-1.4-1.2-5.9q0-1.4-.7-2.9 0-1.7-.4-2.2 0-1.8-.2-1.8h-.7q-1.3-.5-2.2 0-1.8-.1-4.6.1-3.2.2-4.9 0-1.1.3-2.2.1-1 0-1.7-.1-.7 0-.8 0-.1-.1-.6 0-.3.1-.6 0-.2-.1-.2 0-.2.3-.4.1-.1-.2-.3-.1 0 .2-.2.8v.1q-.2.2-.3.7-.2.5-.3.7l-.3 1-.5 1.7q0 .1-.2.8-.2.7-.3.9l-.2 1.1q-.7.8-.7 1.8-.1 1-.4 1.2l-.7 3.2q-.2.2-.2.3l-.2.4-.6.5q-.5 0-1-.2 0 0-.5.1-.5 0-1.4 0-.8.1-1.5.2h-1q-.6.1-1.2.1l-.2.1-.5-.2-1.1.1q-.1.1-.2 0-.1 0-.3 0-.2-.1-.3-.1h-1.2q-.3.2-2.2 0h-.3q-.2.1-.5 0-.2 0-.3 0-.5-1.2.5-2.8v-.5q.7-2 .7-3.1l.5-1 .5-1.1v-.7l.3-.5.4-1.1.6-2q.6-1.7.9-2.3 0-.5.5-2.3.6-2 .7-2.2l.3-1.2.4-1.1.3-.8v-.3l.3-1.2q.4-.9.4-1.1.3-.9.5-1.4l.4-1.3q.4-2.1 1-3v-.9h.2l.1-.7v-.6l1.2-3q-.1-.4.1-1.1l.2-.7.8-1.4q0-.1.3-1.4v-.6q.1-.5.4-.7l.1-.7.2-.2v-.4q.4-1.5 1-2.5v-.7l.6-1.1q0-.6.1-.7l.2-1.4.3-.2.2-.5v-.8l.6-1.5.4-.9.3-1.3q.3-.8.6-1.1l.1-.9.3-.3q.1-.5.4-1.4.3-.9.5-1.3.3-.5.7-1.8.4-1.4.9-1.9-.1-.5.3-1.1l.2-1.2q.7-.9.7-.9v-.9q.2 0 .2-.3v-.4l.5-.9.7-1.7.1-.5q.2-.2.2-.4l.4-1.1q.1-.1.1-.1h1.1l1.3-.1.9.1 1.8-.3q.8 0 1.4-.1h2.5q.5 0 .6-.1 1.9.2 3.5.2h.4l.4-.1q.7.6.8.6 0 .2.4 1.1.4.8.2 1.4l1.7 6q-.2.4.5 1.8v.8l.3.7v.4l.2.1v.4q0 .1 0 .3.1.2.2.6 0 .4.2 1 .1 1.1.4 1.4l.1 1.5.3.8.1 1.3q.5.9.5 1.9l.3.2v.4q.2.3.2.4v.9q.5 1.1.5 1.1v.4q0 .3.3.9 0 .5.5 2.2.2.2.2.3zm-22.5 12v.5l-.4.5v.5q0 .2-.2.8-.2.5 0 .9-.3.6-.3 1.4h10q1.5.3 1.6.3h2q.1-.2 0-.3 0-.1-.1-.4-.2-.3-.2-.8 0-.8-.5-2.3l-.4-2.2q-.3-.4-.3-1.2-.7-1.6-.9-2.6-.3-.4-.5-.9-.1-.5-.1-.8-.1-.3-.2-.3-.2-.1-.1-.3.1-.6-.5-2.3-.2-.3-.5-1.7l-.2-1.5-.5-1.5q-.2-.3-.5-1.6l-.8-3.4h-.1q0 .1-.1.1 0 .1 0 .1l-.4 1.2q-.5.8-.5 1.8-.4.4-.7 2.5-.6 1.5-.4 2.1l-.7 1.4v.8l-.8 1.1q.1.2-.2.8v.4l-.3.6q0 .2-.3.8v.4q-.2.4-.2.6l-.6 1-.7 2.6q-.1.1-.2.5-.1.3-.2.4z'/%3E%3C/svg%3E");
}

/* ==========================================================================
   @keyframes – wspólne animacje KV (prefiks psr-). Każde użycie musi mieć
   wyłącznik w @media (prefers-reduced-motion: reduce) – globalny jest w 01-baza.css.
   ========================================================================== */
@keyframes psr-pop-in { from { scale: 0.5; translate: 0 50px; } to { scale: 1; translate: 0 0; } }
@keyframes psr-pet-in { from { transform: translateY(60%) scale(0.75) rotate(-6deg); } to { transform: none; } }
@keyframes psr-bubble-in { from { scale: 0; } to { scale: 1; } }
@keyframes psr-bump { 0% { scale: 1; } 40% { scale: 1.3; rotate: -10deg; } 100% { scale: 1; rotate: 0deg; } }
@keyframes psr-heart-beat { 0% { scale: 0.4; } 100% { scale: 1; } }
@keyframes psr-ping { 0% { box-shadow: 0 0 0 0 rgba(51, 140, 142, 0.6); } 100% { box-shadow: 0 0 0 10px rgba(51, 140, 142, 0); } }
@keyframes psr-ping-coral { 0% { box-shadow: 0 0 0 0 rgba(220, 85, 90, 0.6); } 100% { box-shadow: 0 0 0 10px rgba(220, 85, 90, 0); } }
@keyframes psr-ping-lime { 0% { box-shadow: 0 0 0 0 rgba(217, 226, 73, 0.75); } 100% { box-shadow: 0 0 0 12px rgba(217, 226, 73, 0); } }
@keyframes psr-ping-white { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); } 100% { box-shadow: 0 0 0 16px rgba(255, 255, 255, 0); } }
@keyframes psr-rise { from { translate: 0 40px; scale: 0.96; } to { translate: 0 0; scale: 1; } }
@keyframes psr-in { from { opacity: 0; scale: 0.94; translate: 0 8px; } to { opacity: 1; scale: 1; translate: 0 0; } }
@keyframes psr-fade-up { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
@keyframes psr-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes psr-wiggle { 0%, 100% { rotate: 0deg; } 20% { rotate: -9deg; } 45% { rotate: 7deg; } 70% { rotate: -4deg; } 85% { rotate: 2deg; } }
@keyframes psr-shake { 0%, 100% { translate: 0 0; } 20% { translate: -7px 0; } 40% { translate: 6px 0; } 60% { translate: -4px 0; } 80% { translate: 2px 0; } }
@keyframes psr-drift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(5%, -6%) scale(1.1); } 100% { transform: translate(-4%, 5%) scale(0.94); } }
@keyframes psr-float-y { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes psr-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes psr-twinkle { 0%, 100% { scale: 1; rotate: 0deg; opacity: 1; } 50% { scale: 1.2; rotate: 15deg; opacity: 0.8; } }
@keyframes psr-morph { 0%, 100% { border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%; } 50% { border-radius: 56% 44% 42% 58% / 52% 58% 42% 48%; } }
@keyframes psr-hill {
  0%, 100% { border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%; rotate: 0deg; translate: 0 0; }
  33% { border-radius: 58% 42% 40% 60% / 55% 60% 40% 45%; rotate: 7deg; translate: 3% -4%; }
  66% { border-radius: 45% 55% 62% 38% / 38% 52% 48% 62%; rotate: -6deg; translate: -3% 2%; }
}
@keyframes psr-draw { to { stroke-dashoffset: 0; } }
/* fala przesuwa się o szerokość kafla (--psr-fala-kafel, domyślnie 720 px) */
@keyframes psr-fala { to { -webkit-mask-position: var(--psr-fala-kafel, 720px) 100%; mask-position: var(--psr-fala-kafel, 720px) 100%; } }
@keyframes psr-marquee { to { transform: translateX(-25%); } }
@keyframes psr-fly { 0% { transform: translate(0, 0) scale(0.2) rotate(0deg); opacity: 1; } 60% { opacity: 1; } 100% { transform: translate(var(--dx, 0), var(--dy, 0)) scale(1) rotate(var(--rot, 0deg)); opacity: 0; } }
@keyframes psr-paw-bg { 0% { opacity: 0; scale: 0.6; } 12% { opacity: 0.45; scale: 1; } 70% { opacity: 0.45; } 100% { opacity: 0; } }
@keyframes psr-walk { 0% { opacity: 0; scale: 0.6; } 6% { opacity: 0.6; scale: 1; } 40% { opacity: 0.6; } 60%, 100% { opacity: 0; } }
@keyframes psr-ch-in { from { transform: translateY(0.7em) rotate(-16deg) scale(0.4); } to { transform: none; } }
@keyframes psr-ch-wave { 0%, 100% { transform: none; } 40% { transform: translateY(-0.16em) rotate(-5deg); } }
/* ślad łapek w przycisku „w trakcie” (3 maski 18 px gasną po kolei) */
@keyframes psr-lapki {
  0%, 88%, 100% { -webkit-mask-size: 18px 18px, 18px 18px, 18px 18px; mask-size: 18px 18px, 18px 18px, 18px 18px; }
  20% { -webkit-mask-size: 0 0, 18px 18px, 18px 18px; mask-size: 0 0, 18px 18px, 18px 18px; }
  34% { -webkit-mask-size: 0 0, 0 0, 18px 18px; mask-size: 0 0, 0 0, 18px 18px; }
  48% { -webkit-mask-size: 0 0, 0 0, 0 0; mask-size: 0 0, 0 0, 0 0; }
  62% { -webkit-mask-size: 18px 18px, 0 0, 0 0; mask-size: 18px 18px, 0 0, 0 0; }
  75% { -webkit-mask-size: 18px 18px, 18px 18px, 0 0; mask-size: 18px 18px, 18px 18px, 0 0; }
}
/* okna (KV „Pop-upy”) – do użycia w 60-okna.css */
@keyframes psr-ov-pop { from { opacity: 0; scale: 0.86; translate: 0 28px; } to { opacity: 1; scale: 1; translate: 0 0; } }
@keyframes psr-ov-sheet { from { translate: 0 100%; } to { translate: 0 0; } }
@keyframes psr-ov-slide { from { translate: 100% 0; } to { translate: 0 0; } }
@keyframes psr-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes psr-spin { to { rotate: 360deg; } }

/* tło zdjęć produktów (kafelki, karta produktu) – jaśniejsze niż stone-8/stone-20 z KV na prośbę właściciela (24.09.2026):
   packshoty JPG na białym tle (multiply) przyjmują kolor tła, więc szarość była zbyt widoczna */
:root {
  --psr-foto-tlo: #f9fbfb;
  --psr-foto-pagorek: #eff3f3;
}

/* ----- 01-baza.css ----- */
/* ==========================================================================
   01-baza.css – FUNDAMENT: tło, typografia globalna, linki, zaznaczenie, fokus,
   nagłówki widgetów, treści z edytora (.content-edit), reset bloków .psr-blok,
   wjazd przy przewijaniu, ograniczenie ruchu.
   html ma 15 px (= 1rem) i tak zostaje – szablon liczy menu i nagłówki w rem.
   Wszystkie rozmiary KV piszemy w px.
   ========================================================================== */

/* ---------- 1. Strona i tekst ---------- */
html {
  font-synthesis: none;              /* MrDodo ma tylko Regular – bez sztucznych pogrubień i pochyleń */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;                  /* siatka bezpieczeństwa jak w KV (pełnoekranowe sekcje z 100vw) */
  scroll-behavior: smooth;
}
/* html body (0,0,2) – bije też przeciek z bloku marek SsL…: body { color: #2f241b } w <body> */
html body {
  background-color: var(--psr-white);
  color: var(--psr-ink);
  font-family: var(--psr-font);
  font-size: var(--psr-fs-body);
  font-weight: 400;
  line-height: 1.6;
}

/* jedna odmiana fontu: 400 wszędzie, gdzie szablon lub przeglądarka dają 500–800 */
b, strong, th, dt, legend, label, optgroup, caption, h1, h2, h3, h4, h5, h6, button, input, select, textarea,
.content-edit .widget-content :is(b, strong),
.custom .widget-content :is(b, strong),
.tab-content > .tab-pane :is(b, strong),
.logo :is(b, strong),
.max-discount-exceeded-info {
  font-weight: 400;
}
/* Veneer Two (drugi font szablonu w .content-edit h1–h3) wyłączony */
.content-edit .widget-content h1, .content-edit .widget-content h2, .content-edit .widget-content h3 {
  font-family: var(--psr-font);
}

/* ---------- 2. Linki ---------- */
/* mięta 100 na bieli ma 2,1:1 – linki w głębokiej mięcie (4:1), najechanie nocna mięta */
a {
  color: var(--psr-mint-deep);
  text-decoration: none;
}
a:hover, a:focus {
  color: var(--psr-night);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

/* linki w starych blokach i danych kontaktowych (szablon: mięta 100, 2,1:1) – bloki .psr-blok mają własny reset niżej */
.custom .widget-content a, .contact-data a {
  color: var(--psr-mint-deep);
}
.custom .widget-content a:hover, .custom .widget-content a:focus, .contact-data a:hover, .contact-data a:focus {
  color: var(--psr-night);
}

/* ---------- 3. Zaznaczenie – limonkowy zakreślacz jak .mark w KV ---------- */
::selection, p::selection {
  background-color: var(--psr-lime);
  color: var(--psr-night);
}

/* ---------- 4. Fokus widoczny (KV: 3 px, odstęp 4 px; nocna mięta na jasnym, biel na kolorze) ---------- */
:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 4px;
}
/* szablon zeruje outline na button/input i na przyciskach widgetów, okien i ciasteczek – przywracamy dla klawiatury */
:is(a, button, summary, [tabindex], [role="button"]):focus-visible,
.widget button:focus-visible, .modal button:focus-visible, .cookies button:focus-visible,
.basket-user-actions button:focus-visible, .order-payment-dotpay button:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 4px;
}
:focus:not(:focus-visible) {
  outline: none;
}

/* ---------- 5. Narzędzia ---------- */
/* tekst tylko dla czytników ekranu */
.psr-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
/* akcent: jedno słowo małymi literami – liliowy głęboki na jasnym, limonka na kolorze (--psr-accent) */
.lc {
  text-transform: none;
  color: var(--psr-accent, var(--psr-lilac-deep));
}
/* w nagłówkach platformy (tytuły pisane w panelu wersalikami) skrypt owija ostatnie słowo w .lc */
.widget-header .lc {
  text-transform: lowercase;
}

/* ---------- 6. Nagłówki widgetów platformy (.widget-header h4 / h1 kategorii) ---------- */
/* styl KV „Nagłówek 2”: wersaliki, nocna mięta, akcent .lc; bez stopki (moduł stopki) i drzewa kategorii (moduł listingu) */
.widget:where(:not(footer *, .category-list)) .widget-header {
  margin-bottom: 20px;
  color: var(--psr-night);
  text-transform: uppercase;
}
.widget:where(:not(footer *, .category-list)) .widget-header :is(h1, h4) {
  padding: 6px 0 0;
  font-size: var(--psr-fs-h2);
  line-height: 1.05;
}
/* wąskie kolumny (panel boczny, dane kontaktowe obok formularza) – mniejszy stopień */
:where(.col-sm-2, .col-sm-3, .col-sm-4) > .widget:where(:not(footer *, .category-list)) .widget-header :is(h1, h4) {
  font-size: 26px;
  line-height: 1.1;
}

/* ---------- 7. Treści z edytora (.content-edit): regulamin, polityka, sklep, dostawcy, strona główna ---------- */
.content-edit .widget-content {
  color: var(--psr-ink);
  font-size: var(--psr-fs-body);
  line-height: 1.6;
  word-break: normal;
  overflow-wrap: break-word;
}
/* !important celowo: wklejki z Worda mają inline font-family (Times, Arial, Verdana) – jeden font marki */
.content-edit .widget-content * {
  font-family: inherit !important;
}
.content-edit .widget-content :is(h1, h2, h3, h4, h5, h6) {
  margin: 1.3em 0 0.5em;
  padding: 0;
  color: var(--psr-night);
  line-height: 1.1;
}
.content-edit .widget-content > :first-child { margin-top: 0; }
.content-edit .widget-content h1 { font-size: var(--psr-fs-h1); line-height: 1; text-transform: uppercase; }
.content-edit .widget-content h2 { font-size: var(--psr-fs-h2); line-height: 1.05; text-transform: uppercase; }
.content-edit .widget-content h3 { font-size: clamp(24px, 2.4vw, 30px); }
/* h4 jak nagłówek kafla zasady KV: 20+ px z kolorową kropką */
.content-edit .widget-content h4 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
}
.content-edit .widget-content h4::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--psr-mint);
}
.content-edit .widget-content h5 { font-size: 19px; }
.content-edit .widget-content h6 {
  font-size: var(--psr-fs-label);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--psr-muted);
}
.content-edit .widget-content p {
  margin: 0 0 14px;
}
.content-edit .widget-content :is(b, strong) {
  color: var(--psr-night);
}
/* linki w treści: nocna mięta z miętowym podkreśleniem 2 px */
.content-edit .widget-content a {
  color: var(--psr-night);
  text-decoration: underline;
  text-decoration-color: var(--psr-mint);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
  transition: color var(--psr-t-fast) ease, text-decoration-color var(--psr-t-fast) ease;
}
.content-edit .widget-content a:hover, .content-edit .widget-content a:focus {
  color: var(--psr-mint-deep);
  text-decoration-color: currentColor;
}
/* listy: serduszka (ul) i numery w miętowych kółkach (ol) */
.content-edit .widget-content ul, .content-edit .widget-content ol {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}
.content-edit .widget-content li {
  position: relative;
  margin: 6px 0;
}
.content-edit .widget-content ul > li {
  padding-left: 28px;
}
.content-edit .widget-content ul > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.4em;
  width: 16px;
  height: 16px;
  background: var(--psr-mint-deep);
  -webkit-mask: var(--psr-d-heart) center / contain no-repeat;
  mask: var(--psr-d-heart) center / contain no-repeat;
}
.content-edit .widget-content ol {
  counter-reset: psr-ol;
}
.content-edit .widget-content ol > li {
  counter-increment: psr-ol;
  min-height: 28px;
  padding-left: 40px;
}
.content-edit .widget-content ol > li::before {
  content: counter(psr-ol);
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 15px;
  line-height: 28px;
  text-align: center;
}
/* tabele bez kratki – miękkie wiersze KV (.soft-table) */
.content-edit .widget-content table {
  width: 100%;
  max-width: 100%;
  margin: 8px 0 18px;
  border-collapse: separate;
  border-spacing: 0 6px;
  table-layout: auto;
  font-size: 16px;
}
.content-edit .widget-content th, .content-edit .widget-content td {
  border: 0;
  word-break: normal;
  overflow-wrap: break-word;
}
.content-edit .widget-content th {
  padding: 0 14px 4px;
  background: none;
  color: var(--psr-muted);
  font-size: var(--psr-fs-label);
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}
.content-edit .widget-content td {
  padding: 10px 14px;
  background: var(--psr-mint-8);
  color: var(--psr-ink);
  vertical-align: middle;
}
.content-edit .widget-content td:first-child { border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row); }
.content-edit .widget-content td:last-child { border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0; }
.content-edit .widget-content td:only-child { border-radius: var(--psr-radius-row); }
.content-edit .widget-content img {
  max-width: 100%;
  height: auto;
  border-radius: var(--psr-radius-tile);
}
.content-edit .widget-content hr {
  height: 2px;
  margin: 24px 0;
  border: 0;
  border-radius: 2px;
  background: var(--psr-stone-8);
}
.content-edit .widget-content blockquote {
  margin: 0 0 16px;
  padding: 16px 22px;
  border-radius: 22px;
  background: var(--psr-mint-8);
  color: var(--psr-night);
}
@media (max-width: 767px) {
  /* szerokie tabele (formularze do druku) przewijają się w sobie, a nie całą stronę */
  .content-edit .widget-content table {
    display: block;
    overflow-x: auto;
  }
}
@media print {
  .content-edit .widget-content td { background: none; border: 1px solid #d6d6d6; border-radius: 0; }
}

/* ---------- 8. Reset treści nowych bloków: <div class="psr-blok …"> w bloku custom ----------
   Szablon stylizuje całą treść bloków: .custom .widget-content h1–h6 / p / ul / a / table (0,2,1),
   p:after (0,2,2), a:hover (0,3,1), .widget button (0,1,1). Reset ma tę samą specyficzność i stoi później.
   Własne reguły bloku: co najmniej (0,3,0), np. `.psr-blok.psr-hero .psr-hero-title`, albo id. */
.custom .psr-blok {
  word-break: normal;
  overflow-wrap: break-word;
}
.custom .psr-blok :is(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
.custom .psr-blok :is(p, ul, ol, dl, dd, figure, blockquote) {
  margin: 0;
}
.custom .psr-blok :is(ul, ol) {
  padding: 0;
  list-style: none;
}
.custom .psr-blok p::after {
  content: none;
}
/* linki: kolor z --psr-a-kolor (domyślnie kolor rodzica), bez podkreślenia; ten sam kolor po najechaniu */
.custom .psr-blok a {
  color: var(--psr-a-kolor, currentColor);
  text-decoration: none;
}
.custom .psr-blok a:is(:hover, :focus) {
  color: var(--psr-a-kolor-hover, var(--psr-a-kolor, currentColor));
  text-decoration: none;
}
.blue-container .custom .psr-blok a {
  color: var(--psr-a-kolor, currentColor);
}
.blue-container .custom .psr-blok a:is(:hover, :focus) {
  color: var(--psr-a-kolor-hover, var(--psr-a-kolor, currentColor));
}
.custom .psr-blok table {
  width: auto;
  margin: 0;
  table-layout: auto;
}
.custom .psr-blok :is(th, td) {
  padding: 0;
  border: 0;
  word-break: normal;
}
/* .widget button (mięta, max 120 px, margin-left:auto) nie dotyczy przycisków w blokach */
.custom .psr-blok button {
  display: inline-block;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: inherit;
  cursor: pointer;
  transition: none;
}
.custom .psr-blok img {
  max-width: 100%;
  height: auto;
}
.custom .psr-blok :focus-visible:not(input, textarea, select) {
  outline: 3px solid var(--psr-focus);
  outline-offset: 4px;
}

/* ---------- 9. Wjazd przy przewijaniu (KV „rise”) – sam CSS, Chrome/Edge 115+, Safari 26+ ----------
   Klasa dla bloków i kart. Nie dawać na elementy z własnym translate/scale na hover
   (animacja z fill-mode both nadpisuje translate). */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .psr-wjazd {
      animation: psr-rise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 60%;
    }
  }
}

/* rysowana kreska (podkreślenie, szlaczek): <svg class="psr-rysuj"><path …/></svg> */
.psr-rysuj :is(path, line, polyline) {
  stroke-dasharray: 320;
  stroke-dashoffset: 320;
  animation: psr-draw 1.1s var(--psr-smooth) var(--psr-d, 0.8s) forwards;
}

/* ---------- 10. Ograniczony ruch – na końcu arkusza bazy, jak w KV ---------- */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  /* !important celowo: wyłącznik musi pokonać każdą animację – też klasy dodawane skryptami
     (bootstrap-notify „animated”, knockout) i style inline */
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  .psr-rysuj :is(path, line, polyline) {
    stroke-dashoffset: 0;
  }
}

/* ----- 02-przyciski.css ----- */
/* ==========================================================================
   02-przyciski.css – FUNDAMENT: wygląd przycisków KV („Przyciski z podeszwą”, P1–P5, P8, P10)
   dla WSZYSTKICH przycisków platformy + klasy .psr-btn* dla bloków + licznik ilości .quantity-change.
   Tylko wygląd i stany (kolor, podeszwa, ruch, fokus, nieaktywny). Szerokość i położenie
   zostają po stronie szablonu i modułów.
   Mapowanie kolorów: główne CTA (do koszyka, dalej) = mięta głęboka; zapytanie / powiadom = liliowy;
   drugorzędne (zamknij, wstecz, kontynuuj) = biały z podeszwą #C9D8D8; pozostałe akcje = nocna mięta;
   promocja = koral (tylko .psr-btn--coral).
   ========================================================================== */

/* ---------- 1. Przyciski platformy + .psr-btn: wspólny wygląd KV (pastylka z ostrą podeszwą) ----------
   Selektory (kolejno):
   • .widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *) – (0,2,1) każdy przycisk w widgecie – szablon L1371 .widget button (0,1,1)
   • .modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *) – (0,2,1) przyciski okien – szablon L1086 .modal button (0,1,1), L1204 .modal-footer .btn-close-modal (0,2,0)
   • .cookies button – (0,1,1) pasek ciasteczek: Ok, rozumiem / Ustawienia – L1321
   • button.btn-add-to-cart – (0,1,1) Do koszyka – L3537
   • .btn-variant-add-to-cart – okno wariantów
   • .btn-units-add-to-cart – okno jednostek
   • .btn-primary – (0,1,0) Tak (potwierdzenie), Przelicz – L992
   • .btn-success – OK (informacja w koszyku)
   • .btn-send-letter – Wyślij (zapytanie o produkt)
   • .btn-send-message – Wyślij (formularz kontaktowy)
   • .btn-post-opinion – Dodaj opinię
   • .btn-close-modal – Zamknij / Nie / Anuluj – L1218
   • .btn-checkout – Zamówienie / Dalej – L1702
   • .btn-return – Wstecz
   • .btn-shopping-continue – Kontynuuj zakupy
   • .btn-search-delivery-points – wyszukiwanie punktów odbioru
   • .basket-user-actions .basket-user-login button – (0,2,1) /Order: Zaloguj – L1918
   • .basket-user-actions .basket-user-register button – (0,2,1) /Order: Zarejestruj
   • .basket-user-actions .basket-user-order-proceed > button – (0,2,1) /Order: Zakupy bez rejestracji – L1940
   • .order-payment-dotpay button[type="submit"] – (0,2,1) płatność – L1946
   • .discount-code-form .btn-discount-code – (0,2,0) kod rabatowy: Przelicz – L2141
   • .basket-area-empty a – (0,1,1) pusty koszyk: Rozpocznij zakupy – L1509
   • a.letter-of-enquiry:not(:empty) – (0,2,1) Zapytaj o produkt – L3600 (pusty zostaje ukryty przez szablon)
   • .pagination .btn – (0,2,0) paginacja: Idź – L1471
   • .cart .widget-content .cart-tooltip a.cart-tooltip-props-btn – (0,4,1) przycisk w dymku koszyka – L4373
   • :root body .psr-btn – (0,2,1) klasa dla bloków
   Kolor i rozmiar sterowane zmiennymi (ustawiają je warianty niżej, moduły mogą je nadpisać):
   --psr-btn-bg, --psr-btn-fg, --psr-btn-sole, --psr-btn-h, --psr-btn-px, --psr-btn-fs, --psr-btn-sole-h.
   Szerokości i położenia NIE ustawiamy (zostaje układ szablonu / modułów) – wyjątek: zdjęte max-width:120px. */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *),
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *),
.cookies button,
button.btn-add-to-cart,
.btn-variant-add-to-cart,
.btn-units-add-to-cart,
.btn-primary,
.btn-success,
.btn-send-letter,
.btn-send-message,
.btn-post-opinion,
.btn-close-modal,
.btn-checkout,
.btn-return,
.btn-shopping-continue,
.btn-search-delivery-points,
.basket-user-actions .basket-user-login button,
.basket-user-actions .basket-user-register button,
.basket-user-actions .basket-user-order-proceed > button,
.order-payment-dotpay button[type="submit"],
.discount-code-form .btn-discount-code,
.basket-area-empty a,
a.letter-of-enquiry:not(:empty),
.pagination .btn,
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn,
:root body .psr-btn {
  min-height: var(--psr-btn-h, 52px);
  padding: 10px var(--psr-btn-px, 26px);
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-btn-bg, var(--psr-night));
  color: var(--psr-btn-fg, var(--psr-white));
  box-shadow: 0 var(--psr-btn-sole-h, 4px) 0 var(--psr-btn-sole, var(--psr-sole-night));
  font-family: var(--psr-font);
  font-size: var(--psr-btn-fs, 18px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.01em;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
}
/* szablon zmienia tło na :hover/:focus (#41a8aa, #bcbcbc) – kolor wariantu zostaje we wszystkich stanach */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *):is(:hover, :focus, :active),
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *):is(:hover, :focus, :active),
.cookies button:is(:hover, :focus, :active),
button.btn-add-to-cart:is(:hover, :focus, :active),
.btn-variant-add-to-cart:is(:hover, :focus, :active),
.btn-units-add-to-cart:is(:hover, :focus, :active),
.btn-primary:is(:hover, :focus, :active),
.btn-success:is(:hover, :focus, :active),
.btn-send-letter:is(:hover, :focus, :active),
.btn-send-message:is(:hover, :focus, :active),
.btn-post-opinion:is(:hover, :focus, :active),
.btn-close-modal:is(:hover, :focus, :active),
.btn-checkout:is(:hover, :focus, :active),
.btn-return:is(:hover, :focus, :active),
.btn-shopping-continue:is(:hover, :focus, :active),
.btn-search-delivery-points:is(:hover, :focus, :active),
.basket-user-actions .basket-user-login button:is(:hover, :focus, :active),
.basket-user-actions .basket-user-register button:is(:hover, :focus, :active),
.basket-user-actions .basket-user-order-proceed > button:is(:hover, :focus, :active),
.order-payment-dotpay button[type="submit"]:is(:hover, :focus, :active),
.discount-code-form .btn-discount-code:is(:hover, :focus, :active),
.basket-area-empty a:is(:hover, :focus, :active),
a.letter-of-enquiry:not(:empty):is(:hover, :focus, :active),
.pagination .btn:is(:hover, :focus, :active),
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:is(:hover, :focus, :active),
:root body .psr-btn:is(:hover, :focus, :active) {
  background: var(--psr-btn-bg, var(--psr-night));
  color: var(--psr-btn-fg, var(--psr-white));
  text-decoration: none;
}
/* najechanie: unosi się o 3 px, podeszwa rośnie do 7 px (dół zostaje w miejscu) */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *):hover,
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *):hover,
.cookies button:hover,
button.btn-add-to-cart:hover,
.btn-variant-add-to-cart:hover,
.btn-units-add-to-cart:hover,
.btn-primary:hover,
.btn-success:hover,
.btn-send-letter:hover,
.btn-send-message:hover,
.btn-post-opinion:hover,
.btn-close-modal:hover,
.btn-checkout:hover,
.btn-return:hover,
.btn-shopping-continue:hover,
.btn-search-delivery-points:hover,
.basket-user-actions .basket-user-login button:hover,
.basket-user-actions .basket-user-register button:hover,
.basket-user-actions .basket-user-order-proceed > button:hover,
.order-payment-dotpay button[type="submit"]:hover,
.discount-code-form .btn-discount-code:hover,
.basket-area-empty a:hover,
a.letter-of-enquiry:not(:empty):hover,
.pagination .btn:hover,
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:hover,
:root body .psr-btn:hover {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-btn-sole, var(--psr-sole-night));
}
/* wciśnięty: w dół o 3 px, podeszwa prawie znika */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *):active,
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *):active,
.cookies button:active,
button.btn-add-to-cart:active,
.btn-variant-add-to-cart:active,
.btn-units-add-to-cart:active,
.btn-primary:active,
.btn-success:active,
.btn-send-letter:active,
.btn-send-message:active,
.btn-post-opinion:active,
.btn-close-modal:active,
.btn-checkout:active,
.btn-return:active,
.btn-shopping-continue:active,
.btn-search-delivery-points:active,
.basket-user-actions .basket-user-login button:active,
.basket-user-actions .basket-user-register button:active,
.basket-user-actions .basket-user-order-proceed > button:active,
.order-payment-dotpay button[type="submit"]:active,
.discount-code-form .btn-discount-code:active,
.basket-area-empty a:active,
a.letter-of-enquiry:not(:empty):active,
.pagination .btn:active,
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:active,
:root body .psr-btn:active {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-btn-sole, var(--psr-sole-night));
}
/* fokus z klawiatury: obrys 3 px (nocna mięta / biel na kolorze – --psr-focus) */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *):focus-visible,
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *):focus-visible,
.cookies button:focus-visible,
button.btn-add-to-cart:focus-visible,
.btn-variant-add-to-cart:focus-visible,
.btn-units-add-to-cart:focus-visible,
.btn-primary:focus-visible,
.btn-success:focus-visible,
.btn-send-letter:focus-visible,
.btn-send-message:focus-visible,
.btn-post-opinion:focus-visible,
.btn-close-modal:focus-visible,
.btn-checkout:focus-visible,
.btn-return:focus-visible,
.btn-shopping-continue:focus-visible,
.btn-search-delivery-points:focus-visible,
.basket-user-actions .basket-user-login button:focus-visible,
.basket-user-actions .basket-user-register button:focus-visible,
.basket-user-actions .basket-user-order-proceed > button:focus-visible,
.order-payment-dotpay button[type="submit"]:focus-visible,
.discount-code-form .btn-discount-code:focus-visible,
.basket-area-empty a:focus-visible,
a.letter-of-enquiry:not(:empty):focus-visible,
.pagination .btn:focus-visible,
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:focus-visible,
:root body .psr-btn:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 4px;
}
/* nieaktywny: szary, bez ruchu (stoi po :hover/:active, więc wygrywa) */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *):is(:disabled, [aria-disabled="true"], .is-disabled),
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *):is(:disabled, [aria-disabled="true"], .is-disabled),
.cookies button:is(:disabled, [aria-disabled="true"], .is-disabled),
button.btn-add-to-cart:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-variant-add-to-cart:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-units-add-to-cart:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-primary:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-success:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-send-letter:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-send-message:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-post-opinion:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-close-modal:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-checkout:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-return:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-shopping-continue:is(:disabled, [aria-disabled="true"], .is-disabled),
.btn-search-delivery-points:is(:disabled, [aria-disabled="true"], .is-disabled),
.basket-user-actions .basket-user-login button:is(:disabled, [aria-disabled="true"], .is-disabled),
.basket-user-actions .basket-user-register button:is(:disabled, [aria-disabled="true"], .is-disabled),
.basket-user-actions .basket-user-order-proceed > button:is(:disabled, [aria-disabled="true"], .is-disabled),
.order-payment-dotpay button[type="submit"]:is(:disabled, [aria-disabled="true"], .is-disabled),
.discount-code-form .btn-discount-code:is(:disabled, [aria-disabled="true"], .is-disabled),
.basket-area-empty a:is(:disabled, [aria-disabled="true"], .is-disabled),
a.letter-of-enquiry:not(:empty):is(:disabled, [aria-disabled="true"], .is-disabled),
.pagination .btn:is(:disabled, [aria-disabled="true"], .is-disabled),
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn:is(:disabled, [aria-disabled="true"], .is-disabled),
:root body .psr-btn:is(:disabled, [aria-disabled="true"], .is-disabled) {
  background: var(--psr-off-bg);
  color: var(--psr-off-fg);
  box-shadow: 0 3px 0 var(--psr-sole-off);
  translate: none;
  cursor: not-allowed;
}

/* ciasne ograniczenia szablonu (max-width:120px, sztywna wysokość) ucinają napis w stylu KV */
.widget button:not(.navbar-toggle, .btn-search, .btn-plus, .btn-minus, .remove-item-from-basket, .close, .widget-newsletter *, .pagination *, .psr-blok *) {
  width: auto;
  max-width: none;
}
.modal button:not(.close, .btn-plus, .btn-minus, .psr-blok *) {
  max-width: none;
}
button.btn-add-to-cart,
a.letter-of-enquiry:not(:empty),
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn {
  height: auto;
  max-width: none;
  overflow: visible;
}
a.letter-of-enquiry:not(:empty) {
  line-height: 1.1;
}

/* ---------- 2. Warianty kolorów (tylko zmienne – bez walki ze specyficznością) ---------- */
/* główne CTA: mięta głęboka + podeszwa #226668 (KV „Do koszyka”) */
button.btn-add-to-cart,
.btn-variant-add-to-cart,
.btn-units-add-to-cart,
.btn-checkout,
.basket-user-actions .basket-user-order-proceed > button,
.order-payment-dotpay button[type="submit"],
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn,
.psr-btn--mint {
  --psr-btn-bg: var(--psr-mint-deep);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-mint);
}
/* zapytanie / powiadom: liliowy głęboki + podeszwa #774A88 */
.btn-send-letter,
a.letter-of-enquiry,
.psr-btn--lilac {
  --psr-btn-bg: var(--psr-lilac-deep);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-lilac);
}
/* drugorzędne: biel + nocna mięta + pełna podeszwa #C9D8D8 */
.btn-close-modal,
.btn-return,
.btn-shopping-continue,
.btn-properties,
.basket-user-actions .basket-user-login button,
.basket-user-actions .basket-user-register button,
.psr-btn--white {
  --psr-btn-bg: var(--psr-white);
  --psr-btn-fg: var(--psr-night);
  --psr-btn-sole: var(--psr-sole-white);
}
/* nocna mięta – domyślny (przycisk „Główny” KV): Wyślij, Tak, OK, Przelicz, Ok rozumiem, Dodaj opinię */
.psr-btn--night {
  --psr-btn-bg: var(--psr-night);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-night);
}
/* limonka – na ciemnym tle, nowości; napis zawsze nocną miętą */
.psr-btn--lime {
  --psr-btn-bg: var(--psr-lime);
  --psr-btn-fg: var(--psr-night);
  --psr-btn-sole: var(--psr-sole-lime);
}
/* koral – TYLKO promocje („Łap okazję”) */
.psr-btn--coral {
  --psr-btn-bg: var(--psr-coral-deep);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-coral);
}
/* stan „Dodane!” (klasa od skryptu / bloku) */
.psr-btn.psr-dodano, .psr-btn.is-added {
  --psr-btn-bg: var(--psr-night);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-night);
}

/* ---------- 3. Rozmiary: L 60 / M 52 / S 42 px (S: podeszwa 3 px) ---------- */
.discount-code-form .btn-discount-code,
a.letter-of-enquiry,
.cart .widget-content .cart-tooltip a.cart-tooltip-props-btn,
.psr-btn--s {
  --psr-btn-h: var(--psr-btn-h-s);
  --psr-btn-px: 18px;
  --psr-btn-fs: 15px;
  --psr-btn-sole-h: 3px;
}
.pagination .btn {
  --psr-btn-h: var(--psr-btn-h-s);
  --psr-btn-px: 12px;
  --psr-btn-fs: 15px;
  --psr-btn-sole-h: 3px;
}
.psr-btn--l {
  --psr-btn-h: var(--psr-btn-h-l);
  --psr-btn-px: 30px;
  --psr-btn-fs: 20px;
}

/* ---------- 4. Ikony w przyciskach platformy (maski KV, kolor = kolor napisu) ---------- */
button.btn-add-to-cart::before,
.btn-variant-add-to-cart::before,
.btn-units-add-to-cart::before,
a.letter-of-enquiry:not(:empty)::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: -3px 10px 0 0;
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-cart) center / contain no-repeat;
  mask: var(--psr-i-cart) center / contain no-repeat;
}
a.letter-of-enquiry:not(:empty)::before {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  -webkit-mask-image: var(--psr-i-mail);
  mask-image: var(--psr-i-mail);
}

/* ---------- 5. .psr-btn – przycisk KV do bloków ----------
   <a class="psr-btn psr-btn--mint" href="…"><span class="psr-ic psr-ic--cart" aria-hidden="true"></span>Do koszyka</a>
   Wygląd wspólny z przyciskami platformy (sekcja 1); tu tylko układ wewnętrzny. */
/* --psr-a-kolor: kolor linku dla resetu bloku (01-baza) – działa też w .blue-container, gdzie szablon wymusza biel */
:root body .psr-btn {
  --psr-a-kolor: var(--psr-btn-fg, var(--psr-white));
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  vertical-align: middle;
  white-space: nowrap;
}
:root body .psr-btn .psr-ic {
  --psr-ic-size: 20px;
}
:root body .psr-btn--s .psr-ic {
  --psr-ic-size: 18px;
}
:root body .psr-btn--l .psr-ic {
  --psr-ic-size: 22px;
}
:root body .psr-btn--blok {
  display: flex;
  width: 100%;
}
:root body .psr-btn--okragly {
  width: var(--psr-btn-h, 52px);
  height: var(--psr-btn-h, 52px);
  padding: 0;
}
:root body .psr-btn--okragly .psr-ic {
  --psr-ic-size: 22px;
}
/* w trakcie: napis znika, idą trzy łapki w kolorze napisu (KV P5) */
:root body .psr-btn:is(.is-disabled, [aria-disabled="true"]) {
  --psr-a-kolor: var(--psr-off-fg);
}
:root body .psr-btn.is-loading {
  --psr-a-kolor: transparent;
  color: transparent;
  cursor: progress;
  pointer-events: none;
  translate: 0 0;
}
:root body .psr-btn.is-loading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 24px;
  margin: -12px 0 0 -32px;
  background: var(--psr-btn-fg, var(--psr-white));
  -webkit-mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  animation: psr-lapki 1.5s step-end infinite;
}

/* ---------- 6. .psr-btn-link – link ze strzałką (KV P10) ----------
   <a class="psr-btn-link" href="…">Wszystkie marki</a> – strzałka dokłada się sama; bez: .psr-btn-link--bez */
:root body .psr-btn-link {
  --psr-a-kolor: var(--psr-btn-link-kolor, var(--psr-night));
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 -3px;
  padding: 0 0 3px;
  border: 0;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 2px no-repeat;
  color: var(--psr-btn-link-kolor, var(--psr-night));
  font-family: var(--psr-font);
  font-size: 18px;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-size 350ms var(--psr-smooth), gap var(--psr-t-base) var(--psr-spring);
}
:root body .psr-btn-link::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
:root body .psr-btn-link--bez::after {
  content: none;
}
:root body .psr-btn-link:is(:hover, :focus-visible) {
  gap: 12px;
  background-size: 100% 2px;
  color: var(--psr-btn-link-kolor, var(--psr-night));
  text-decoration: none;
}

/* ---------- 7. .psr-ic – ikona KV z maski (kolor = currentColor) ---------- */
:root body .psr-ic {
  display: inline-block;
  flex: none;
  width: var(--psr-ic-size, 24px);
  height: var(--psr-ic-size, 24px);
  vertical-align: middle;
  background-color: currentColor;
  -webkit-mask: var(--psr-ic, var(--psr-i-heart)) center / contain no-repeat;
  mask: var(--psr-ic, var(--psr-i-heart)) center / contain no-repeat;
}
/* modyfikatory ikon: <span class="psr-ic psr-ic--cart" aria-hidden="true"></span> (nazwy jak w KV: i-cart → --cart, d-heart → --d-heart) */
.psr-ic--arrow { --psr-ic: var(--psr-i-arrow); }
.psr-ic--arrow-left { --psr-ic: var(--psr-i-arrow-left); }
.psr-ic--chevron { --psr-ic: var(--psr-i-chevron); }
.psr-ic--chevron-right { --psr-ic: var(--psr-i-chevron-right); }
.psr-ic--check { --psr-ic: var(--psr-i-check); }
.psr-ic--close { --psr-ic: var(--psr-i-close); }
.psr-ic--plus { --psr-ic: var(--psr-i-plus); }
.psr-ic--minus { --psr-ic: var(--psr-i-minus); }
.psr-ic--cart { --psr-ic: var(--psr-i-cart); }
.psr-ic--heart { --psr-ic: var(--psr-i-heart); }
.psr-ic--mail { --psr-ic: var(--psr-i-mail); }
.psr-ic--search { --psr-ic: var(--psr-i-search); }
.psr-ic--filter { --psr-ic: var(--psr-i-filter); }
.psr-ic--menu { --psr-ic: var(--psr-i-menu); }
.psr-ic--truck { --psr-ic: var(--psr-i-truck); }
.psr-ic--van { --psr-ic: var(--psr-i-van); }
.psr-ic--pin { --psr-ic: var(--psr-i-pin); }
.psr-ic--clock { --psr-ic: var(--psr-i-clock); }
.psr-ic--user { --psr-ic: var(--psr-i-user); }
.psr-ic--home { --psr-ic: var(--psr-i-home); }
.psr-ic--paw { --psr-ic: var(--psr-i-paw); }
.psr-ic--cat { --psr-ic: var(--psr-i-cat); }
.psr-ic--fish { --psr-ic: var(--psr-i-fish); }
.psr-ic--drop { --psr-ic: var(--psr-i-drop); }
.psr-ic--star { --psr-ic: var(--psr-i-star); }
.psr-ic--tag { --psr-ic: var(--psr-i-tag); }
.psr-ic--box { --psr-ic: var(--psr-i-box); }
.psr-ic--undo { --psr-ic: var(--psr-i-undo); }
.psr-ic--shield { --psr-ic: var(--psr-i-shield); }
.psr-ic--wheat { --psr-ic: var(--psr-i-wheat); }
.psr-ic--leaf { --psr-ic: var(--psr-i-leaf); }
.psr-ic--tooth { --psr-ic: var(--psr-i-tooth); }
.psr-ic--info { --psr-ic: var(--psr-i-info); }
.psr-ic--excl { --psr-ic: var(--psr-i-excl); }
.psr-ic--alert { --psr-ic: var(--psr-i-alert); }
.psr-ic--trash { --psr-ic: var(--psr-i-trash); }
.psr-ic--lock { --psr-ic: var(--psr-i-lock); }
.psr-ic--phone { --psr-ic: var(--psr-i-phone); }
.psr-ic--card { --psr-ic: var(--psr-i-card); }
.psr-ic--calendar { --psr-ic: var(--psr-i-calendar); }
.psr-ic--bank { --psr-ic: var(--psr-i-bank); }
.psr-ic--cash { --psr-ic: var(--psr-i-cash); }
.psr-ic--cookie { --psr-ic: var(--psr-i-cookie); }
.psr-ic--sort { --psr-ic: var(--psr-i-sort); }
.psr-ic--d-sparkle { --psr-ic: var(--psr-d-sparkle); }
.psr-ic--d-heart { --psr-ic: var(--psr-d-heart); }
.psr-ic--d-paw { --psr-ic: var(--psr-d-paw); }
.psr-ic--d-star { --psr-ic: var(--psr-d-star); }
.psr-ic--d-squiggle { --psr-ic: var(--psr-d-squiggle); }
.psr-ic--d-arrow { --psr-ic: var(--psr-d-arrow); }
.psr-ic--d-lines { --psr-ic: var(--psr-d-lines); }

/* ---------- 8. Licznik ilości .quantity-change → KV .stepper ----------
   biała pastylka z obwódką mięty 20, okrągłe −/+ w mięcie głębokiej, liczba w nocnej mięcie.
   Rozmiar zmiennymi (moduły mogą zmniejszyć): --psr-stepper-h 52, --psr-stepper-btn 40, --psr-stepper-num 44. */
.quantity-change {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
  width: fit-content;
  height: auto;
  min-height: var(--psr-stepper-h, 52px);
  margin-left: auto;
  margin-right: auto;
  padding: 0 6px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  transition: box-shadow var(--psr-t-base) ease;
}
.quantity-change:focus-within {
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
.quantity-change .btn-minus, .quantity-change .btn-plus,
.additional-units-modal .quantity-change .btn-minus, .additional-units-modal .quantity-change .btn-plus {
  position: relative;
  flex: none;
  display: grid;
  place-items: center;
  width: var(--psr-stepper-btn, 40px);
  min-width: 0;
  max-width: none;
  height: var(--psr-stepper-btn, 40px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: none;
  color: var(--psr-white);
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  transition: scale var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
}
/* ikona −/+ (tekst przycisku zostaje dla czytników ekranu) */
.quantity-change .btn-minus::before, .quantity-change .btn-plus::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 18px;
  height: 18px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-minus-gruba) center / contain no-repeat;
  mask: var(--psr-i-minus-gruba) center / contain no-repeat;
}
.quantity-change .btn-plus::before {
  -webkit-mask-image: var(--psr-i-plus-gruba);
  mask-image: var(--psr-i-plus-gruba);
}
/* pole dotyku ok. 50 × 50 px */
.quantity-change .btn-minus::after, .quantity-change .btn-plus::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
}
.quantity-change .btn-minus:focus, .quantity-change .btn-plus:focus {
  background: var(--psr-mint-deep);
  color: var(--psr-white);
}
.quantity-change .btn-minus:hover, .quantity-change .btn-plus:hover {
  scale: 1.1;
  background: var(--psr-night);
  color: var(--psr-white);
}
.quantity-change .btn-minus:focus-visible, .quantity-change .btn-plus:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 3px;
}
/* na granicy (1 / stan magazynu) platforma daje disabled + .btn-default */
.quantity-change :is(.btn-minus, .btn-plus):is([disabled], .btn-default) {
  scale: 1;
  background: var(--psr-off-bg);
  color: var(--psr-off-fg);
  cursor: not-allowed;
}
/* liczba (pole platformy – zostaje edytowalne) */
.quantity-change input[type="text"],
.additional-units-modal .quantity-change input[type="text"] {
  flex: 0 1 auto;
  width: var(--psr-stepper-num, 44px);
  min-width: 0;
  height: var(--psr-stepper-btn, 40px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1;
  text-align: center;
  caret-color: var(--psr-mint-deep);
}
.quantity-change input[type="text"]:is(:hover, :focus) {
  background: transparent;
  box-shadow: none;
  outline: none;
}
/* kafelki w 4 kolumnach: szablon (0,8,0 / 0,7,1, ≥768 px) ściska −/+ do 12 px i liczbę do 45 px –
   zostaje rozmiar ze zmiennych (moduł kafelków zmienia --psr-stepper-* zamiast walczyć ze specyficznością) */
@media (min-width: 768px) {
  .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change .btn-minus,
  .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change .btn-plus {
    width: var(--psr-stepper-btn, 40px);
  }
  .list-products .product-item.col-sm-6.col-md-3 .product-item-container .product-data-container .quantity-change input {
    width: var(--psr-stepper-num, 44px);
  }
}

/* ----- 03-formularze.css ----- */
/* ==========================================================================
   03-formularze.css – FUNDAMENT: pola KV („Formularze bez nudy”, A1–A4, A8) w całym sklepie:
   kontakt, zapytanie o produkt, opinie, koszyk (kod rabatowy), dane zamówienia (#shippingData),
   okna wariantów/jednostek. Pola jak pastylki bez ramek, fokus = miętowa poświata,
   błąd = koralowa, wybrana opcja wypełnia się kolorem.
   Wysokość/szerokość pól w konkretnych miejscach ustawiają moduły (np. szukajka – nagłówek).
   Selektory powtarzają listę szablonu (L1011–1030): input[type=text|search|password], textarea, select
   (+ email, tel, number, url, input bez type). Stany mają równą specyficzność i stoją w kolejności:
   hover < focus < ok < błąd < nieaktywne.
   ========================================================================== */

/* ---------- 1. Pole tekstowe, textarea, select – spoczynek ---------- */
input[type='text'], input[type='search'], input[type='password'], input[type='email'], input[type='tel'],
input[type='number'], input[type='url'], input:not([type]), textarea, select {
  -webkit-appearance: none;
  appearance: none;
  height: var(--psr-field-h);
  padding: 0 22px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background-color: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  color: var(--psr-ink);
  font-family: var(--psr-font);
  font-size: 18px;
  line-height: 1.3;
  caret-color: var(--psr-mint-deep);
  outline: none;
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
textarea {
  height: auto;
  min-height: 140px;
  padding: 16px 22px;
  border-radius: var(--psr-radius-tile);
  line-height: 1.5;
  resize: vertical;
}
/* lista rozwijana: własny szewron KV (nocna mięta, kreska 2,4); rozwinięta lista zostaje systemowa */
select {
  padding-right: 56px;
  background-image: var(--psr-svg-strzalka-select);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 22px;
  text-overflow: ellipsis;
  cursor: pointer;
}
::placeholder {
  color: var(--psr-off-fg);
  opacity: 1;
}
input[type='search']::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
/* autouzupełnianie przeglądarki: zamiast żółtego tła – limonka 20 w pastylce */
input:-webkit-autofill {
  -webkit-text-fill-color: var(--psr-ink);
  box-shadow: inset 0 0 0 2px var(--psr-mint-40), inset 0 0 0 60px var(--psr-lime-20);
}

/* ---------- 2. Stany ---------- */
/* najechanie: obwódka mięta 40 (szablon: szara poświata 7 px) */
input[type='text']:hover, input[type='search']:hover, input[type='password']:hover, input[type='email']:hover, input[type='tel']:hover,
input[type='number']:hover, input[type='url']:hover, input:not([type]):hover, textarea:hover, select:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
/* fokus: białe pole, obrys mięty głębokiej + pierścień 6 px mięty 20 (to jest widoczny fokus – bez outline) */
input[type='text']:focus, input[type='search']:focus, input[type='password']:focus, input[type='email']:focus, input[type='tel']:focus,
input[type='number']:focus, input[type='url']:focus, input:not([type]):focus, textarea:focus, select:focus {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
  outline: none;
}
/* poprawne (klasa od skryptu / w blokach): białe pole z obwódką mięty 40 */
:is(input[type='text'], input[type='search'], input[type='password'], input[type='email'], input[type='tel'],
input[type='number'], input[type='url'], input:not([type]), textarea, select):is(.psr-ok) {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
/* błąd: knockout-validation daje polu klasę .validationElement; też [aria-invalid], .has-error, .psr-blad.
   Koralowy obrys + pierścień koral 20, jednorazowe „trzęsienie” przy pojawieniu się błędu. */
:is(input[type='text'], input[type='search'], input[type='password'], input[type='email'], input[type='tel'],
input[type='number'], input[type='url'], input:not([type]), textarea, select):is(.validationElement, [aria-invalid='true'], .psr-blad),
.has-error :is(input[type='text'], input[type='search'], input[type='password'], input[type='email'], input[type='tel'],
input[type='number'], input[type='url'], input:not([type]), textarea, select) {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-coral-deep), 0 0 0 6px var(--psr-coral-20);
  caret-color: var(--psr-coral-deep);
  animation: psr-shake 450ms var(--psr-smooth);
}
/* nieaktywne: kamień 8, bez obwódki */
input[type='text']:disabled, input[type='search']:disabled, input[type='password']:disabled, input[type='email']:disabled, input[type='tel']:disabled,
input[type='number']:disabled, input[type='url']:disabled, input:not([type]):disabled, textarea:disabled, select:disabled {
  background-color: var(--psr-stone-8);
  box-shadow: none;
  color: var(--psr-field-off-fg);
  cursor: not-allowed;
}
:disabled::placeholder {
  color: var(--psr-field-off-ph);
}

/* ---------- 3. Etykiety i komunikaty ---------- */
.form-group > label, .control-label {
  padding-inline: 6px;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.25;
}
.form-group.checkbox > label, .checkbox > label, .consent .consent-label {
  padding-inline: 0;
  color: var(--psr-ink);
}
/* komunikat walidacji: drobny koralowy tekst pod polem (szablon: biały na czerwonym pasku) */
.validationMessage {
  margin: 6px 0 10px;
  padding: 0 22px;
  background: none;
  color: var(--psr-coral-text);
  font-size: 14.5px;
  line-height: 1.4;
}
/* podpowiedź / stan pola (KV .field-help, .state) – do bloków i skryptu */
.psr-pole-pomoc {
  display: block;
  padding-inline: 22px 6px;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.4;
}
.psr-pole-pomoc.psr-blad {
  color: var(--psr-coral-text);
}
.psr-pole-stan {
  color: var(--psr-muted);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* ---------- 4. Checkbox i radio (KV .check): kwadrat 28 px / koło; zaznaczone wypełnia się miętą głęboką ---------- */
input[type='checkbox'], input[type='radio'] {
  -webkit-appearance: none;
  appearance: none;
  flex: none;
  display: inline-block;
  width: 28px;
  height: 28px;
  margin: 0 10px 0 0;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background-color: var(--psr-mint-8);
  background-image: var(--psr-svg-ptaszek-bialy);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0 0;
  box-shadow: inset 0 0 0 2px var(--psr-check-ring);
  vertical-align: middle;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, box-shadow var(--psr-t-fast) ease, background-size 450ms var(--psr-spring);
}
input[type='radio'] {
  border-radius: 50%;
  background-image: radial-gradient(circle, var(--psr-white) 0 5px, transparent 5.5px);
}
input[type='checkbox']:hover, input[type='radio']:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep);
}
input[type='checkbox']:checked, input[type='radio']:checked {
  background-color: var(--psr-mint-deep);
  box-shadow: none;
}
input[type='checkbox']:checked {
  background-size: 18px 18px;
  animation: psr-bump 450ms var(--psr-spring);
}
input[type='radio']:checked {
  background-size: 100% 100%;
}
input[type='checkbox']:focus-visible, input[type='radio']:focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
input[type='checkbox']:is(.validationElement, [aria-invalid='true'], .psr-blad),
input[type='radio']:is(.validationElement, [aria-invalid='true'], .psr-blad) {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-coral-deep), 0 0 0 6px var(--psr-coral-20);
}
input[type='checkbox']:disabled, input[type='radio']:disabled {
  background-color: var(--psr-stone-8);
  box-shadow: inset 0 0 0 2px var(--psr-stone-20);
  cursor: not-allowed;
}
input[type='checkbox']:disabled:checked, input[type='radio']:disabled:checked {
  background-color: var(--psr-off-fg);
  box-shadow: none;
}
:is(label, .consent-label):has(input:disabled), input:disabled + label {
  color: var(--psr-muted);
}

/* ---------- 5. Zgody (.consent: kontakt, zapytanie o produkt) – kratka, etykieta obok, błąd pod etykietą ---------- */
.consent {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}
.consent .consent-checkbox {
  grid-column: 1;
  float: none;
  margin: 0;
}
.consent .consent-label {
  grid-column: 2;
  margin: 3px 0 0;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
}
.consent .validationMessage {
  grid-column: 2;
  padding: 0;
}

/* ---------- 6. Klasy dla bloków ---------- */
/* dowolny element w wyglądzie pola (np. <label class="psr-pole">) */
:root body .psr-pole {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--psr-field-h);
  padding: 0 22px;
  border-radius: var(--psr-radius-pill);
  background-color: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  color: var(--psr-ink);
  font-size: 18px;
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
/* pasek: pole + przycisk w jednej pastylce (KV wyszukiwarka / newsletter)
   <form class="psr-pasek-pola"><span class="psr-ic psr-ic--search"></span><input type="search" …><button class="psr-btn">Szukaj</button></form> */
:root body .psr-pasek-pola {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 0 8px 0 24px;
  border-radius: var(--psr-radius-pill);
  background-color: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
:root body :is(.psr-pole, .psr-pasek-pola):hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
:root body :is(.psr-pole, .psr-pasek-pola):focus-within {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
:root body :is(.psr-pole, .psr-pasek-pola).psr-blad {
  background-color: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-coral-deep), 0 0 0 6px var(--psr-coral-20);
}
:root body :is(.psr-pole, .psr-pasek-pola) :is(input, select) {
  flex: 1;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  font-size: inherit;
}
:root body .psr-pasek-pola > .psr-ic {
  --psr-ic-size: 22px;
  color: var(--psr-night);
}
:root body .psr-pasek-pola .psr-btn {
  --psr-btn-h: 48px;
  translate: 0 -2px;
}
:root body .psr-pasek-pola .psr-btn:hover {
  translate: 0 -5px;
}
:root body .psr-pasek-pola .psr-btn:active {
  translate: 0 1px;
}
@media (max-width: 420px) {
  :root body .psr-pasek-pola {
    padding-left: 18px;
  }
  :root body .psr-pasek-pola .psr-btn {
    padding-inline: 18px;
  }
}

/* ----- 04-etykiety.css ----- */
/* ==========================================================================
   04-etykiety.css – FUNDAMENT: wspólne komponenty KV do bloków i modułów
   (typografia sekcji, tagi, nadtytuły, naklejki, cenówki, dostępność, dymki, serca-zalety,
   kafelki ikon, fale, wycinki, karteczki, karty, zasady, sekcje kolorowe, znak/sygnet, plamy, doodle).
   Specyficzność: podstawa każdego komponentu to `:root body .psr-…` (0,2,1) – wygrywa z typografią
   szablonu w blokach (.custom .widget-content h2/p/a = 0,2,1) i z resetem .psr-blok (01-baza, wcześniej).
   Modyfikatory (--wariant) ustawiają tylko zmienne. Moduły nadpisują przez `.psr-blok.psr-x .psr-…` (0,3,0) lub id.
   ========================================================================== */

/* ---------- 1. Kontekst „na kolorze” – biały tekst, akcent limonka, biały fokus, cień w tonie tła ---------- */
.psr-na-kolorze, .psr-sekcja--mint, .psr-sekcja--lilac, .psr-sekcja--night {
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-tytul-kolor: var(--psr-white);
  --psr-kicker-kolor: var(--psr-white);
  --psr-label-kolor: rgba(255, 255, 255, 0.85);
  --psr-notka-kolor: rgba(255, 255, 255, 0.88);
  --psr-btn-link-kolor: var(--psr-white);
  --psr-sekcja-tekst: var(--psr-white);
}
/* białe pola wewnątrz kolorowej strefy wracają do barw „na jasnym” */
:root body :is(.psr-karta, .psr-bubble:not([class*="psr-bubble--"]), .psr-kicker-pill:not(.psr-kicker-pill--fill)) {
  --psr-focus: var(--psr-night);
  --psr-accent: var(--psr-lilac-deep);
  --psr-tytul-kolor: var(--psr-night);
  --psr-kicker-kolor: var(--psr-mint-deep);
  --psr-label-kolor: var(--psr-muted);
  --psr-notka-kolor: var(--psr-muted);
  --psr-btn-link-kolor: var(--psr-night);
}

/* ---------- 2. Typografia sekcji (KV D2–D7) ---------- */
/* nadtytuł: 14 px wersaliki, rozstrzelony, mięta głęboka, iskierka ✦ */
:root body .psr-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--psr-kicker-kolor, var(--psr-mint-deep));
  font-size: var(--psr-fs-small);
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
:root body .psr-kicker::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: var(--psr-d-sparkle) center / contain no-repeat;
  mask: var(--psr-d-sparkle) center / contain no-repeat;
}
/* nadtytuł w pastylce: biała z cieniem (iskierka koral głęboki) albo --fill: nocna mięta (serduszko limonka) */
:root body .psr-kicker-pill {
  --psr-a-kolor: var(--psr-night);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
  color: var(--psr-night);
  font-size: var(--psr-fs-small);
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
:root body .psr-kicker-pill::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background-color: var(--psr-kicker-ozdobnik, var(--psr-coral-deep));
  -webkit-mask: var(--psr-d-sparkle) center / contain no-repeat;
  mask: var(--psr-d-sparkle) center / contain no-repeat;
}
:root body .psr-kicker-pill--fill {
  --psr-a-kolor: var(--psr-white);
  background: var(--psr-night);
  box-shadow: none;
  color: var(--psr-white);
  --psr-kicker-ozdobnik: var(--psr-lime);
}
:root body .psr-kicker-pill--fill::before {
  -webkit-mask-image: var(--psr-d-heart);
  mask-image: var(--psr-d-heart);
}
/* nagłówek sekcji: nadtytuł + tytuł + lead */
:root body .psr-sec-head {
  display: grid;
  gap: 14px;
  justify-items: start;
  max-width: 780px;
  margin-bottom: clamp(28px, 3.5vw, 42px);
}
:root body .psr-sec-title {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-sec);
  line-height: 0.98;
  text-transform: uppercase;
}
:root body .psr-display {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-display);
  line-height: 0.92;
  text-transform: uppercase;
}
:root body .psr-h1 {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-h1);
  line-height: 1;
  text-transform: uppercase;
}
:root body .psr-h2 {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-h2);
  line-height: 1.05;
  text-transform: uppercase;
}
:root body .psr-sub {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-sub);
  line-height: 1.1;
  text-transform: uppercase;
}
:root body .psr-h3 {
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-h3);
  line-height: 1.1;
}
/* wykrzyknik „Hej, wpadaj!” */
:root body .psr-script {
  display: inline-block;
  color: var(--psr-kicker-kolor, var(--psr-mint-deep));
  font-size: var(--psr-fs-script);
  line-height: 1;
  rotate: -3deg;
}
:root body .psr-lead {
  font-size: var(--psr-fs-lead);
  line-height: 1.55;
}
:root body .psr-small {
  font-size: var(--psr-fs-small);
  line-height: 1.5;
}
:root body .psr-label {
  color: var(--psr-label-kolor, var(--psr-muted));
  font-size: var(--psr-fs-label);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
/* notka: drobny opis, <b> w nocnej mięcie */
:root body .psr-notka {
  color: var(--psr-notka-kolor, var(--psr-muted));
  font-size: var(--psr-fs-note);
  line-height: 1.55;
}
:root body .psr-notka :is(b, strong) {
  color: var(--psr-tytul-kolor, var(--psr-night));
}
/* zakreślacz limonką (KV .mark) */
:root body .psr-mark {
  padding: 0 4px;
  background: linear-gradient(transparent 55%, var(--psr-lime) 55%);
}

/* ---------- 3. Tagi (chipy, zawsze wypełnione; bez koralu) i filtry ---------- */
:root body .psr-tagi {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
:root body .psr-tag {
  --psr-a-kolor: var(--psr-tag-fg, var(--psr-white));
  display: inline-block;
  padding: 9px 18px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-tag-bg, var(--psr-mint-deep));
  color: var(--psr-tag-fg, var(--psr-white));
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  transition: scale var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
}
:root body :is(a, button).psr-tag:is(:hover, :focus-visible) {
  scale: 1.06;
  color: var(--psr-tag-fg, var(--psr-white));
  text-decoration: none;
}
.psr-tag--lilac { --psr-tag-bg: var(--psr-lilac-deep); }
.psr-tag--night { --psr-tag-bg: var(--psr-night); }
.psr-tag--lime { --psr-tag-bg: var(--psr-lime); --psr-tag-fg: var(--psr-night); }
/* filtr: mięta 20 → wybrany mięta głęboka z białym napisem (stan: aria-pressed / aria-current / .is-active) */
:root body .psr-filtr {
  --psr-a-kolor: var(--psr-night);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 40px;
  padding: 9px 18px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-20);
  color: var(--psr-night);
  font-family: var(--psr-font);
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
}
:root body .psr-filtr:hover {
  background: var(--psr-mint-40);
  color: var(--psr-night);
  text-decoration: none;
}
:root body .psr-filtr:is([aria-pressed="true"], [aria-current], .is-active) {
  --psr-a-kolor: var(--psr-white);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
}
:root body .psr-filtr .psr-licznik {
  opacity: 0.8;
}
@media (pointer: coarse) {
  :root body .psr-filtr { min-height: 44px; }
}

/* ---------- 4. Naklejka produktu .psr-badge – „ręcznie wycięta”, krzywo; na hover się prostuje ---------- */
:root body .psr-badge {
  --psr-a-kolor: var(--psr-badge-fg, var(--psr-white));
  display: inline-block;
  padding: 8px 17px 9px;
  border-radius: var(--psr-badge-ksztalt, 24px 6px 18px 8px / 20px 8px 24px 10px);
  background: var(--psr-badge-bg, var(--psr-mint-deep));
  color: var(--psr-badge-fg, var(--psr-white));
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  rotate: var(--psr-kat, -3deg);
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring), border-radius 500ms var(--psr-spring);
}
:root body .psr-badge:hover {
  rotate: 0deg;
  scale: 1.08;
  border-radius: var(--psr-badge-ksztalt-h, 8px 22px 7px 20px / 12px 21px 9px 20px);
}
/* 4 kształty: klasą albo automatycznie w kontenerze .psr-naklejki */
.psr-badge--k2, .psr-naklejki > .psr-badge:nth-child(4n+2) { --psr-badge-ksztalt: 7px 22px 8px 20px / 12px 22px 9px 20px; --psr-badge-ksztalt-h: 22px 8px 24px 6px / 21px 9px 22px 10px; }
.psr-badge--k3, .psr-naklejki > .psr-badge:nth-child(4n+3) { --psr-badge-ksztalt: 20px 8px 26px 6px / 9px 20px 12px 22px; --psr-badge-ksztalt-h: 8px 24px 6px 20px / 21px 10px 20px 9px; }
.psr-badge--k4, .psr-naklejki > .psr-badge:nth-child(4n+4) { --psr-badge-ksztalt: 8px 24px 6px 20px / 22px 10px 20px 9px; --psr-badge-ksztalt-h: 22px 7px 20px 9px / 10px 20px 11px 21px; }
.psr-naklejki > .psr-badge:nth-child(even) { --psr-kat: 3deg; }
.psr-badge--night { --psr-badge-bg: var(--psr-night); }
.psr-badge--lilac { --psr-badge-bg: var(--psr-lilac-deep); }
.psr-badge--lime { --psr-badge-bg: var(--psr-lime); --psr-badge-fg: var(--psr-night); }
:root body .psr-naklejki {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 14px;
}

/* ---------- 5. Ceny: naklejka cenowa (kleks z linią cięcia), cenówka, stara cena; grosze w <sup> ---------- */
/* <span class="psr-price-sticker">−15%<small>tylko teraz</small></span>
   <span class="psr-price-sticker">199<sup>99</sup> zł</span> */
:root body .psr-price-sticker {
  position: relative;
  display: inline-grid;
  place-content: center;
  justify-items: center;
  gap: 3px;
  width: var(--psr-ps, 92px);
  aspect-ratio: 1;
  border-radius: 64% 36% 58% 42% / 44% 62% 38% 56%;
  background: var(--psr-ps-bg, var(--psr-coral-deep));
  color: var(--psr-ps-fg, var(--psr-white));
  font-size: calc(var(--psr-ps, 92px) * 0.283);
  line-height: 0.9;
  text-align: center;
  white-space: nowrap;
  rotate: var(--psr-kat, -8deg);
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring);
}
:root body .psr-price-sticker::before {
  content: "";
  position: absolute;
  inset: calc(var(--psr-ps, 92px) * -0.087);
  border: 2px dashed var(--psr-ps-bg, var(--psr-coral-deep));
  border-radius: 40% 60% 46% 54% / 62% 40% 60% 38%;
  rotate: 18deg;
  pointer-events: none;
}
:root body .psr-price-sticker small {
  display: block;
  font-size: max(10px, calc(var(--psr-ps, 92px) * 0.12));
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
:root body .psr-price-sticker:hover {
  rotate: 0deg;
  scale: 1.06;
}
.psr-price-sticker--lime { --psr-ps-bg: var(--psr-lime); --psr-ps-fg: var(--psr-night); }
.psr-price-sticker--s { --psr-ps: 54px; }
.psr-price-sticker--m { --psr-ps: 70px; }
.psr-price-sticker--l { --psr-ps: 124px; }
/* cena KV: aktualna w koralowej cenówce, obok stara przekreślona */
:root body .psr-cena {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  color: var(--psr-night);
  font-size: var(--psr-cena-fs, 32px);
  line-height: 1;
}
:root body .psr-price-tag {
  display: inline-block;
  padding: 4px 16px 6px;
  border-radius: 26px 12px 22px 10px / 18px 22px 12px 20px;
  background: var(--psr-coral-deep);
  color: var(--psr-white);
  line-height: 1;
  white-space: nowrap;
  rotate: var(--psr-kat, -2deg);
}
:root body :is(.psr-cena s, .psr-cena-stara) {
  color: var(--psr-muted);
  font-size: 18px;
  text-decoration: line-through;
}
/* grosze w indeksie górnym (zasada marki dla cenówek promocyjnych) */
:root body :is(.psr-price-sticker, .psr-price-tag, .psr-cena) sup {
  position: relative;
  top: -0.7em;
  margin-left: 0.04em;
  font-size: 0.55em;
  line-height: 0;
  vertical-align: baseline;
}

/* ---------- 6. Dostępność .psr-stock – kropka z miękką obwódką; mało sztuk = koralowa z pulsem ---------- */
:root body .psr-stock {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--psr-ink);
  font-size: var(--psr-fs-note);
  line-height: 1.3;
}
:root body .psr-stock::before {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--psr-stock-kropka, var(--psr-mint-deep));
  box-shadow: 0 0 0 4px var(--psr-stock-obwodka, var(--psr-mint-20));
}
:root body .psr-stock:is(.low, .psr-stock--malo)::before {
  background: var(--psr-coral-deep);
  box-shadow: none;
  animation: psr-ping-coral 2.4s ease-out infinite;
}
.psr-stock--czeka { --psr-stock-kropka: var(--psr-lilac-deep); --psr-stock-obwodka: var(--psr-lilac-20); }
.psr-stock--sklep { --psr-stock-kropka: var(--psr-night); --psr-stock-obwodka: var(--psr-stone-20); }

/* ---------- 7. Dymek .psr-bubble – biały z cieniem albo kolorowy płaski; ogonek z lewej / --prawy ---------- */
:root body .psr-bubble {
  position: relative;
  z-index: 6;
  display: inline-block;
  padding: 10px 18px 12px;
  border-radius: var(--psr-radius-bubble);
  background: var(--psr-bubble-bg, var(--psr-white));
  box-shadow: var(--psr-bubble-cien, var(--psr-lift-sm));
  color: var(--psr-bubble-fg, var(--psr-night));
  font-size: var(--psr-bubble-fs, 23px);
  line-height: 1.1;
  white-space: nowrap;
  rotate: var(--psr-rot, -4deg);
}
:root body .psr-bubble::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 26px;
  width: 26px;
  height: 18px;
  background: var(--psr-bubble-bg, var(--psr-white));
  clip-path: var(--psr-dymek-ogonek);
}
:root body .psr-bubble--prawy::after {
  left: auto;
  right: 26px;
  transform: scaleX(-1);
}
.psr-bubble--mint { --psr-bubble-bg: var(--psr-mint-20); --psr-bubble-fg: var(--psr-night); --psr-bubble-cien: none; }
.psr-bubble--lime { --psr-bubble-bg: var(--psr-lime); --psr-bubble-fg: var(--psr-night); --psr-bubble-cien: none; }
.psr-bubble--lilac { --psr-bubble-bg: var(--psr-lilac-deep); --psr-bubble-fg: var(--psr-white); --psr-bubble-cien: none; }
.psr-bubble--night { --psr-bubble-bg: var(--psr-night); --psr-bubble-fg: var(--psr-white); --psr-bubble-cien: none; }
.psr-bubble--coral { --psr-bubble-bg: var(--psr-coral-deep); --psr-bubble-fg: var(--psr-white); --psr-bubble-cien: none; }
/* ruch: bujanie (pętla 4,2 s) i wejście (sprężyna, potem bujanie); opóźnienie --psr-d */
:root body .psr-bubble--buja {
  animation: psr-bob 4.2s ease-in-out infinite;
}
:root body .psr-bubble--wskocz {
  animation: psr-bubble-in 600ms var(--psr-spring) both, psr-bob 4.2s ease-in-out infinite;
  animation-delay: var(--psr-d, 0s), calc(var(--psr-d, 0s) + 0.6s);
}
@media (max-width: 760px) {
  :root body .psr-bubble { --psr-bubble-fs: 18px; padding: 8px 14px 10px; }
}

/* ---------- 8. Serce-zaleta .psr-heart – kształt sygnetu, ostra podeszwa, ikona w kole wpisanym ----------
   <div class="psr-heart psr-ic--leaf"><span class="psr-heart-ksztalt"></span>Naturalny skład</div>
   Kolor: --mint (domyślny) --lilac --coral --lime --night. Ikona: dowolny modyfikator .psr-ic--… */
:root body .psr-serca {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 24px 14px;
}
:root body .psr-heart {
  --psr-heart-w: 96px;
  --psr-a-kolor: var(--psr-tytul-kolor, var(--psr-night));
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 10px;
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: var(--psr-fs-note);
  line-height: 1.25;
  text-align: center;
}
:root body .psr-heart::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  width: var(--psr-heart-w);
  aspect-ratio: 1 / 0.92;
  translate: -50% 0;
  background: var(--psr-heart-sole, var(--psr-heart-sole-mint));
  -webkit-mask: var(--psr-svg-serce) center / 100% 100% no-repeat;
  mask: var(--psr-svg-serce) center / 100% 100% no-repeat;
}
:root body .psr-heart-ksztalt {
  position: relative;
  display: block;
  width: var(--psr-heart-w);
  aspect-ratio: 1 / 0.92;
  background: var(--psr-heart-bg, var(--psr-mint-deep));
  -webkit-mask: var(--psr-svg-serce) center / 100% 100% no-repeat;
  mask: var(--psr-svg-serce) center / 100% 100% no-repeat;
  transition: translate var(--psr-t-base) var(--psr-spring);
}
/* ikona w środku największego koła wpisanego w serce: 50 % szerokości, 52,6 % wysokości */
:root body .psr-heart-ksztalt::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 52.6%;
  width: 48%;
  aspect-ratio: 1;
  translate: -50% -50%;
  background: var(--psr-heart-ic-kolor, var(--psr-white));
  -webkit-mask: var(--psr-ic, var(--psr-i-heart-cienka)) center / contain no-repeat;
  mask: var(--psr-ic, var(--psr-i-heart-cienka)) center / contain no-repeat;
}
:root body .psr-heart:hover .psr-heart-ksztalt {
  translate: 0 -3px;
}
.psr-heart--lilac { --psr-heart-bg: var(--psr-lilac-deep); --psr-heart-sole: var(--psr-heart-sole-lilac); }
.psr-heart--coral { --psr-heart-bg: var(--psr-coral-deep); --psr-heart-sole: var(--psr-heart-sole-coral); }
.psr-heart--lime { --psr-heart-bg: var(--psr-lime); --psr-heart-sole: var(--psr-heart-sole-lime); --psr-heart-ic-kolor: var(--psr-night); }
.psr-heart--night { --psr-heart-bg: var(--psr-night); --psr-heart-sole: var(--psr-heart-sole-night); }
/* w sercu ikona ma kreskę 1,3 (KV) – te same modyfikatory podmieniają ikonę na cienką */
.psr-heart.psr-ic--leaf { --psr-ic: var(--psr-i-leaf-cienka); }
.psr-heart.psr-ic--shield { --psr-ic: var(--psr-i-shield-cienka); }
.psr-heart.psr-ic--wheat { --psr-ic: var(--psr-i-wheat-cienka); }
.psr-heart.psr-ic--tooth { --psr-ic: var(--psr-i-tooth-cienka); }
.psr-heart.psr-ic--fish { --psr-ic: var(--psr-i-fish-cienka); }
.psr-heart.psr-ic--drop { --psr-ic: var(--psr-i-drop-cienka); }
.psr-heart.psr-ic--paw { --psr-ic: var(--psr-i-paw-cienka); }
.psr-heart.psr-ic--cat { --psr-ic: var(--psr-i-cat-cienka); }
.psr-heart.psr-ic--heart { --psr-ic: var(--psr-i-heart-cienka); }
.psr-heart.psr-ic--check { --psr-ic: var(--psr-i-check-cienka); }
.psr-heart.psr-ic--star { --psr-ic: var(--psr-i-star-cienka); }
.psr-heart.psr-ic--truck { --psr-ic: var(--psr-i-truck-cienka); }
.psr-heart.psr-ic--box { --psr-ic: var(--psr-i-box-cienka); }
.psr-heart.psr-ic--home { --psr-ic: var(--psr-i-home-cienka); }
.psr-heart.psr-ic--clock { --psr-ic: var(--psr-i-clock-cienka); }
.psr-heart.psr-ic--tag { --psr-ic: var(--psr-i-tag-cienka); }
.psr-heart.psr-ic--calendar { --psr-ic: var(--psr-i-calendar-cienka); }
.psr-heart.psr-ic--card { --psr-ic: var(--psr-i-card-cienka); }
.psr-heart.psr-ic--user { --psr-ic: var(--psr-i-user-cienka); }
.psr-heart.psr-ic--pin { --psr-ic: var(--psr-i-pin-cienka); }
.psr-heart.psr-ic--van { --psr-ic: var(--psr-i-van-cienka); }
.psr-heart.psr-ic--lock { --psr-ic: var(--psr-i-lock-cienka); }
.psr-heart.psr-ic--mail { --psr-ic: var(--psr-i-mail-cienka); }

/* ---------- 9. Kafelek ikony usługi (KV „Ikony usług”) ----------
   <div class="psr-ikona"><span class="psr-ikona-kafel psr-ic--truck"></span>Darmowa dostawa</div> */
:root body .psr-ikona {
  --psr-a-kolor: var(--psr-label-kolor, var(--psr-muted));
  display: grid;
  justify-items: center;
  align-content: start;
  gap: 8px;
  color: var(--psr-label-kolor, var(--psr-muted));
  font-size: var(--psr-fs-small);
  line-height: 1.3;
  text-align: center;
}
:root body .psr-ikona-kafel {
  --psr-a-kolor: var(--psr-kafel-fg, var(--psr-white));
  position: relative;
  display: grid;
  flex: none;
  width: var(--psr-kafel-w, 56px);
  height: var(--psr-kafel-w, 56px);
  border-radius: var(--psr-radius-sm);
  background: var(--psr-kafel-bg, var(--psr-mint-deep));
  color: var(--psr-kafel-fg, var(--psr-white));
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring), border-radius var(--psr-t-base) ease;
}
:root body .psr-ikona-kafel::after {
  content: "";
  position: absolute;
  inset: 25%;
  background-color: currentColor;
  -webkit-mask: var(--psr-ic, var(--psr-i-heart)) center / contain no-repeat;
  mask: var(--psr-ic, var(--psr-i-heart)) center / contain no-repeat;
}
:root body :is(.psr-ikona:hover .psr-ikona-kafel, a.psr-ikona-kafel:hover) {
  rotate: -8deg;
  scale: 1.08;
  border-radius: 50%;
}
.psr-ikona-kafel--lilac { --psr-kafel-bg: var(--psr-lilac-deep); }
.psr-ikona-kafel--night { --psr-kafel-bg: var(--psr-night); }
.psr-ikona-kafel--coral { --psr-kafel-bg: var(--psr-coral-deep); }
.psr-ikona-kafel--lime { --psr-kafel-bg: var(--psr-lime); --psr-kafel-fg: var(--psr-night); }
.psr-ikona-kafel--soft { --psr-kafel-bg: var(--psr-mint-20); --psr-kafel-fg: var(--psr-night); }

/* ---------- 10. Fala na krawędzi sekcji .psr-fala (KV C13) ----------
   Między sekcjami (w przepływie): <div class="psr-fala" style="--psr-fala-tlo:var(--psr-white);--psr-fala-kolor:var(--psr-night)"></div>
   Na krawędzi kontenera (position:relative): .psr-fala--dol (kolor sekcji poniżej) / .psr-fala--gora (kolor sekcji powyżej).
   --psr-fala-kolor (domyślnie biel), --psr-fala-tlo (domyślnie przezroczyste), kształt --falbanka, tempo --wolna / --szybka. */
:root body .psr-fala {
  position: relative;
  display: block;
  height: var(--psr-fala-h);
  margin: 0;
  background: var(--psr-fala-tlo, transparent);
  pointer-events: none;
}
:root body .psr-fala::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--psr-fala-kolor, var(--psr-white));
  -webkit-mask: var(--psr-fala-ksztalt, var(--psr-svg-fala)) repeat-x 0 100% / var(--psr-fala-kafel, 720px) 100%;
  mask: var(--psr-fala-ksztalt, var(--psr-svg-fala)) repeat-x 0 100% / var(--psr-fala-kafel, 720px) 100%;
  animation: psr-fala var(--psr-fala-czas, 18s) linear infinite;
}
:root body :is(.psr-fala--gora, .psr-fala--dol) {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
}
:root body .psr-fala--gora { top: -1px; }
:root body .psr-fala--dol { bottom: -1px; }
.psr-fala--gora { --psr-fala-ksztalt: var(--psr-svg-fala-gora); }
.psr-fala--falbanka { --psr-fala-ksztalt: var(--psr-svg-falbanka); --psr-fala-kafel: 120px; --psr-fala-czas: 10s; }
.psr-fala--gora.psr-fala--falbanka { --psr-fala-ksztalt: var(--psr-svg-falbanka-gora); }
.psr-fala--wolna { --psr-fala-czas: 28s; }
.psr-fala--szybka { --psr-fala-czas: 10s; }

/* ---------- 11. Sekcja kolorowa .psr-sekcja (+ fale w pseudo-elementach) ----------
   <section class="psr-sekcja psr-sekcja--night psr-sekcja--fala-gora psr-sekcja--fala-dol">…</section>
   Tła: --mint (mięta głęboka), --lilac (liliowy głęboki), --night, --lime (tekst nocna mięta), --jasna (mięta 8),
   --jasna-lilac, --jasna-lime. Kolor sąsiada fali: --psr-fala-nad / --psr-fala-pod (domyślnie biel).
   --pelna = na całą szerokość okna (z kolumny Bootstrapa). Koral nigdy nie jest tłem sekcji. */
:root body .psr-sekcja {
  position: relative;
  isolation: isolate;
  padding-top: var(--psr-sekcja-pt, clamp(52px, 6vw, 72px));
  padding-bottom: var(--psr-sekcja-pb, clamp(66px, 7vw, 88px));
  background: var(--psr-sekcja-tlo, var(--psr-white));
  color: var(--psr-sekcja-tekst, var(--psr-ink));
}
.psr-sekcja--mint { --psr-sekcja-tlo: var(--psr-mint-deep); --psr-lift: var(--psr-lift-mint-deep); --psr-lift-sm: var(--psr-lift-sm-mint-deep); }
.psr-sekcja--lilac { --psr-sekcja-tlo: var(--psr-lilac-deep); --psr-lift: var(--psr-lift-lilac-deep); --psr-lift-sm: var(--psr-lift-sm-lilac-deep); }
.psr-sekcja--night { --psr-sekcja-tlo: var(--psr-night); --psr-lift: var(--psr-lift-night); --psr-lift-sm: var(--psr-lift-sm-night); }
.psr-sekcja--lime { --psr-sekcja-tlo: var(--psr-lime); --psr-sekcja-tekst: var(--psr-night); --psr-accent: var(--psr-night); --psr-kicker-kolor: var(--psr-night); }
.psr-sekcja--jasna { --psr-sekcja-tlo: var(--psr-mint-8); --psr-lift: var(--psr-lift-mint-8); --psr-lift-sm: var(--psr-lift-sm-mint-8); }
.psr-sekcja--jasna-lilac { --psr-sekcja-tlo: var(--psr-lilac-8); --psr-lift: var(--psr-lift-lilac-8); --psr-lift-sm: var(--psr-lift-sm-lilac-8); }
.psr-sekcja--jasna-lime { --psr-sekcja-tlo: var(--psr-lime-8); --psr-lift: var(--psr-lift-lime-8); --psr-lift-sm: var(--psr-lift-sm-lime-8); }
:root body .psr-sekcja--fala-gora {
  padding-top: calc(var(--psr-sekcja-pt, clamp(52px, 6vw, 72px)) + var(--psr-fala-h));
}
:root body .psr-sekcja--fala-dol {
  padding-bottom: calc(var(--psr-sekcja-pb, clamp(66px, 7vw, 88px)) + var(--psr-fala-h));
}
:root body .psr-sekcja--fala-gora::before,
:root body .psr-sekcja--fala-dol::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
  height: var(--psr-fala-h);
  pointer-events: none;
  animation: psr-fala var(--psr-fala-czas, 18s) linear infinite;
}
:root body .psr-sekcja--fala-gora::before {
  top: -1px;
  background: var(--psr-fala-nad, var(--psr-white));
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
}
:root body .psr-sekcja--fala-dol::after {
  bottom: -1px;
  background: var(--psr-fala-pod, var(--psr-white));
  -webkit-mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  animation-duration: var(--psr-fala-czas-dol, 21s);
}
/* pełna szerokość okna z wnętrza kolumny .container (html ma overflow-x: clip) */
:root body .psr-sekcja--pelna {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: max(16px, calc(50vw - 570px));
  padding-right: max(16px, calc(50vw - 570px));
}

/* ---------- 12. Karta, kafel zasady, karteczka ---------- */
/* biała karta KV (r 32, cień w tonie tła) */
:root body .psr-karta {
  --psr-a-kolor: var(--psr-ink);
  position: relative;
  padding: clamp(22px, 2.4vw, 30px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  color: var(--psr-ink);
}
/* kafel zasady: mięta 8, nagłówek z kolorową kropką (--psr-kropka), opis szary; na kolorze nocna mięta */
:root body .psr-zasada {
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 20px 22px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-zasada-tlo, var(--psr-mint-8));
}
:root body .psr-zasada-tytul {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--psr-tytul-kolor, var(--psr-night));
  font-size: 20px;
  line-height: 1.2;
}
:root body .psr-zasada-tytul::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--psr-kropka, var(--psr-mint));
}
:root body .psr-zasada :is(p, .psr-zasada-opis) {
  color: var(--psr-notka-kolor, var(--psr-muted));
  font-size: var(--psr-fs-note);
  line-height: 1.55;
}
:is(.psr-na-kolorze, .psr-sekcja--mint, .psr-sekcja--lilac, .psr-sekcja--night) .psr-zasada {
  --psr-zasada-tlo: var(--psr-night);
  --psr-notka-kolor: rgba(255, 255, 255, 0.9);
}
.psr-sekcja--night .psr-zasada { --psr-zasada-tlo: rgba(255, 255, 255, 0.08); }
/* karteczka: kolorowa kartka przyklejona krzywo; na hover się prostuje */
:root body .psr-karteczka {
  --psr-a-kolor: var(--psr-karteczka-fg, var(--psr-white));
  display: flex;
  align-items: center;
  min-height: 196px;
  padding: 28px 24px;
  border-radius: var(--psr-radius-note);
  background: var(--psr-karteczka-bg, var(--psr-lilac-deep));
  box-shadow: var(--psr-karteczka-cien, none);
  color: var(--psr-karteczka-fg, var(--psr-white));
  font-size: 27px;
  line-height: 1.08;
  text-transform: uppercase;
  rotate: var(--psr-kat, -3deg);
  transition: rotate var(--psr-t-big) var(--psr-spring), scale var(--psr-t-big) var(--psr-spring);
}
:root body .psr-karteczka:hover {
  rotate: 0deg;
  scale: 1.05;
}
.psr-karteczka--mint { --psr-karteczka-bg: var(--psr-mint-deep); }
.psr-karteczka--lime { --psr-karteczka-bg: var(--psr-lime); --psr-karteczka-fg: var(--psr-night); }
.psr-karteczka--white { --psr-karteczka-bg: var(--psr-white); --psr-karteczka-fg: var(--psr-night); --psr-karteczka-cien: var(--psr-lift-sm); }
@media (max-width: 760px) {
  :root body .psr-karteczka {
    min-height: 140px;
    padding: 18px 16px;
    border-radius: var(--psr-radius-bubble);
    font-size: 20px;
  }
}

/* ---------- 13. Wycinek zwierzaka: biały obrys 4× drop-shadow bez rozmycia, bez cienia ---------- */
:root body .psr-wycinek {
  filter: drop-shadow(var(--psr-obrys, 6px) 0 0 var(--psr-obrys-kolor, var(--psr-white)))
    drop-shadow(calc(var(--psr-obrys, 6px) * -1) 0 0 var(--psr-obrys-kolor, var(--psr-white)))
    drop-shadow(0 var(--psr-obrys, 6px) 0 var(--psr-obrys-kolor, var(--psr-white)))
    drop-shadow(0 calc(var(--psr-obrys, 6px) * -1) 0 var(--psr-obrys-kolor, var(--psr-white)));
}
/* unoszenie wycinka w pętli (6 s) */
:root body .psr-unosi {
  animation: psr-float-y 6s ease-in-out infinite;
}

/* ---------- 14. Znak i sygnet (SVG z tokenów, napisy na krzywych) ----------
   <a class="psr-znak" href="/" aria-label="Pet Shop Rumia – strona główna"></a> */
:root body .psr-znak {
  display: block;
  width: var(--psr-znak-w, 210px);
  max-width: 100%;
  aspect-ratio: 500 / 150;
  background: var(--psr-svg-znak) center / contain no-repeat;
}
:root body .psr-znak--bialy { background-image: var(--psr-svg-znak-bialy); }
:root body .psr-sygnet {
  display: block;
  width: var(--psr-sygnet-w, 48px);
  aspect-ratio: 1620 / 1418;
  background: var(--psr-svg-sygnet) center / contain no-repeat;
}
:root body .psr-sygnet--bialy { background-image: var(--psr-svg-sygnet-bialy); }
:root body .psr-sygnet--noc { background-image: var(--psr-svg-sygnet-noc); }

/* ---------- 15. Plamy w tle i doodle ---------- */
/* <div class="psr-plamy" aria-hidden="true"><span></span><span></span><span></span><span></span></div>
   rodzic: position:relative; overflow:hidden; isolation:isolate. Kolory --psr-b1…--psr-b4 (domyślnie mięta) */
:root body .psr-plamy {
  position: absolute;
  inset: -12%;
  z-index: -1;
  filter: blur(64px);
  pointer-events: none;
}
:root body .psr-plamy > span {
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  animation: psr-drift 20s ease-in-out infinite alternate;
}
:root body .psr-plamy > span:nth-child(1) { left: 0; top: 24%; width: 44%; background: var(--psr-b1, #65c2c4); opacity: 0.75; }
:root body .psr-plamy > span:nth-child(2) { right: 2%; top: 4%; width: 40%; background: var(--psr-b2, #2a7c7e); opacity: 0.9; animation-duration: 24s; animation-delay: -6s; }
:root body .psr-plamy > span:nth-child(3) { left: 42%; top: 58%; width: 22%; background: var(--psr-b3, #7fd0d2); animation-duration: 17s; animation-delay: -3s; }
:root body .psr-plamy > span:nth-child(4) { left: 30%; top: -12%; width: 34%; background: var(--psr-b4, #4aa9ab); opacity: 0.7; animation-duration: 21s; }
@media (max-width: 760px) {
  :root body .psr-plamy > span { animation: none; }
}
/* doodle: <span class="psr-doodle psr-ic--d-sparkle" style="left:20%;top:30%" aria-hidden="true"></span>
   na ciemnym tylko limonka i biel; koral zostaje na jasnym; max 3 na banerze */
:root body .psr-doodle {
  position: absolute;
  z-index: 3;
  width: var(--psr-doodle-w, 34px);
  aspect-ratio: 1;
  background: var(--psr-doodle-kolor, var(--psr-lime));
  -webkit-mask: var(--psr-ic, var(--psr-d-sparkle)) center / contain no-repeat;
  mask: var(--psr-ic, var(--psr-d-sparkle)) center / contain no-repeat;
  pointer-events: none;
}
:root body .psr-doodle--migocze {
  animation: psr-twinkle 3.6s ease-in-out infinite;
}

/* ---------- 16. Lista z serduszkami i miękka tabela (jak treści z edytora) do bloków ---------- */
/* <ul class="psr-lista"><li>…</li></ul> – serduszko mięta głęboka; <ol class="psr-lista"> – numery w kółkach */
:root body .psr-lista {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: psr-ol;
}
:root body .psr-lista > li {
  position: relative;
  min-height: 24px;
  padding-left: 28px;
}
:root body ul.psr-lista > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.4em;
  width: 16px;
  height: 16px;
  background: var(--psr-lista-kolor, var(--psr-mint-deep));
  -webkit-mask: var(--psr-d-heart) center / contain no-repeat;
  mask: var(--psr-d-heart) center / contain no-repeat;
}
:root body ol.psr-lista > li {
  counter-increment: psr-ol;
  padding-left: 40px;
}
:root body ol.psr-lista > li::before {
  content: counter(psr-ol);
  position: absolute;
  left: 0;
  top: 0.05em;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--psr-lista-kolor, var(--psr-mint-deep));
  color: var(--psr-white);
  font-size: 15px;
  line-height: 28px;
  text-align: center;
}
/* miękka tabela KV (.soft-table): wiersze-pastylki mięta 8; na telefonie każdy wiersz to kafelek,
   podpis wartości z atrybutu data-label na <td> */
:root body .psr-tabela {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 6px;
  font-size: 16px;
}
:root body .psr-tabela th {
  padding: 0 14px 4px;
  color: var(--psr-muted);
  font-size: var(--psr-fs-label);
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}
:root body .psr-tabela td {
  padding: 10px 14px;
  background: var(--psr-mint-8);
  color: var(--psr-ink);
  vertical-align: middle;
}
:root body .psr-tabela td:first-child { border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row); }
:root body .psr-tabela td:last-child { border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0; }
@media (max-width: 760px) {
  :root body .psr-tabela, :root body .psr-tabela tbody { display: block; }
  :root body .psr-tabela thead { display: none; }
  :root body .psr-tabela tr {
    display: grid;
    gap: 6px 12px;
    margin-bottom: 8px;
    padding: 12px 14px;
    border-radius: var(--psr-radius-row);
    background: var(--psr-mint-8);
  }
  :root body .psr-tabela td { display: block; padding: 0; background: none; border-radius: 0; }
  :root body .psr-tabela td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 1px;
    color: var(--psr-muted);
    font-size: 11.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
}

/* ----- 10-naglowek.css ----- */
/* ==========================================================================
   10-naglowek.css – NAGŁÓWEK: pasek górny (blok 7FMi…), cały <header> jako miętowa sekcja KV
   z falą na dole, znak KV zamiast logo PNG, menu główne (pastylki + panele), szukajka-pastylka,
   konto (ikona + dymek Zaloguj/Zarejestruj), koszyk (przycisk KV z licznikiem i kwotą + dymek),
   telefon: menu | logo | konto | koszyk w jednym rzędzie, szukajka pod spodem, szuflada w nocnej mięcie.
   Zastępuje style z bloków pdsLgxRHm0SAIPsL74i7EQ i UFjbJViYakilzLkEEh4H7Q (bloki czyścimy – bloki/pusty.html).

   Kotwica: [id="wrapper"] > header (0,1,1) – tylko nagłówek sklepu (nie <header> w treści bloków),
   bez podbijania id. Reguły szablonu, które przebijamy, mają najwyżej (0,6,2) (menu, stan :hover).
   Układ: display: contents na opakowaniach Bootstrapa + jedna siatka na header > .container-fluid > .row;
   elementami siatki są same widgety (bez :has()). Kolejność w DOM zostaje (knockout, fokus).
   Lepkość (sekcja 9): ze skryptem bloku paska górnego po przewinięciu przypina się sama pastylka menu z koszykiem
   (komputer) albo biały pasek menu | znak | koszyk (telefon) – jak przyklejona nawigacja KV; cały nagłówek się nie klei.
   ========================================================================== */

/* ---------- 0. Nagłówek jako sekcja: mięta głęboka, kontekst „na kolorze”, fala na dole ----------
   Tło nagłówka maluje ::before z dolną krawędzią wyciętą falą (maska: prostokąt + fala). Pas fali (--psr-nag-fala-h)
   zachodzi na początek .content (ujemny margines nagłówka + ten sam padding-top treści), więc pod falą widać
   PRAWDZIWĄ sekcję poniżej – białą stronę albo scenę główną w mięcie (wtedy .content bez paddingu: nagłówek i scena
   łączą się falą zamiast prostej krawędzi). Nic nie trzeba ustawiać w modułach stron. */
[id="wrapper"] {
  --psr-nag-fala-h: clamp(34px, 3.9vw, 56px);
}
[id="wrapper"] > header {
  --psr-nag-w: 1140px;                  /* szerokość treści = .container szablonu bez paddingu */
  --psr-nag-g: 24px;                    /* odstęp kolumn siatki */
  --psr-nag-bok: max(6px, calc((100% - var(--psr-nag-w)) / 2 - var(--psr-nag-g)));
  --psr-fala-kafel: 720px;
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-lift: var(--psr-lift-mint-deep);
  --psr-lift-sm: var(--psr-lift-sm-mint-deep);
  --psr-nag-panel-cien: 0 24px 48px -26px rgba(14, 48, 49, 0.42);
  position: relative;
  z-index: 1030;                        /* panele menu, dymki i szuflada nad treścią strony (okna 1040+ nad nami) */
  margin-bottom: calc(-1 * var(--psr-nag-fala-h));
  padding-bottom: var(--psr-nag-fala-h);
  background: none;
  color: var(--psr-white);
}
/* clearfix szablonu (L1301) na header::before/::after – ::before = tło z falą, ::after zbędny */
[id="wrapper"] > header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  background-color: var(--psr-mint-deep);
  /* dwie miękkie plamy jak w scenie KV (statyczne, bez rozmycia filtrem) */
  background-image:
    radial-gradient(38% 130% at 4% 8%, rgba(101, 194, 196, 0.5), rgba(101, 194, 196, 0) 70%),
    radial-gradient(30% 110% at 97% 70%, rgba(37, 111, 113, 0.7), rgba(37, 111, 113, 0) 72%);
  -webkit-mask:
    linear-gradient(#000 0 0) 0 0 / 100% calc(100% - var(--psr-nag-fala-h) + 1px) no-repeat,
    var(--psr-svg-fala-gora) 0 100% / var(--psr-fala-kafel) var(--psr-nag-fala-h) repeat-x;
  mask:
    linear-gradient(#000 0 0) 0 0 / 100% calc(100% - var(--psr-nag-fala-h) + 1px) no-repeat,
    var(--psr-svg-fala-gora) 0 100% / var(--psr-fala-kafel) var(--psr-nag-fala-h) repeat-x;
  animation: psr-nag-fala 21s linear infinite;
  pointer-events: none;
}
[id="wrapper"] > header::after {
  content: none;
}
/* fala płynie (przesuwa się tylko warstwa fali maski; wyłącznik ruchu z 01-baza zatrzymuje) */
@keyframes psr-nag-fala {
  to {
    -webkit-mask-position: 0 0, var(--psr-fala-kafel, 720px) 100%;
    mask-position: 0 0, var(--psr-fala-kafel, 720px) 100%;
  }
}
/* treść zaczyna się tam, gdzie wcześniej (pas fali leży na jej górnym paddingu) */
[id="wrapper"] > header + .content {
  padding-top: var(--psr-nag-fala-h);
}
/* strona główna: scena główna (mięta głęboka) wchodzi pod pas fali – bez prostej krawędzi między sekcjami */
html.StronaGlowna [id="wrapper"] > header + .content:has(.psr-hero) {
  padding-top: 0;
}

/* ---------- 1. Siatka: opakowania Bootstrapa znikają z układu, widgety stają się komórkami ---------- */
[id="wrapper"] > header > .container-fluid {
  padding: 0;
}
[id="wrapper"] > header > .container-fluid > .row {
  display: grid;
  grid-template-columns: var(--psr-nag-bok) auto minmax(0, 1fr) auto auto var(--psr-nag-bok);
  grid-template-areas:
    "pasek pasek pasek pasek pasek pasek"
    ". logo szukaj konto koszyk ."
    ". menu menu menu menu .";
  align-items: center;
  column-gap: var(--psr-nag-g);
  row-gap: 18px;
  margin: 0;
}
[id="wrapper"] > header > .container-fluid > .row::before,
[id="wrapper"] > header > .container-fluid > .row::after {
  content: none;
}
[id="wrapper"] > header > .container-fluid > .row > .naglowek,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .container,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .container > .row,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .container > .row > [class*="col-"],
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .row,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .row > .container,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .row > .container > .row,
[id="wrapper"] > header > .container-fluid > .row > .naglowek > .row > .container > .row > [class*="col-"],
[id="wrapper"] > header > .container-fluid > .row > .blue-container,
[id="wrapper"] > header > .container-fluid > .row > .blue-container > .container,
[id="wrapper"] > header > .container-fluid > .row > .blue-container > .container > .row,
[id="wrapper"] > header > .container-fluid > .row > .blue-container > .container > .row > [class*="col-"],
[id="wrapper"] > header > .container-fluid > .row > .container,
[id="wrapper"] > header > .container-fluid > .row > .container > .row,
[id="wrapper"] > header > .container-fluid > .row > .container > .row > [class*="col-"] {
  display: contents;
}
/* clearfixy (::before/::after z display:table, L761) opakowań z display:contents też trafiłyby do siatki
   jako puste komórki i dokładały wiersze – wyłączamy je (tylko opakowania, nie treść widgetów) */
[id="wrapper"] > header > .container-fluid > .row :is(.naglowek, .blue-container, .container, .row, [class*="col-"]):not(.widget *)::before,
[id="wrapper"] > header > .container-fluid > .row :is(.naglowek, .blue-container, .container, .row, [class*="col-"]):not(.widget *)::after {
  content: none;
}
[id="wrapper"] > header > .container-fluid > .row > .clearfix {
  display: none;
}
/* widgety: bez paddingu 10 px szablonu (L1353) */
[id="wrapper"] > header .widget {
  min-width: 0;
  padding: 0;
}
/* kolumny obok logo: dawne bloki stylów pdsLg… i UFjb… (puste) – bez miejsca w układzie */
[id="wrapper"] > header .naglowek.col-xs-12 .widget.custom {
  display: none;
}
[id="wrapper"] > header .naglowek:not(.col-xs-12) .widget { grid-area: pasek; }
[id="wrapper"] > header .widget.logo { grid-area: logo; }
[id="wrapper"] > header .widget.search-widget { grid-area: szukaj; }
[id="wrapper"] > header .widget.user-account { grid-area: konto; }
[id="wrapper"] > header .widget.cart { grid-area: koszyk; }
[id="wrapper"] > header .widget.main-menu { grid-area: menu; }

/* ---------- 2. Pasek górny (blok bloki/pasek-gorny.html) – KV „Pasek informacyjny”: limonka, nocna mięta ---------- */
[id="wrapper"] > header .naglowek:not(.col-xs-12) .widget {
  --psr-focus: var(--psr-night);
  background: var(--psr-lime);
  color: var(--psr-night);
}
.psr-blok.psr-pasek {
  max-width: calc(var(--psr-nag-w, 1140px) + 32px);
  margin: 0 auto;
  padding: 9px 16px;
  color: var(--psr-night);
  font-size: 14.5px;
  line-height: 1.3;
}
.psr-blok.psr-pasek .psr-pasek-lista {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px 24px;
}
.psr-blok.psr-pasek .psr-pasek-el {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.psr-blok.psr-pasek .psr-pasek-el .psr-ic {
  --psr-ic-size: 18px;
}

/* ---------- 3. Logo: znak KV (biały) jako tło linku; obraz PNG ukryty wizualnie (alt zostaje dla czytników i SEO) ---------- */
[id="wrapper"] > header .logo a.brand {
  position: relative;
  display: block;
  width: 200px;
  aspect-ratio: 500 / 150;
  border-radius: 12px;
  background: var(--psr-svg-znak-bialy) center / contain no-repeat;
  color: var(--psr-white);
  transition: scale var(--psr-t-base) var(--psr-spring);
}
[id="wrapper"] > header .logo a.brand:hover {
  scale: 1.03;
}
[id="wrapper"] > header .logo a.brand img {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  opacity: 0;
}

/* ---------- 4. Wyszukiwarka – KV „search-bar”: pastylka 56 px, lupa, przycisk nocna mięta ---------- */
[id="wrapper"] > header .search-widget .search-widget-form {
  --psr-focus: var(--psr-night);
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  margin: 0;
  padding: 0 6px 0 52px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
[id="wrapper"] > header .search-widget .search-widget-form::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  background: var(--psr-night);
  -webkit-mask: var(--psr-i-search) center / contain no-repeat;
  mask: var(--psr-i-search) center / contain no-repeat;
  pointer-events: none;
}
[id="wrapper"] > header .search-widget .search-widget-form:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
[id="wrapper"] > header .search-widget .search-widget-form:focus-within {
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
/* ponad 128 znaków – knockout-validation daje polu .validationElement */
[id="wrapper"] > header .search-widget .search-widget-form:has(.validationElement) {
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-coral-deep), 0 0 0 6px var(--psr-coral-20);
}
[id="wrapper"] > header .search-widget input.search-widget-query,
[id="wrapper"] > header .search-widget input.search-widget-query:is(:hover, :focus, .validationElement) {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--psr-ink);
  font-size: 17px;
  text-overflow: ellipsis;
  animation: none;
  outline: none;
}
/* × czyszczenia (knockout pokazuje go dopiero, gdy coś wpisano – inline display:none) */
[id="wrapper"] > header .search-widget .clear-input {
  position: relative;
  flex: none;
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--psr-mint-20);
  color: var(--psr-night);
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
}
[id="wrapper"] > header .search-widget .clear-input::before {
  content: "";
  width: 16px;
  height: 16px;
  margin: auto;
  background: currentColor;
  -webkit-mask: var(--psr-i-close-gruba) center / contain no-repeat;
  mask: var(--psr-i-close-gruba) center / contain no-repeat;
}
[id="wrapper"] > header .search-widget .clear-input:hover {
  background: var(--psr-mint-40);
  scale: 1.08;
}
/* przycisk „Szukaj” – nocna mięta z podeszwą, podniesiony o 2 px (KV .sh-search .btn) */
[id="wrapper"] > header .search-widget button.btn-search {
  position: relative;
  z-index: auto;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  float: none;
  width: auto;
  max-width: none;
  height: 44px;
  margin: 0;
  padding: 0 16px 0 20px;
  overflow: visible;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-night);
  background-image: none;
  box-shadow: 0 4px 0 var(--psr-sole-night);
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1;
  text-indent: 0;
  translate: 0 -2px;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
[id="wrapper"] > header .search-widget button.btn-search::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
[id="wrapper"] > header .search-widget button.btn-search:is(:hover, :focus) {
  border: 0;
  background: var(--psr-night);
  color: var(--psr-white);
}
[id="wrapper"] > header .search-widget button.btn-search:hover {
  translate: 0 -5px;
  box-shadow: 0 7px 0 var(--psr-sole-night);
}
[id="wrapper"] > header .search-widget button.btn-search:active {
  translate: 0 1px;
  box-shadow: 0 1px 0 var(--psr-sole-night);
}
[id="wrapper"] > header .search-widget button.btn-search:focus-visible {
  outline: 3px solid var(--psr-night);
  outline-offset: 3px;
}
/* węższe ekrany: sama strzałka (napis zostaje dla czytnika) */
@media (max-width: 1199px) {
  [id="wrapper"] > header .search-widget button.btn-search {
    width: 44px;
    padding: 0;
    font-size: 0;
  }
}

/* ---------- 5. Konto – ikona w jasnym kółku (KV .sh-icbtn) + dymek z Zaloguj / Zarejestruj ---------- */
[id="wrapper"] > header .user-account .widget-content,
[id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content {
  position: relative;
  float: none;
  width: 52px;
  max-width: none;
  height: 52px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-mint-8);
  background-image: none;
  color: var(--psr-night);
  font-size: 15px;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease;
}
[id="wrapper"] > header .user-account .widget-content::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  width: 24px;
  height: 24px;
  margin: auto;
  background: currentColor;
  -webkit-mask: var(--psr-i-user) center / contain no-repeat;
  mask: var(--psr-i-user) center / contain no-repeat;
  transition: scale var(--psr-t-base) var(--psr-spring);
  pointer-events: none;
}
[id="wrapper"] > header .user-account .widget-content::after {
  content: none;
}
[id="wrapper"] > header .user-account .widget-content:is(:hover, :focus-within) {
  background-color: var(--psr-mint-20);
}
[id="wrapper"] > header .user-account .widget-content:is(:hover, :focus-within)::before {
  scale: 1.12;
}
[id="wrapper"] > header .user-account .user-account-actions {
  float: none;
  display: grid;
  gap: 12px;
  min-height: 0;
  margin: 0;
  padding: 0;
}
[id="wrapper"] > header .user-account .user-account-actions > i {
  display: none;
}
[id="wrapper"] > header .user-account .user-account-label {
  color: var(--psr-muted);
  font-size: 14px;
  text-align: center;
}
/* linki dymku jak w KV „Dymek i okienko”: pierwszy (Zaloguj / Moje konto) = przycisk S nocna mięta z podeszwą,
   pozostałe (Zarejestruj, Wyloguj…) = link ze strzałką (KV .btn-link). Fundament nie obejmuje tych linków – styl lokalny. */
[id="wrapper"] > header .user-account .widget-content .user-account-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  gap: 8px;
  float: none;
  width: auto;
  margin: 0;
  padding: 2px 0 3px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 2px no-repeat;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: background-size 350ms var(--psr-smooth), gap var(--psr-t-base) var(--psr-spring);
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a::after {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:is(:hover, :focus) {
  gap: 12px;
  background-size: 100% 2px;
  color: var(--psr-night);
  text-decoration: none;
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type {
  justify-self: stretch;
  min-height: 44px;
  padding: 8px 18px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-night);
  box-shadow: 0 3px 0 var(--psr-sole-night);
  color: var(--psr-white);
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type::after {
  content: none;
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type:is(:hover, :focus) {
  gap: 8px;
  background: var(--psr-night);
  color: var(--psr-white);
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type:hover {
  translate: 0 -3px;
  box-shadow: 0 6px 0 var(--psr-sole-night);
}
[id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type:active {
  translate: 0 2px;
  box-shadow: 0 1px 0 var(--psr-sole-night);
}

/* ---------- 6. Koszyk – przycisk KV (limonka na mięcie) z wózkiem, licznikiem i kwotą ---------- */
[id="wrapper"] > header .cart .widget-content {
  position: relative;
  float: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: 15px;
  text-align: left;
}
[id="wrapper"] > header .cart .widget-content::before,
[id="wrapper"] > header .cart .widget-content::after {
  content: none;
}
[id="wrapper"] > header .cart .widget-content .cart-info {
  --psr-focus: var(--psr-white);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 52px;
  padding: 0 22px 0 18px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-lime);
  box-shadow: 0 4px 0 var(--psr-sole-lime);
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  text-transform: none;
  white-space: nowrap;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
[id="wrapper"] > header .cart .widget-content .cart-info::before {
  content: "";
  flex: none;
  width: 22px;
  height: 22px;
  background: currentColor;
  -webkit-mask: var(--psr-i-cart) center / contain no-repeat;
  mask: var(--psr-i-cart) center / contain no-repeat;
}
[id="wrapper"] > header .cart .widget-content .cart-info::after {
  content: none;
}
[id="wrapper"] > header .cart .widget-content .cart-info:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: none;
}
[id="wrapper"] > header .cart .widget-content .cart-info:hover {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-sole-lime);
}
[id="wrapper"] > header .cart .widget-content .cart-info:active {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-sole-lime);
}
[id="wrapper"] > header .cart .widget-content .cart-info span {
  display: inline-block;
  padding: 0;
  border: 0;
}
/* „Pozycji:” – tylko dla czytnika (licznik mówi to samo obrazem) */
[id="wrapper"] > header .cart .widget-content .cart-info .cart-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
/* licznik – pastylka nocna mięta z białą cyfrą (KV .sh-badge na kolorowym przycisku) */
[id="wrapper"] > header .cart .widget-content .cart-info .cart-quantity {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-night);
  color: var(--psr-white);
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}
[id="wrapper"] > header .cart .widget-content .cart-info span.cart-price {
  padding: 0;
  border-left: 0;
}
/* pusty koszyk – bez „0” (knockout wstawia .cart-empty tylko, gdy koszyk jest pusty) */
[id="wrapper"] > header .cart:has(.cart-empty) .cart-info .cart-quantity {
  display: none;
}

/* ==========================================================================
   7. Tablet i komputer (≥ 768 px): logo | szukajka | konto | koszyk, pod spodem menu w białej pastylce
   ========================================================================== */
@media (min-width: 768px) {
  [id="wrapper"] > header > .container-fluid > .row {
    padding-bottom: 6px;
  }

  /* --- 7.1 Menu główne: biała pastylka (KV „nav-pill”) z pastylkami kategorii (KV „sh-cat”) --- */
  [id="wrapper"] > header .main-menu .widget-content {
    --psr-focus: var(--psr-night);
    margin: 0;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 6px;
    border-radius: var(--psr-radius-pill);
    background: var(--psr-white);
    box-shadow: var(--psr-lift-sm);
    font-size: 17px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav::before,
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav::after {
    content: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li {
    position: relative;
    float: none;
    background: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: none;
    min-height: 44px;
    padding: 8px 18px;
    border: 0;
    border-radius: var(--psr-radius-pill);
    background: transparent;
    color: var(--psr-night);
    font-size: 17px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a:is(:hover, :focus) {
    background: var(--psr-mint-20);
    color: var(--psr-night);
    text-decoration: none;
  }
  /* bieżąca strona (klasa od serwera) – wypełniona nocna mięta (KV .nav-links a.is-active) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.menu-active > a {
    background: var(--psr-night);
    color: var(--psr-white);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.menu-active > a:focus-visible {
    outline-color: var(--psr-night);
  }
  /* szewron KV zamiast trójkąta z ramek (L3864); b.caret bez stylu – chowamy */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav .has-submenu > a::after {
    content: "";
    display: block;
    flex: none;
    width: 16px;
    height: 16px;
    margin: 1px -4px 0 0;
    border: 0;
    background: currentColor;
    -webkit-mask: var(--psr-i-chevron) center / contain no-repeat;
    mask: var(--psr-i-chevron) center / contain no-repeat;
    transition: rotate var(--psr-t-base) var(--psr-spring);
  }
  [id="wrapper"] > header .main-menu .nav .has-submenu > a > b.caret {
    display: none;
  }
  /* otwarta kategoria: wypełniona mięta głęboka, szewron obrócony (KV .sh-cat[aria-expanded=true]); kot – liliowy */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:is(:hover, :focus-within) > a {
    background: var(--psr-mint-deep);
    color: var(--psr-white);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="Kotow"]):is(:hover, :focus-within) > a {
    background: var(--psr-lilac-deep);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:is(:hover, :focus-within) > a::after {
    rotate: 180deg;
  }

  /* --- 7.2 Panele podmenu: biały panel r 30 z ogonkiem i cieniem (KV „sh-mega”), dwie kolumny linków --- */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul {
    --psr-focus: var(--psr-night);
    position: absolute;
    top: calc(100% + 16px);
    left: -6px;
    right: auto;
    z-index: 20;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 2px 20px;
    width: max-content;
    min-width: 0;
    max-width: min(560px, calc(100vw - 32px));
    margin: 0;
    padding: 22px 22px 22px 24px;
    border-radius: 30px;
    background: var(--psr-white);
    box-shadow: var(--psr-nag-panel-cien);
    visibility: hidden;
    opacity: 0;
    scale: 0.97;
    translate: 0 -12px;
    transform-origin: 44px 0;
    transition: opacity 200ms ease, scale 300ms ease, translate 300ms ease, visibility 0s 300ms;
  }
  /* ostatnie pozycje menu: panel przy prawej krawędzi pozycji, żeby nie wyjechał poza ekran */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:nth-child(n+4) > ul {
    left: auto;
    right: -6px;
    transform-origin: calc(100% - 44px) 0;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:is(:hover, :focus-within) > ul {
    visibility: visible;
    opacity: 1;
    scale: 1;
    translate: 0 0;
    transition: opacity 220ms ease, scale var(--psr-t-big) var(--psr-spring), translate var(--psr-t-big) var(--psr-spring), visibility 0s;
  }
  /* ogonek (kwadrat 18 px obrócony o 45°) i niewidoczny mostek nad szczeliną – najechanie nie gaśnie w drodze do panelu */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 34px;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: var(--psr-white);
    rotate: 45deg;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:nth-child(n+4) > ul::before {
    left: auto;
    right: 34px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    height: 20px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li {
    float: none;
  }
  /* linki podmenu – KV .sh-mega-col a: 16,5 px grafit, na najechanie mięta 8 + przesunięcie 4 px */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li > a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: var(--psr-radius-pill);
    background: transparent;
    color: var(--psr-ink);
    font-size: 16.5px;
    line-height: 1.3;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease, translate var(--psr-t-base) var(--psr-spring);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li > a:is(:hover, :focus) {
    background: var(--psr-mint-8);
    color: var(--psr-night);
    text-decoration: none;
    translate: 4px 0;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="Kotow"]) > ul > li > a:is(:hover, :focus) {
    background: var(--psr-lilac-8);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li.menu-active > a {
    background: var(--psr-mint-20);
    color: var(--psr-night);
  }
  /* Polecane marki: pastylki KV „hint” (mięta 20 → mięta głęboka z białym tekstem, skala 1,06) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="keyword="]) > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 400px;
    padding: 24px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="keyword="]) > ul > li > a {
    padding: 7px 14px;
    background: var(--psr-mint-20);
    color: var(--psr-night);
    font-size: 15.5px;
    transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="keyword="]) > ul > li > a:is(:hover, :focus) {
    background: var(--psr-mint-deep);
    color: var(--psr-white);
    translate: none;
    scale: 1.06;
  }

  /* --- 7.3 Dymki konta i koszyka – biały panel r 24–26 z ogonkiem (KV „Dymek i okienko”) --- */
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content .user-account-tooltip,
  [id="wrapper"] > header .cart .widget-content .cart-tooltip {
    --psr-focus: var(--psr-night);
    position: absolute;
    top: calc(100% + 16px);
    right: -8px;
    left: auto;
    z-index: 30;
    margin: 0;
    border: 0;
    background: var(--psr-white);
    box-shadow: var(--psr-nag-panel-cien);
    color: var(--psr-ink);
    text-align: left;
    visibility: visible;                 /* szablon: visibility:hidden – linki muszą być osiągalne z klawiatury */
    opacity: 0;
    pointer-events: none;
    scale: 0.97;
    translate: 0 -10px;
    transform-origin: calc(100% - 34px) 0;
    transition: opacity 200ms ease, scale 300ms ease, translate 300ms ease;
  }
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content .user-account-tooltip {
    width: 240px;
    padding: 18px;
    border-radius: var(--psr-radius-bubble);
  }
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content:is(:hover, :focus-within) .user-account-tooltip,
  [id="wrapper"] > header .cart .widget-content:is(:hover, :focus-within) .cart-tooltip {
    opacity: 1;
    pointer-events: auto;
    scale: 1;
    translate: 0 0;
    transition: opacity 220ms ease, scale var(--psr-t-big) var(--psr-spring), translate var(--psr-t-big) var(--psr-spring);
  }
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content .user-account-tooltip::before,
  [id="wrapper"] > header .cart .widget-content .cart-tooltip::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 25px;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: var(--psr-white);
    rotate: 45deg;
  }
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content .user-account-tooltip::after,
  [id="wrapper"] > header .cart .widget-content .cart-tooltip::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -20px;
    height: 20px;
  }

  /* --- 7.4 Dymek koszyka (mini-koszyk) --- */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip {
    width: 350px;
    padding: 18px;
    border-radius: 26px;
    font-size: 15px;
    line-height: 1.35;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip::before {
    right: 40px;
  }
  /* pusto – liliowe kółko z łapką (KV „Pusto jak w misce”) */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-empty {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin: 4px 0 6px;
    color: var(--psr-night);
    font-size: 18px;
    line-height: 1.2;
    text-align: center;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-empty::before {
    content: "";
    grid-area: 1 / 1;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--psr-lilac-20);
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-empty::after {
    content: "";
    grid-area: 1 / 1;
    align-self: center;
    width: 30px;
    height: 30px;
    background: var(--psr-lilac-deep);
    -webkit-mask: var(--psr-d-paw) center / contain no-repeat;
    mask: var(--psr-d-paw) center / contain no-repeat;
    rotate: -14deg;
  }
  /* pozycje: miniatura w kafelku kamień 8 | nazwa (2 linie), ilość, cena */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-list:empty {
    display: none;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item::after {
    content: none;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-image {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: var(--psr-radius-row);
    background: var(--psr-stone-8);
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-image img {
    max-width: 78%;
    max-height: 78%;
    object-fit: contain;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-description {
    display: grid;
    gap: 2px;
    width: auto;
    padding: 0;
    font-size: 15px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-title {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--psr-ink);
    font-size: 15px;
    line-height: 1.3;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item p.cart-tooltip-item-quantity {
    margin: 0;
    color: var(--psr-muted);
    font-size: 13.5px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item p.cart-tooltip-item-quantity .cart-tooltip-item-label {
    margin-right: 4px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-item-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    margin: 0;
    color: var(--psr-night);
    font-size: 17px;
    line-height: 1.2;
  }
  /* cena promocyjna – koral (mały element cenowy), stara cena przekreślona szara */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-promotion-price {
    color: var(--psr-coral-deep);
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-item .cart-tooltip-standard-price {
    color: var(--psr-muted);
    font-size: 13.5px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .show-properties {
    margin: 10px 0 0;
    font-size: 15px;
    text-align: center;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .show-properties a.showMoreItems {
    color: var(--psr-mint-deep);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
  }
  /* suma – pole mięta 8 (KV stopka mini-koszyka) */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-summary-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 0;
    padding: 12px 16px;
    border: 0;
    border-radius: var(--psr-radius-row);
    background: var(--psr-mint-8);
    text-align: left;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-summary-price::after {
    content: none;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-summary-price .cart-tooltip-total-price-label {
    float: none;
    color: var(--psr-muted);
    font-size: 15px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-summary-price .cart-tooltip-total-price-value {
    color: var(--psr-night);
    font-size: 24px;
    line-height: 1;
    white-space: nowrap;
  }
  /* „Pokaż koszyk” – wygląd przycisku z fundamentu (02); tu tylko szerokość i odstęp */
  [id="wrapper"] > header .cart .widget-content .cart-tooltip .cart-tooltip-props {
    margin-top: 14px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-tooltip a.cart-tooltip-props-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
  }
}

/* ---------- 7.5 Rozmiary: 992–1199 i 768–991 ---------- */
@media (min-width: 992px) and (max-width: 1199px) {
  [id="wrapper"] > header {
    --psr-nag-w: 940px;
    --psr-nag-g: 18px;
  }
  [id="wrapper"] > header .logo a.brand {
    width: 176px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a {
    padding-inline: 15px;
    font-size: 16px;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  [id="wrapper"] > header {
    --psr-nag-w: 720px;
    --psr-nag-g: 14px;
  }
  [id="wrapper"] > header .logo a.brand {
    width: 150px;
  }
  .psr-blok.psr-pasek {
    font-size: 13.5px;
  }
  .psr-blok.psr-pasek .psr-pasek-lista {
    gap: 6px 14px;
  }
  .psr-blok.psr-pasek .psr-pasek-el .psr-ic {
    --psr-ic-size: 16px;
  }
  [id="wrapper"] > header .search-widget .search-widget-form {
    height: 52px;
    padding-left: 46px;
  }
  [id="wrapper"] > header .search-widget .search-widget-form::before {
    left: 16px;
  }
  [id="wrapper"] > header .user-account .widget-content,
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content {
    width: 48px;
    height: 48px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-info {
    height: 48px;
    padding: 0 18px 0 15px;
    font-size: 17px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    padding: 4px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a {
    min-height: 42px;
    padding-inline: 11px;
    font-size: 15px;
    gap: 4px;
  }
}

/* ==========================================================================
   8. Telefon (≤ 767 px): menu | logo | konto | koszyk, pod spodem szukajka; szuflada w nocnej mięcie
   ========================================================================== */
@media (max-width: 767px) {
  [id="wrapper"] {
    --psr-nag-fala-h: 24px;
  }
  [id="wrapper"] > header {
    --psr-nag-w: calc(100% - 32px);
    --psr-nag-g: 10px;
    --psr-fala-kafel: 360px;
  }
  [id="wrapper"] > header > .container-fluid > .row {
    grid-template-columns: var(--psr-nag-bok) 44px minmax(0, 1fr) 44px 44px var(--psr-nag-bok);
    grid-template-areas:
      "pasek pasek pasek pasek pasek pasek"
      ". menu logo konto koszyk ."
      ". szukaj szukaj szukaj szukaj .";
    row-gap: 10px;
    padding-bottom: 4px;
  }

  /* --- 8.1 Pasek górny: jeden komunikat naraz (rotację robi skrypt bloku; bez JS – pierwszy) --- */
  .psr-blok.psr-pasek {
    padding: 7px 16px;
    font-size: 13.5px;
    line-height: 1.2;
  }
  .psr-blok.psr-pasek .psr-pasek-lista {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;   /* bez tego space-between z komputera przyklejało jedyną kolumnę do lewej */
    justify-items: center;
  }
  .psr-blok.psr-pasek .psr-pasek-el {
    grid-area: 1 / 1;
    gap: 7px;
    opacity: 0;
    translate: 0 8px;
    pointer-events: none;
    transition: opacity 220ms ease, translate var(--psr-t-big) var(--psr-spring);
  }
  .psr-blok.psr-pasek .psr-pasek-el.is-aktywny {
    opacity: 1;
    translate: 0 0;
    pointer-events: auto;
  }
  .psr-blok.psr-pasek .psr-pasek-el .psr-ic {
    --psr-ic-size: 16px;
  }

  /* --- 8.2 Logo, szukajka, konto, koszyk --- */
  [id="wrapper"] > header .widget.logo {
    justify-self: center;
  }
  [id="wrapper"] > header .logo a.brand {
    width: 134px;
  }
  [id="wrapper"] > header .search-widget .search-widget-form {
    height: 50px;
    padding: 0 5px 0 44px;
  }
  [id="wrapper"] > header .search-widget .search-widget-form::before {
    left: 16px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
  }
  [id="wrapper"] > header .search-widget input.search-widget-query,
  [id="wrapper"] > header .search-widget input.search-widget-query:is(:hover, :focus, .validationElement) {
    font-size: 16px;
  }
  [id="wrapper"] > header .search-widget button.btn-search {
    width: 40px;
    height: 40px;
  }
  [id="wrapper"] > header .search-widget button.btn-search::after {
    width: 18px;
    height: 18px;
  }
  /* konto: kółko 44 px; dymek niedostępny dotykiem – pierwszy link (Zaloguj / Moje konto) wypełnia kółko */
  [id="wrapper"] > header .user-account .widget-content,
  [id="wrapper"] > header .user-account.user-account-tooltip-visible .widget-content {
    width: 44px;
    height: 44px;
  }
  [id="wrapper"] > header .user-account .widget-content::before {
    width: 22px;
    height: 22px;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-tooltip {
    position: static;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-label {
    display: none;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-actions {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    font-size: 0;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-actions a {
    display: none;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: transparent;
    font-size: 0;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type:is(:hover, :focus, :active) {
    background: transparent;
    box-shadow: none;
    translate: none;
  }
  [id="wrapper"] > header .user-account .widget-content .user-account-actions a:first-of-type:focus-visible {
    outline: 3px solid var(--psr-white);
    outline-offset: 3px;
  }
  /* koszyk: okrągły 44 px, licznik w rogu, kwota tylko dla czytnika (KV .cart na telefonie) */
  [id="wrapper"] > header .cart .widget-content .cart-info {
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    box-shadow: 0 3px 0 var(--psr-sole-lime);
  }
  [id="wrapper"] > header .cart .widget-content .cart-info:hover {
    translate: 0 -2px;
    box-shadow: 0 5px 0 var(--psr-sole-lime);
  }
  [id="wrapper"] > header .cart .widget-content .cart-info:active {
    translate: 0 2px;
    box-shadow: 0 1px 0 var(--psr-sole-lime);
  }
  [id="wrapper"] > header .cart .widget-content .cart-info::before {
    width: 20px;
    height: 20px;
  }
  [id="wrapper"] > header .cart .widget-content .cart-info .cart-quantity {
    position: absolute;
    top: -5px;
    right: -6px;
    box-shadow: 0 0 0 2px var(--psr-mint-deep);
  }
  [id="wrapper"] > header .cart .widget-content .cart-info span.cart-price {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  /* --- 8.3 Przycisk menu (KV .sh-icbtn) – po otwarciu krzyżyk w rogu szuflady --- */
  @keyframes psr-nag-krzyzyk {
    from {
      translate: calc(min(86vw, 340px) * -1.04) 0;   /* = start szuflady (translate: -104% jej szerokości) */
    }
  }
  [id="wrapper"] > header .main-menu,
  [id="wrapper"] > header .main-menu .widget-content {
    position: static;
    margin: 0;
    padding: 0;
  }
  [id="wrapper"] > header .main-menu .widget-content .navbar-toggle {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 44px;
    max-width: none;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--psr-mint-8);
    box-shadow: none;
    color: var(--psr-night);
    font-size: 0;
    cursor: pointer;
    transition: background-color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
  }
  [id="wrapper"] > header .main-menu .widget-content .navbar-toggle::before {
    content: "";
    display: block;
    width: 22px;
    height: 22px;
    color: inherit;                      /* szablon (L3808) daje ::before biały kolor */
    background: currentColor;
    -webkit-mask: var(--psr-i-menu) center / contain no-repeat;
    mask: var(--psr-i-menu) center / contain no-repeat;
  }
  [id="wrapper"] > header .main-menu .widget-content .navbar-toggle:hover {
    background: var(--psr-mint-20);
  }
  [id="wrapper"] > header .main-menu .widget-content .navbar-toggle:active {
    scale: 0.92;
  }
  [id="wrapper"] > header .main-menu .widget-content .navbar-toggle:focus-visible {
    outline: 3px solid var(--psr-white);
    outline-offset: 3px;
  }
  /* krzyżyk wjeżdża razem z szufladą (ten sam czas i krzywa co translate szuflady), a nie pojawia się od razu
     nad tłem, zanim szuflada dojedzie (uwaga właściciela 24.09.2026) */
  [id="wrapper"] > header .main-menu.active .widget-content .navbar-toggle {
    position: fixed;
    top: 14px;
    left: calc(min(86vw, 340px) - 58px);
    background: rgba(255, 255, 255, 0.12);
    color: var(--psr-white);
    animation: psr-nag-krzyzyk var(--psr-t-big) var(--psr-smooth) both;
  }
  [id="wrapper"] > header .main-menu.active .widget-content .navbar-toggle::before {
    -webkit-mask-image: var(--psr-i-close);
    mask-image: var(--psr-i-close);
  }
  [id="wrapper"] > header .main-menu.active .widget-content .navbar-toggle:hover {
    background: rgba(255, 255, 255, 0.22);
  }

  /* --- 8.4 Szuflada: stan platformy .main-menu.active (od razu) / .nav-collapse.in (po 350 ms) --- */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse,
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse.collapse,
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse.collapsing {
    --psr-focus: var(--psr-white);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: min(86vw, 340px);
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;                  /* min/max wygrywają z inline height, które Bootstrap wstawia na 350 ms */
    max-height: 100vh;
    max-height: 100dvh;
    margin: 0;
    padding: 18px 14px 28px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 0 30px 30px 0;
    background: var(--psr-night);
    color: var(--psr-white);
    visibility: hidden;
    translate: -104% 0;
    transition: translate var(--psr-t-big) var(--psr-smooth), visibility 0s var(--psr-t-big);
  }
  [id="wrapper"] > header .main-menu.active .widget-content .nav-collapse {
    visibility: visible;
    translate: 0 0;
    transition: translate var(--psr-t-big) var(--psr-smooth), visibility 0s;
  }
  /* biały znak na górze szuflady (ozdoba – link do strony głównej jest w menu) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse::before {
    content: "";
    display: block;
    width: 128px;
    aspect-ratio: 500 / 150;
    margin: 2px 0 20px 6px;
    background: var(--psr-svg-znak-bialy) left center / contain no-repeat;
  }
  /* tło: nocna mięta 55% (::after .widget to clearfix szablonu – nadpisujemy display) */
  [id="wrapper"] > header .main-menu::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    display: block;
    background: rgba(29, 84, 86, 0.55);
    opacity: 0;
    visibility: hidden;
    transition: opacity 350ms ease, visibility 0s 350ms;
  }
  [id="wrapper"] > header .main-menu.active::after {
    opacity: 1;
    visibility: visible;
    transition: opacity 350ms ease, visibility 0s;
  }
  html body:has([id="wrapper"] > header .main-menu.active) {
    overflow: hidden;
  }

  /* --- 8.5 Wiersze szuflady (KV .sh-drow): kafel koloru 38 px + ikona, szewron przy rozwijanych --- */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    display: grid;
    gap: 2px;
    margin: 0;
    background: transparent;
    font-size: 18px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav::before,
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav::after {
    content: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li {
    --psr-kafel: rgba(255, 255, 255, 0.14);
    --psr-kafel-ikona: var(--psr-white);
    --psr-kafel-ic: var(--psr-i-paw);
    float: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 12px;
    min-height: 50px;
    padding: 6px 8px 6px 6px;
    border: 0;
    border-radius: var(--psr-radius-row);
    background: transparent;
    color: var(--psr-white);
    font-size: 18px;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color var(--psr-t-fast) ease;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a:is(:hover, :focus) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--psr-white);
    text-decoration: none;
  }
  /* kafel */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a::before {
    content: "";
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: var(--psr-kafel);
  }
  /* ikona w kaflu (zastępuje trójkąt z ramek L3864) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a::after,
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav .has-submenu > a::after {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    margin: -10px 0 0;
    border: 0;
    background: var(--psr-kafel-ikona);
    -webkit-mask: var(--psr-kafel-ic) center / contain no-repeat;
    mask: var(--psr-kafel-ic) center / contain no-repeat;
  }
  [id="wrapper"] > header .main-menu .nav .has-submenu > a > b.caret {
    display: none;
  }
  /* kolory kafli jak w KV (pies mięta głęboka, kot liliowy, sklep limonka) – po adresach linków */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:has(> a[href$="/sklep"]) {
    --psr-kafel: var(--psr-lime);
    --psr-kafel-ikona: var(--psr-night);
    --psr-kafel-ic: var(--psr-i-pin);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:has(> a[href$="/stronaglowna"]) {
    --psr-kafel-ic: var(--psr-i-home);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li:has(> a[href$="/oferta"]) {
    --psr-kafel-ic: var(--psr-i-box);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="Psow"]) {
    --psr-kafel: var(--psr-mint-deep);
    --psr-kafel-ic: var(--psr-i-paw);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="Kotow"]) {
    --psr-kafel: var(--psr-lilac-deep);
    --psr-kafel-ic: var(--psr-i-cat);
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:has(a[href*="keyword="]) {
    --psr-kafel-ic: var(--psr-i-star);
  }
  /* bieżąca strona: jaśniejsze tło wiersza + limonkowy napis (akcent na ciemnym) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.menu-active > a {
    background: rgba(255, 255, 255, 0.1);
    color: var(--psr-lime);
  }
  /* szewron rozwijanych (tło linku – ::after zajmuje ikona); obraca się po otwarciu (psr-open) */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu > a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c1e7e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 9.5 5.5 5.5 5.5-5.5'/%3E%3C/svg%3E");
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 18px;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu.psr-open > a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9e249' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 14.5 5.5-5.5 5.5 5.5'/%3E%3C/svg%3E");
  }
  /* bez skryptu podmenu jest zawsze rozwinięte – szewron zbędny */
  html:not(.psr-js) [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu > a {
    background-image: none;
  }

  /* --- 8.6 Podmenu w szufladzie: pastylki (KV .sh-dsub); akordeon = klasa psr-open od skryptu globalnego --- */
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 4px 4px 12px 56px;
    background: transparent;
  }
  html.psr-js [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li.has-submenu:not(.psr-open) > ul {
    display: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li {
    float: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li > a {
    display: inline-block;
    padding: 7px 13px;
    border-radius: var(--psr-radius-pill);
    background: rgba(255, 255, 255, 0.12);
    color: var(--psr-white);
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li > a:is(:hover, :focus) {
    background: var(--psr-lime);
    color: var(--psr-night);
    text-decoration: none;
  }
  [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > ul > li.menu-active > a {
    background: var(--psr-white);
    color: var(--psr-night);
  }
}
@media (max-width: 380px) {
  [id="wrapper"] > header .logo a.brand {
    width: 124px;
  }
}

/* ==========================================================================
   9. Lepkie menu (KV: przyklejona pastylka nawigacji z koszykiem) – tylko ze skryptem bloku paska górnego.
   Skrypt (bloki/pasek-gorny.html) daje <html> klasę psr-nag-js (działa) i psr-nag-lepki (nagłówek zniknął
   u góry ekranu). Wtedy: komputer/tablet – pastylka przypięta 12 px od góry: serduszko (sygnet) | menu
   na środku | koszyk;
   telefon – biała zaokrąglona belka 64 px, odsunięta 8 px od krawędzi ekranu (na iPhonie w Safari nad paskiem
   widać stronę – prosto ucięta góra wyglądała źle): menu | znak | koszyk. Bez skryptu nagłówek przewija się ze stroną.
   Wysokość nagłówka się nie zmienia (miejsce po menu zostaje), więc strona nie „skacze”.
   --psr-naglowek-lepki-h: ile u góry zasłania przypięty pasek – czytają ją 31-listing (#ofertaProduktowa)
   i 40-produkt (#szczegolyProduktu), żeby przewinięcie platformy nie chowało tytułu pod paskiem.
   ========================================================================== */
@keyframes psr-nag-zjazd {
  from {
    opacity: 0;
    translate: 0 -26px;
  }
}
html.psr-nag-js {
  --psr-naglowek-lepki-h: 72px;         /* telefon: 8 px odstępu + belka 64 px */
}
/* przypięty koszyk (komputer i telefon) leży na białej treści: mięta głęboka z limonkowym licznikiem jak KV .cart */
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info {
  --psr-focus: var(--psr-night);
  background: var(--psr-mint-deep);
  box-shadow: 0 3px 0 var(--psr-sole-mint);
  color: var(--psr-white);
}
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info:is(:hover, :focus) {
  color: var(--psr-white);
}
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info:hover {
  translate: 0 -2px;
  box-shadow: 0 5px 0 var(--psr-sole-mint);
}
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info:active {
  translate: 0 2px;
  box-shadow: 0 1px 0 var(--psr-sole-mint);
}
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info:focus-visible {
  outline-color: var(--psr-night);
}
html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info .cart-quantity {
  position: absolute;
  top: -4px;
  right: -4px;
  background: var(--psr-lime);
  color: var(--psr-night);
  box-shadow: none;
}
@media (min-width: 768px) {
  html.psr-nag-js {
    --psr-naglowek-lepki-h: 80px;
  }
  [id="wrapper"] > header {
    --psr-nag-menu-h: 56px;             /* wysokość pastylki menu: 44 + 2 × 6 */
  }
  html.psr-nag-lepki [id="wrapper"] > header .widget.main-menu {
    height: var(--psr-nag-menu-h);
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content {
    position: fixed;
    top: 12px;
    left: 0;
    right: 0;
    z-index: 5;
    width: min(var(--psr-nag-w), 100% - 32px);
    margin: 0 auto;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  /* pastylka jak KV .nav-pill: półprzezroczysta biel z rozmyciem, linki na środku, miejsce na serduszko z lewej
     i koszyk z prawej (równe, żeby menu było wyśrodkowane względem całej pastylki) */
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    justify-content: center;
    width: 100%;
    padding-inline: 58px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 30px -20px rgba(14, 48, 49, 0.35);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    backdrop-filter: blur(16px) saturate(1.4);
  }
  /* serduszko w pastylce (24.09.2026): sam sygnet znaku, 44 px jak koszyk, link na stronę główną; widget logo
     zachowuje wymiary znaku w nagłówku, więc nagłówek nie zmienia wysokości (strona nie skacze) */
  html.psr-nag-lepki [id="wrapper"] > header .widget.logo {
    width: 200px;
    aspect-ratio: 500 / 150;
  }
  html.psr-nag-lepki [id="wrapper"] > header .logo a.brand {
    --psr-focus: var(--psr-night);
    position: fixed;
    top: calc(12px + 6px);
    left: calc(max(16px, (100% - var(--psr-nag-w)) / 2) + 6px);
    z-index: 6;
    width: 44px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--psr-svg-sygnet) 50% 55% / 38px auto no-repeat;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  html.psr-nag-lepki [id="wrapper"] > header .logo a.brand:hover {
    scale: 1.08;
  }
  /* koszyk w pastylce: okrągły 44 px (KV .cart w .nav-pill), licznik w rogu, kwota tylko dla czytnika */
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content {
    position: fixed;
    top: calc(12px + 6px);
    right: calc(max(16px, (100% - var(--psr-nag-w)) / 2) + 6px);
    z-index: 6;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info {
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info::before {
    width: 20px;
    height: 20px;
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-info span.cart-price {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-tooltip {
    top: calc(100% + 20px);
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content .cart-tooltip::before {
    right: 21px;                        /* ogonek nad środkiem okrągłego koszyka */
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  [id="wrapper"] > header {
    --psr-nag-menu-h: 50px;             /* 42 + 2 × 4 */
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    padding-inline: 52px;
  }
  html.psr-nag-lepki [id="wrapper"] > header .widget.logo {
    width: 150px;
  }
  html.psr-nag-lepki [id="wrapper"] > header .logo a.brand {
    top: calc(12px + 3px);
    left: calc(16px + 4px);
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content {
    width: calc(100% - 32px);
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav {
    gap: 0;
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content .nav-collapse .nav.navbar-nav > li > a {
    padding-inline: 8px;
    font-size: 14.5px;
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content {
    top: calc(12px + 3px);
    right: calc(16px + 4px);
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  html.psr-nag-lepki [id="wrapper"] > header .widget.logo {
    width: 176px;
  }
}
@media (max-width: 767px) {
  /* telefon: biała belka 64 px jak KV „Nagłówek na telefonie” – menu | znak (kolorowy) | koszyk; pływa 8 px od krawędzi,
     zaokrąglona ze wszystkich stron (środek belki: 8 + 32 = 40 px od góry – na nim przyciski 44 px i znak 36 px).
     Warstwy w nagłówku: pasek (::before menu, z 0) < znak (z 1) < koszyk (z 0, później w DOM) < tło szuflady (z 1)
     < szuflada (z 2) < przycisk menu (z 3). Konto zostaje w nagłówku (i na stronie logowania). */
  html.psr-nag-lepki [id="wrapper"] > header .main-menu::before {
    content: "";
    position: fixed;
    top: 8px;
    left: 8px;
    right: 8px;
    z-index: 0;
    display: block;
    height: 64px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 30px -20px rgba(14, 48, 49, 0.35);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    backdrop-filter: blur(16px) saturate(1.4);
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu:not(.active) .widget-content .navbar-toggle {
    position: fixed;
    top: 18px;
    left: 18px;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu:not(.active) .widget-content .navbar-toggle:focus-visible {
    outline-color: var(--psr-night);
  }
  html.psr-nag-lepki [id="wrapper"] > header .widget.logo {
    position: fixed;
    top: 22px;
    left: 0;
    right: 0;
    z-index: 1;
    width: fit-content;
    margin: 0 auto;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  html.psr-nag-lepki [id="wrapper"] > header .logo a.brand {
    --psr-focus: var(--psr-night);
    width: 120px;
    background-image: var(--psr-svg-znak);
  }
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 0;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
}
/* wydruk: przypięte elementy wracają na miejsce (inaczej powtarzałyby się na każdej stronie wydruku) */
@media print {
  html.psr-nag-lepki [id="wrapper"] > header .main-menu .widget-content,
  html.psr-nag-lepki [id="wrapper"] > header .cart .widget-content,
  html.psr-nag-lepki [id="wrapper"] > header .main-menu:not(.active) .widget-content .navbar-toggle,
  html.psr-nag-lepki [id="wrapper"] > header .widget.logo,
  html.psr-nag-lepki [id="wrapper"] > header .logo a.brand {
    position: static;
    animation: none;
  }
  html.psr-nag-lepki [id="wrapper"] > header .main-menu::before {
    content: none;
  }
}


/* ---------- Nagłówek sprzężony ze sceną (strona główna, /sklep, strony informacyjne) – bez fali, jedno tło mięty głębokiej (24.09.2026) ----------
   tło nagłówka sięga do samego dołu (bez maski fali), a scena pod nim zaczyna się tym samym kolorem;
   prawa plama nagłówka (przy dolnej krawędzi) wyłączona – zostawiałaby na styku widoczną krawędź. */
html:is(.StronaGlowna, .SklepStacjonarny) [id="wrapper"]:has(:is(.psr-hero, .psr-sk)) > header::before,
[id="wrapper"]:has(.psr-info-hero) > header::before {   /* strony informacyjne (72-info.css) */
  /* tło kończy się pod menu – pas dawnej fali (nagłówek zachodzi tam na scenę) zostaje przezroczysty,
     inaczej przykrywał górę sceny (ucięta pastylka) i rysował poziomą krawędź */
  inset: 0 0 var(--psr-nag-fala-h) 0;
  background-image: radial-gradient(38% 95% at 4% 8%, rgba(101, 194, 196, 0.5), rgba(101, 194, 196, 0) 70%);   /* zanika przed dołem */
  -webkit-mask: none;
  mask: none;
  animation: none;
}

/* ----- 20-strona-glowna.css ----- */
/* ==========================================================================
   20-strona-glowna.css – STRONA GŁÓWNA: scena główna (hero), „Zamów online” (też na listingu
   i produkcie), kafle kategorii, marki, sekcje „Sztos produkty” / „Nowości” (tło, nagłówek,
   paginacja – sam kafelek robi 30-kafelki.css), sklep stacjonarny (content-edit) i mapa.
   Rytm strony (KV): mięta głęboka (hero) → biel → nocna mięta (kategorie) → mięta 8 (marki)
   → liliowy głęboki („Sztos”) → biel („Nowości”, baner sklepu, mapa) → stopka. Fale na stykach.
   Bloki: bloki/hero.html, bloki/zamow-online.html, bloki/marki.html (mapa: bloki/mapa/20-strona-glowna.json).
   Specyficzność bloków: `.psr-blok.psr-x .psr-y` (0,3,0) – bije reset bloku i komponenty fundamentu (0,2,1).
   ========================================================================== */

/* ---------- 0. Wspólne ---------- */
/* widgety custom z blokami na całą szerokość – bez odstępu 10 px szablonu (.widget { padding: 10px 0 }) */
.widget.custom:has(> .widget-content > :is(.psr-hero, .psr-marki)) {
  padding: 0;
}
/* wspólny stopień tytułów sekcji strony głównej (KV .sec-title, trochę mniejszy – tytuły są długie) */
:root {
  --psr-sg-tytul: clamp(34px, 4.2vw, 56px);
  /* szerokość treści .container szablonu (1160/960/740 − 2 × 10 px) – do niej wyrównujemy lewe krawędzie
     tytułów i treści sekcji, które leżą poza .container (bloki w .container-fluid, sekcje na całą szerokość) */
  --psr-sg-kontener: 1140px;
}
@media (max-width: 1199px) {
  :root { --psr-sg-kontener: 940px; }
}
@media (max-width: 991px) {
  :root { --psr-sg-kontener: 720px; }
}
@media (max-width: 767px) {
  :root { --psr-sg-kontener: 100%; }
}
/* scena główna jest przedłużeniem nagłówka (ta sama mięta głęboka, bez fali między nimi – prośba właściciela 24.09.2026);
   fala nagłówka wyłączona w 10-naglowek.css (sekcja „nagłówek sprzężony ze sceną”) */
/* wjazd przy przewijaniu (KV „rise”) dla elementów bez własnego hovera na translate/scale */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    html .categories-tiles .category-list .nav-collapse .nav > li,
    .psr-blok.psr-zamow .psr-zamow-serca,
    html.StronaGlowna .widget.content-edit {
      animation: psr-rise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 60%;
    }
  }
}

/* ==========================================================================
   1. SCENA GŁÓWNA (blok FzS1c-N7bE-Bggps2uybMg → bloki/hero.html) – KV #hero
   ========================================================================== */
.psr-blok.psr-hero {
  /* plamy jak w KV #hero (jasna poświata nie pod tekstem) */
  --psr-b1: #65c2c4;
  --psr-b2: #2a7c7e;
  --psr-b3: #256f71;
  --psr-b4: #2c8385;
  --psr-lift: var(--psr-lift-mint-deep);
  --psr-lift-sm: var(--psr-lift-sm-mint-deep);
  --psr-hero-fala: clamp(46px, 7vw, 96px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  /* na całą szerokość okna z kolumny .container-fluid (html ma overflow-x: clip);
     max-width: none – szablon ogranicza dzieci bloku: .custom .widget-content > * { max-width: 100% } */
  max-width: none;
  margin-inline: calc(50% - 50vw);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
}
.psr-blok.psr-hero .psr-plamy > span:nth-child(3) {
  left: 30%;
  top: 40%;
  width: 40%;
  opacity: 0.85;
}
/* górny brzeg sceny w czystej mięcie głębokiej – przechodzi bez szwu z tła nagłówka;
   ::after leży nad plamami (oba z-index -1, ::after później w drzewie) */
.psr-blok.psr-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: clamp(90px, 10vw, 150px);
  background: linear-gradient(var(--psr-mint-deep) 18%, rgba(51, 140, 142, 0));
  pointer-events: none;
}
/* doodle: max 3 na banerze, na ciemnym tylko limonka i biel */
.psr-blok.psr-hero .psr-hero-iskra--1 {
  --psr-doodle-w: 34px;
  left: 22%;
  top: 11%;
}
.psr-blok.psr-hero .psr-hero-iskra--2 {
  --psr-doodle-w: 22px;
  --psr-doodle-kolor: var(--psr-white);
  right: 24%;
  top: 17%;
  animation-delay: -1.4s;
}
.psr-blok.psr-hero .psr-hero-szlaczek {
  position: absolute;
  z-index: 3;
  right: 10%;
  top: 13%;
  width: 80px;
  height: 30px;
  overflow: visible;
  stroke: var(--psr-lime);
  rotate: 8deg;
  pointer-events: none;
  --psr-d: 1.5s;
}

/* scena: pies | treść | kot, wyrównane do dołu; dół wycinków chowa się za falą */
.psr-blok.psr-hero .psr-hero-scena {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: end;
  max-width: 1340px;
  min-height: 430px;
  margin: 0 auto;
  padding: clamp(30px, 3.4vw, 48px) 16px 0;
}
/* w kodzie treść stoi przed zwierzakami (kolejność czytania), na ekranie: pies | treść | kot */
.psr-blok.psr-hero .psr-hero-zwierz--pies { grid-column: 1; grid-row: 1; }
.psr-blok.psr-hero .psr-hero-zwierz--kot { grid-column: 3; grid-row: 1; }
.psr-blok.psr-hero .psr-hero-tresc {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  z-index: 4;
  display: grid;
  justify-items: center;
  align-self: center;
  gap: 14px;
  padding: 0 10px calc(var(--psr-hero-fala) + 26px);
  text-align: center;
}
.psr-blok.psr-hero .psr-hero-kicker {
  animation: psr-pop-in var(--psr-t-pop) var(--psr-spring) 0.2s both;
}
.psr-blok.psr-hero .psr-hero-tytul {
  color: var(--psr-white);
  font-size: clamp(34px, 3.7vw, 54px);
  line-height: 1;
  text-transform: uppercase;
  animation: psr-pop-in var(--psr-t-pop) var(--psr-spring) 0.55s both;
}
/* „Psiemka!” – limonka, krzywo, jak .hb-hey w KV */
.psr-blok.psr-hero .psr-hero-hej {
  display: block;
  width: fit-content;
  margin: 0 auto 12px;
  color: var(--psr-lime);
  font-size: clamp(46px, 5.2vw, 76px);
  line-height: 0.9;
  text-transform: none;
  rotate: -4deg;
}
/* akcent .lc (limonka z kontekstu .psr-na-kolorze) z rysowanym podkreśleniem jak „radości” w KV */
.psr-blok.psr-hero .psr-hero-tytul .lc {
  position: relative;
  display: inline-block;
}
.psr-blok.psr-hero .psr-hero-tytul .lc::after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: -0.16em;
  height: 0.2em;
  background: currentColor;   /* podkreślenie w kolorze akcentu (tekstu), nie białe */
  -webkit-mask: var(--psr-svg-podkreslenie) center / 100% 100% no-repeat;
  mask: var(--psr-svg-podkreslenie) center / 100% 100% no-repeat;
  animation: psr-sg-kreska 1.1s var(--psr-smooth) 1.2s both;
}
@keyframes psr-sg-kreska {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}
.psr-blok.psr-hero .psr-hero-lead {
  color: var(--psr-white);
  font-size: 18px;
  line-height: 1.55;
  animation: psr-pop-in var(--psr-t-pop) var(--psr-spring) 0.7s both;
}
.psr-blok.psr-hero .psr-hero-akcje {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 6px;
  animation: psr-pop-in var(--psr-t-pop) var(--psr-spring) 0.85s both;
}
.psr-blok.psr-hero .psr-hero-akcje .psr-btn {
  min-width: 232px;
  white-space: normal;
  text-align: center;
}
.psr-blok.psr-hero .psr-hero-tagi {
  justify-content: center;
  gap: 8px;
  margin-top: 4px;
  animation: psr-pop-in var(--psr-t-pop) var(--psr-spring) 1s both;
}
.psr-blok.psr-hero .psr-hero-tagi .psr-tag {
  padding: 6px 12px 7px;
  font-size: 14px;
}

/* zwierzaki: wycinek z białym obrysem 10 px, bez cienia, unosi się; dymek nad głową */
.psr-blok.psr-hero .psr-hero-zwierz {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: end;
  margin: 0;
  animation: psr-pet-in 800ms var(--psr-spring) 0.35s both;
}
.psr-blok.psr-hero .psr-hero-zwierz--kot {
  animation-delay: 0.5s;
}
.psr-blok.psr-hero .psr-hero-unosi {
  display: flex;
  justify-content: center;
  width: 100%;
  animation: psr-float-y 6s ease-in-out infinite;
}
.psr-blok.psr-hero .psr-hero-zwierz--kot .psr-hero-unosi {
  animation-delay: -3s;
}
.psr-blok.psr-hero .psr-hero-foto {
  --psr-obrys: 10px;
  display: block;
  width: min(88%, 310px);
  max-width: none;
  height: auto;
  margin-bottom: -8px;
  rotate: -3deg;
  transform-origin: bottom center;
}
.psr-blok.psr-hero .psr-hero-zwierz--kot .psr-hero-foto {
  rotate: 3deg;
}
/* dymek z tekstem z dotychczasowego hero: tytuł + zdanie; ogonek w stronę pyszczka, nie zasłania oczu */
.psr-blok.psr-hero .psr-hero-dymek {
  display: grid;
  gap: 5px;
  width: max-content;
  max-width: min(260px, 100%);
  margin: 0 0 22px;
  padding: 12px 18px 14px;
  white-space: normal;
  text-align: left;
}
.psr-blok.psr-hero .psr-hero-zwierz--pies .psr-hero-dymek {
  --psr-rot: 4deg;
  --psr-d: 1.1s;
  align-self: flex-end;
  margin-right: -6%;
}
.psr-blok.psr-hero .psr-hero-zwierz--kot .psr-hero-dymek {
  --psr-rot: -5deg;
  --psr-d: 1.3s;
  align-self: flex-start;
  margin-left: -6%;
}
.psr-blok.psr-hero .psr-hero-dymek-tytul {
  font-size: 21px;
  line-height: 1.1;
}
.psr-blok.psr-hero .psr-hero-dymek-tekst {
  font-size: 14.5px;
  line-height: 1.35;
}
/* fala sceny (KV .hb-wave) – w kolor następnej sekcji (biel), przykrywa dół wycinków */
.psr-blok.psr-hero .psr-hero-fala {
  z-index: 5;
  height: var(--psr-hero-fala);
}

/* tablet i telefon (KV @container ≤ 900 px): treść na górze, zwierzaki obok siebie pod nią */
@media (max-width: 900px) {
  .psr-blok.psr-hero .psr-hero-scena {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 0;
    padding-top: 40px;
  }
  .psr-blok.psr-hero .psr-hero-tresc {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 8px 28px;
  }
  .psr-blok.psr-hero .psr-hero-zwierz--pies { grid-column: 1; grid-row: 2; }
  .psr-blok.psr-hero .psr-hero-zwierz--kot { grid-column: 2; grid-row: 2; }
  /* dymki nad głowami, wyśrodkowane w kolumnach – nie zachodzą na siebie */
  .psr-blok.psr-hero .psr-hero-scena { column-gap: 12px; }
  .psr-blok.psr-hero :is(.psr-hero-zwierz--pies, .psr-hero-zwierz--kot) .psr-hero-dymek {
    align-self: center;
    margin-inline: 0;
    max-width: min(260px, 100%);
  }
  .psr-blok.psr-hero :is(.psr-hero-iskra, .psr-hero-szlaczek) {
    display: none;
  }
  .psr-blok.psr-hero .psr-plamy > span:nth-child(1) { top: 58%; width: 60%; }
  .psr-blok.psr-hero .psr-plamy > span:nth-child(3) { top: 18%; left: 10%; width: 80%; }
}
@media (max-width: 760px) {
  .psr-blok.psr-hero .psr-hero-scena {
    padding: 32px 12px 0;
  }
  .psr-blok.psr-hero .psr-hero-tresc {
    gap: 14px;
  }
  .psr-blok.psr-hero .psr-hero-hej { font-size: 44px; margin-bottom: 6px; }
  .psr-blok.psr-hero .psr-hero-tytul { font-size: 29px; }
  .psr-blok.psr-hero .psr-hero-lead { font-size: 15.5px; line-height: 1.5; }
  .psr-blok.psr-hero .psr-hero-akcje .psr-btn {
    --psr-btn-h: 54px;
    --psr-btn-px: 20px;
    --psr-btn-fs: 17px;
    min-width: 0;
    width: 100%;
    max-width: 340px;
  }
  /* tagi w dwóch rzędach zamiast trzech (na 390 px dwa pierwsze mieszczą się obok siebie) */
  .psr-blok.psr-hero .psr-hero-tagi { gap: 6px; }
  .psr-blok.psr-hero .psr-hero-tagi .psr-tag { padding: 5px 10px 6px; font-size: 13px; }
  .psr-blok.psr-hero .psr-hero-foto { --psr-obrys: 7px; width: 100%; }
  .psr-blok.psr-hero .psr-hero-dymek {
    max-width: 100%;
    margin-bottom: 16px;
    padding: 9px 13px 11px;
  }
  .psr-blok.psr-hero .psr-hero-dymek-tytul { font-size: 14.5px; }
  .psr-blok.psr-hero .psr-hero-dymek-tekst { font-size: 12.5px; }
}

/* ==========================================================================
   2. „ZAMÓW ONLINE” (bloki P7Dxk… i 9X-Rsx… → bloki/zamow-online.html) – KV „Zalety w sercach”
   ========================================================================== */
.psr-blok.psr-zamow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  max-width: var(--psr-sg-kontener);
  margin: 0 auto;
  padding: clamp(36px, 5vw, 72px) 0;
}
.psr-blok.psr-zamow .psr-zamow-tresc {
  display: grid;
  justify-items: start;
  gap: 14px;
}
.psr-blok.psr-zamow .psr-zamow-tytul {
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1;
}
.psr-blok.psr-zamow .psr-zamow-lead {
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.6;
}
.psr-blok.psr-zamow .psr-zamow-adres {
  margin-top: 4px;
  white-space: normal;
}
.psr-blok.psr-zamow .psr-zamow-adres .psr-ic {
  --psr-ic-size: 22px;
  color: var(--psr-mint-deep);
}
/* biała karta z czterema sercami-zaletami (KV „Serca-zalety”): 2 × 2, serce z lewej, opis z prawej */
.psr-blok.psr-zamow .psr-zamow-serca {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 26px 22px;
  margin: 0;
  padding: clamp(24px, 2.8vw, 34px) clamp(20px, 2.6vw, 32px);
  list-style: none;
}
.psr-blok.psr-zamow .psr-zamow-serce {
  --psr-heart-w: 72px;
  grid-template-columns: 72px minmax(0, 1fr);
  justify-items: start;
  align-items: center;
  column-gap: 16px;
  text-align: left;
}
/* podeszwa serca (::before fundamentu, top 5 px) – serce wyśrodkowane w pionie względem opisu, więc podeszwa też:
   środek wiersza − połowa wysokości serca (0,92 × 72 / 2) + 5 px */
.psr-blok.psr-zamow .psr-zamow-serce::before {
  left: 36px;
  top: calc(50% - 33px + 5px);
}
.psr-blok.psr-zamow .psr-zamow-opis {
  display: grid;
  gap: 5px;
}
.psr-blok.psr-zamow .psr-zamow-opis strong {
  color: var(--psr-night);
  font-size: 19px;
  line-height: 1.15;
}
.psr-blok.psr-zamow .psr-zamow-opis span {
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.45;
}
@media (max-width: 1199px) {
  .psr-blok.psr-zamow {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* telefon: serca jedno pod drugim */
@media (max-width: 600px) {
  .psr-blok.psr-zamow .psr-zamow-serca {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .psr-blok.psr-zamow .psr-zamow-opis strong {
    font-size: 18px;
  }
}

/* ==========================================================================
   3. KAFLE KATEGORII (widget category-list TBUgs… w wierszu .categories-tiles) – KV „kafelki ikon”
   Przejmuje reguły kafli z czyszczonego bloku UFjbJ… (bez brązów #e8e1d7/#f4efe8/#2f241b).
   Tło: nocna mięta, fala u góry (biel z „Zamów online”) i u dołu (mięta 8 z marek).
   ========================================================================== */
html .categories-tiles {
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-lift: var(--psr-lift-night);
  --psr-lift-sm: var(--psr-lift-sm-night);
  --psr-sg-kol: 8;
  --psr-sg-odstep: 14px;
  position: relative;
  isolation: isolate;
  padding: calc(var(--psr-fala-h) + clamp(22px, 3vw, 40px)) 0 calc(var(--psr-fala-h) + clamp(30px, 3.6vw, 52px));
  background: var(--psr-night);
}
html .categories-tiles::before,
html .categories-tiles::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
  height: var(--psr-fala-h);
  pointer-events: none;
  animation: psr-fala 19s linear infinite;
}
html .categories-tiles::before {
  top: -1px;
  background: var(--psr-white);
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
}
html .categories-tiles::after {
  bottom: -1px;
  background: var(--psr-mint-8);
  -webkit-mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  animation-duration: 22s;
  animation-direction: reverse;
}
html .categories-tiles .category-list {
  padding: 0;
}
html .categories-tiles .category-list .widget-header {
  margin: 0 0 clamp(20px, 2.6vw, 32px);
  padding: 0;
  background: none;
  color: var(--psr-white);
  text-align: left;
  text-transform: uppercase;
}
html .categories-tiles .category-list .widget-header h4 {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: var(--psr-white);
  font-size: var(--psr-sg-tytul);
  line-height: 1;
}
html .categories-tiles .category-list .widget-content {
  margin-top: 0;
}
/* lista zawsze widoczna (KV nie chowa kategorii za hamburgerem), przełącznik zbędny */
html .categories-tiles .category-list .widget-content .navbar-toggle {
  display: none;
}
html .categories-tiles .category-list .widget-content .nav-collapse,
html .categories-tiles .category-list .widget-content .nav-collapse.collapse {
  display: block;
  height: auto;
  margin-top: 0;
  overflow: visible;
}
/* siatka kafli: flex z zawijaniem; tytuł i kafle od lewej krawędzi treści jak nagłówki sekcji KV */
html .categories-tiles .category-list .widget-content .nav-collapse .nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--psr-sg-odstep);
  max-width: 1140px;
  margin: 0 auto;
  border: 0;
  background: none;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav::before,
html .categories-tiles .category-list .widget-content .nav-collapse .nav::after {
  content: none;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li {
  float: none;
  flex: 0 0 calc((100% - (var(--psr-sg-kol) - 1) * var(--psr-sg-odstep)) / var(--psr-sg-kol));
  min-width: 0;
  width: auto;
}
/* kafel: biała karta r 26 z cieniem w tonie tła; kafelek ikony nad etykietą */
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > a {
  --psr-a-kolor: var(--psr-night);
  float: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  height: 100%;
  min-height: 0;
  padding: 18px 10px 16px;
  border: 0;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
  color: var(--psr-night);
  font-size: 15.5px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: normal;
  transition: translate var(--psr-t-base) var(--psr-spring), color var(--psr-t-fast) ease;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > a:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: none;
  translate: 0 -3px;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > a::after {
  content: none;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > ul {
  display: none;
}
/* kafelek ikony KV: 56 px, r 20, płaski; ikona 28 px (kreska 1,8) biała, na limonce nocna */
html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  float: none;
  width: 56px;
  height: 56px;
  margin: 0;
  border-radius: var(--psr-radius-sm);
  background: var(--psr-sg-kafel, var(--psr-mint-deep));
  color: var(--psr-sg-kafel-fg, var(--psr-white));
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring), border-radius var(--psr-t-base) ease;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > a:is(:hover, :focus-visible) .category-item-icon {
  rotate: -8deg;
  scale: 1.08;
  border-radius: 50%;
}
/* ikona platformy (SVG #555) – gdy nie ma odpowiednika w KV: biała */
html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon img {
  display: block;
  width: 28px;
  height: 28px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
/* kolor kafelka „w kolorze zwierzaka” jak w mega menu KV (pies – mięta głęboka, kot – liliowy głęboki,
   spójnie z drzewem kategorii w 31-listing.css); pozostałe działy – nocna mięta albo limonka (ikona nocna).
   Najpierw po adresie (działa bez :has), potem po ikonie wybranej w panelu. */
html .categories-tiles .category-list .nav > li > a {
  --psr-sg-kafel: var(--psr-night);
}
html .categories-tiles .category-list .nav > li > a[href*="-Psow-"] {
  --psr-sg-kafel: var(--psr-mint-deep);
}
html .categories-tiles .category-list .nav > li > a:is([href*="-Kotow-"], [href*="/Drapaki-"], [href*="/Kuwety-"]) {
  --psr-sg-kafel: var(--psr-lilac-deep);
}
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-110."]) { --psr-sg-kafel: var(--psr-mint-deep); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-109."]) { --psr-sg-kafel: var(--psr-lilac-deep); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-005."], img[src*="/ico-052."], img[src*="/ico-067."]) {
  --psr-sg-kafel: var(--psr-lime);
  --psr-sg-kafel-fg: var(--psr-night);
}
/* obrazek platformy na limonce – nocna mięta (filtr jak w 31-listing.css, błąd < 1/255) */
html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon:has(img[src*="/ico-005."], img[src*="/ico-052."], img[src*="/ico-067."]) img {
  filter: brightness(0) invert(26%) sepia(47%) saturate(553%) hue-rotate(133deg) brightness(93%) contrast(92%);
}
/* ikony platformy → ikony KV (wybór właściciela zostaje: pies → łapa, kot → kot, apteczka → tarcza…);
   nieznana ikona zostaje obrazkiem platformy (reguła wyżej) */
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-094."]) { --psr-sg-ic: var(--psr-i-paw); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-110."]) { --psr-sg-ic: var(--psr-i-paw); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-109."]) { --psr-sg-ic: var(--psr-i-cat); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-005."]) { --psr-sg-ic: var(--psr-i-shield); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-052."]) { --psr-sg-ic: var(--psr-i-drop); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-119."]) { --psr-sg-ic: var(--psr-i-pin); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-067."]) { --psr-sg-ic: var(--psr-i-leaf); }
html .categories-tiles .category-list .nav .category-item-icon:has(img[src*="/ico-086."]) { --psr-sg-ic: var(--psr-i-box); }
html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon:has(img[src*="/ico-094."], img[src*="/ico-110."], img[src*="/ico-109."], img[src*="/ico-005."], img[src*="/ico-052."], img[src*="/ico-119."], img[src*="/ico-067."], img[src*="/ico-086."]) img {
  display: none;
}
html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon:has(img[src*="/ico-094."], img[src*="/ico-110."], img[src*="/ico-109."], img[src*="/ico-005."], img[src*="/ico-052."], img[src*="/ico-119."], img[src*="/ico-067."], img[src*="/ico-086."])::after {
  content: "";
  position: absolute;
  inset: 25%;
  background-color: currentColor;
  -webkit-mask: var(--psr-sg-ic) center / contain no-repeat;
  mask: var(--psr-sg-ic) center / contain no-repeat;
}
@media (max-width: 1199px) {
  html .categories-tiles { --psr-sg-kol: 6; }
}
@media (max-width: 991px) {
  html .categories-tiles { --psr-sg-kol: 5; --psr-sg-odstep: 12px; }
}
/* telefon: 2 kolumny, kafelek ikony z lewej (jak kategorie w szufladzie KV) */
@media (max-width: 767px) {
  html .categories-tiles {
    --psr-sg-kol: 2;
    --psr-sg-odstep: 10px;
  }
  html .categories-tiles .category-list .widget-header h4 {
    padding: 0;
  }
  html .categories-tiles .category-list .widget-content .nav-collapse .nav > li > a {
    flex-direction: row;
    justify-content: flex-start;
    gap: 10px;
    min-height: 60px;
    padding: 9px 10px;
    border-radius: var(--psr-radius-row);
    font-size: 14.5px;
    text-align: left;
  }
  html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
  }
  html .categories-tiles .category-list .widget-content .nav-collapse .nav .category-item-icon img {
    width: 22px;
    height: 22px;
  }
}

/* ==========================================================================
   4. MARKI (blok SsL-ueDB-ESU5zczxTveGg → bloki/marki.html) – białe pastylki w przewijanym pasie
   ========================================================================== */
.psr-blok.psr-marki {
  --psr-lift-sm: var(--psr-lift-sm-mint-8);
  position: relative;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  padding: clamp(28px, 3.5vw, 44px) 0 clamp(8px, 1.5vw, 20px);
  background: var(--psr-mint-8);
}
/* tytuł od lewej krawędzi treści strony (sekcja jest na całą szerokość okna) */
.psr-blok.psr-marki .psr-marki-tytul {
  margin: 0 0 clamp(18px, 2.4vw, 28px);
  padding: 0 max(10px, calc((100% - var(--psr-sg-kontener)) / 2));
  font-size: var(--psr-sg-tytul);
  text-align: left;
}
.psr-blok.psr-marki .psr-marki-pas {
  overflow: hidden;
  padding: 10px 0 26px;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.psr-blok.psr-marki .psr-marki-tor {
  display: flex;
  width: max-content;
  animation: psr-sg-marki 64s linear infinite;
}
.psr-blok.psr-marki .psr-marki-pas:is(:hover, :focus-within) .psr-marki-tor {
  animation-play-state: paused;
}
.psr-blok.psr-marki .psr-marki-lista {
  display: flex;
  gap: 16px;
  margin: 0;
  padding: 0 16px 0 0;
  list-style: none;
}
.psr-blok.psr-marki .psr-marka {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 92px;
  padding: 16px 28px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
  transition: translate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-marki .psr-marka:is(:hover, :focus-visible) {
  translate: 0 -4px;
  scale: 1.04;
}
.psr-blok.psr-marki .psr-marka img {
  display: block;
  width: 100%;
  height: 54px;
  max-width: none;
  object-fit: contain;
  /* gdy logotyp producenta się nie wczyta (np. Baltica – adres zwraca dziś 404), w pastylce zostaje nazwa marki */
  position: relative;
  overflow: hidden;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 54px;
  text-align: center;
  white-space: nowrap;
}
/* ::after na <img> przeglądarki (Chrome, Firefox) rysują tylko przy niewczytanym obrazku – przykrywa ikonę
   „zepsutego obrazka” czystą nazwą marki z alt; wczytany logotyp nie ma pseudo-elementów */
.psr-blok.psr-marki .psr-marka img::after {
  content: attr(alt);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--psr-white);
  color: var(--psr-night);
  font-size: 19px;
  line-height: 1.1;
}
@keyframes psr-sg-marki {
  to { transform: translateX(-50%); }
}
@media (max-width: 767px) {
  .psr-blok.psr-marki .psr-marki-pas {
    -webkit-mask-image: none;
    mask-image: none;
  }
  .psr-blok.psr-marki .psr-marki-tor { animation-duration: 48s; }
  .psr-blok.psr-marki .psr-marki-lista { gap: 12px; padding-right: 12px; }
  .psr-blok.psr-marki .psr-marka { width: 148px; height: 76px; padding: 12px 22px; }
  .psr-blok.psr-marki .psr-marka img { height: 44px; }
}
/* ograniczony ruch: bez pętli – pas przewija się palcem/kółkiem, kopia listy zbędna */
@media (prefers-reduced-motion: reduce) {
  .psr-blok.psr-marki .psr-marki-pas {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .psr-blok.psr-marki .psr-marki-lista--kopia {
    display: none;
  }
  .psr-blok.psr-marki .psr-marki-lista {
    padding-left: 16px;
  }
}

/* ==========================================================================
   5. „SZTOS PRODUKTY! POLECAMY” (list-products-recommended) i „NOWOŚCI W OFERCIE ONLINE” (list-products-last)
   Tylko sekcja: tło, fale, nagłówek, odstępy, paginacja. Siatka i kafelek → 30-kafelki.css.
   ========================================================================== */
/* „Sztos” – kolorowa sekcja (liliowy głęboki; hero i sklep są w miętach) na całą szerokość; treść w szerokości kolumny */
html.StronaGlowna .widget.list-products-recommended {
  --psr-accent: var(--psr-lime);
  --psr-lift: var(--psr-lift-lilac-deep);
  --psr-lift-sm: var(--psr-lift-sm-lilac-deep);
  position: relative;
  isolation: isolate;
  margin-inline: calc(50% - 50vw);
  padding: calc(var(--psr-fala-h) + clamp(24px, 3vw, 40px)) calc(50vw - 50%) calc(var(--psr-fala-h) + clamp(28px, 3.4vw, 48px));
  background: var(--psr-lilac-deep);
}
html.StronaGlowna .widget.list-products-recommended::before,
html.StronaGlowna .widget.list-products-recommended::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
  height: var(--psr-fala-h);
  pointer-events: none;
  animation: psr-fala 17s linear infinite;
}
html.StronaGlowna .widget.list-products-recommended::before {
  top: -1px;
  background: var(--psr-mint-8);
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
}
html.StronaGlowna .widget.list-products-recommended::after {
  bottom: -1px;
  background: var(--psr-white);
  -webkit-mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  animation-duration: 21s;
}
/* nagłówki sekcji produktów: tytuł KV z akcentem .lc (skrypt owija ostatnie słowo) */
html.StronaGlowna .widget.list-products .widget-header {
  margin: 0 0 clamp(18px, 2.4vw, 28px);
}
html.StronaGlowna .widget.list-products .widget-header h4 {
  padding: 0;
  font-size: var(--psr-sg-tytul);
  line-height: 1;
}
html.StronaGlowna .widget.list-products-recommended .widget-header {
  --psr-focus: var(--psr-white);
  color: var(--psr-white);
}
html.StronaGlowna .widget.list-products-last {
  padding: clamp(28px, 3.4vw, 48px) 0 clamp(20px, 2.4vw, 32px);
}

/* paginacja „Sztos” (AJAX, linki bez href): kółka 44 px KV .sh-pg – na liliowym białe, bieżąca limonka */
html.StronaGlowna .list-products-recommended .pagination {
  --psr-focus: var(--psr-white);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: clamp(22px, 2.6vw, 32px) 0 0;
  color: var(--psr-white);
  font-size: 17px;
  line-height: 1;
}
html.StronaGlowna .list-products-recommended .pagination :is(.current-page, .offer-paging-item, .arrow-left, .arrow-right) {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-white);
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
}
html.StronaGlowna .list-products-recommended .pagination :is(.offer-paging-item, .arrow-left, .arrow-right):is(:hover, :focus) {
  background: var(--psr-mint-20);
  color: var(--psr-night);
  text-decoration: none;
  scale: 1.08;
}
html.StronaGlowna .list-products-recommended .pagination .current-page {
  background: var(--psr-lime);
  color: var(--psr-night);
  cursor: default;
}
html.StronaGlowna .list-products-recommended .pagination .current-of {
  margin: 0 2px;
  color: var(--psr-white);
}
/* strzałki: zamiast trójkątów z obramowań – okrągły przycisk z szewronem KV (napis zostaje dla czytników) */
html.StronaGlowna .list-products-recommended .pagination :is(.arrow-left, .arrow-right) {
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
}
html.StronaGlowna .list-products-recommended .pagination .arrow-left::before,
html.StronaGlowna .list-products-recommended .pagination .arrow-right::before {
  content: "";
  position: absolute;
  inset: 11px;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
}
html.StronaGlowna .list-products-recommended .pagination .arrow-left::before {
  scale: -1 1;
}

/* ==========================================================================
   6. SKLEP STACJONARNY (nowy blok → bloki/sklep-stacjonarny.html; zastępuje „Edycję treści” i „Mapę”)
   pełna sekcja w mięcie głębokiej z falami (biel nad i pod), tekst + dane + przyciski | mapa w białej karcie z pieczątką
   ========================================================================== */
.widget.custom:has(> .widget-content > .psr-sklep) {
  padding: 0;
}
.psr-blok.psr-sklep {
  --psr-focus: var(--psr-white);
  --psr-lift: var(--psr-lift-mint-deep);
  --psr-lift-sm: var(--psr-lift-sm-mint-deep);
  position: relative;
  isolation: isolate;
  max-width: none;
  margin: clamp(30px, 4vw, 56px) calc(50% - 50vw) 0;
  padding: calc(var(--psr-fala-h) + clamp(30px, 3.6vw, 52px)) max(16px, calc((100vw - var(--psr-sg-kontener)) / 2)) calc(var(--psr-fala-h) + clamp(34px, 4vw, 56px));
  background:
    radial-gradient(circle at 6% 30%, rgba(101, 194, 196, 0.5) 0, rgba(101, 194, 196, 0) 32%),
    radial-gradient(circle at 92% 88%, #2a7c7e 0, rgba(42, 124, 126, 0) 36%),
    var(--psr-mint-deep);
  color: var(--psr-white);
}
.psr-blok.psr-sklep::before,
.psr-blok.psr-sklep::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: -1;
  height: var(--psr-fala-h);
  background: var(--psr-white);
  pointer-events: none;
  animation: psr-fala 19s linear infinite;
}
.psr-blok.psr-sklep::before {
  top: -1px;
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
}
.psr-blok.psr-sklep::after {
  bottom: -1px;
  -webkit-mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  animation-duration: 23s;
}
.psr-blok.psr-sklep .psr-sklep-scena {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(28px, 4.4vw, 64px);
}
.psr-blok.psr-sklep .psr-sklep-tresc {
  display: grid;
  justify-items: start;
  gap: 14px;
}
.psr-blok.psr-sklep .psr-kicker {
  color: var(--psr-lime);
}
.psr-blok.psr-sklep .psr-sklep-tytul {
  color: var(--psr-white);
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1;
}
/* akcent w całości w drugiej linii („ZAPRASZAMY / do naszego sklepu”) */
.psr-blok.psr-sklep .psr-sklep-tytul .lc {
  display: inline-block;
}
.psr-blok.psr-sklep .psr-sklep-lead {
  color: var(--psr-white);
  font-size: 17px;
  line-height: 1.6;
}
/* dane: ikona w limonkowym kółku, pogrubiony wiersz (bez faux bold – większy rozmiar) + drobny dopisek */
.psr-blok.psr-sklep .psr-sklep-dane {
  display: grid;
  gap: 14px;
  margin: 6px 0 4px;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-sklep .psr-sklep-dana {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
}
.psr-blok.psr-sklep .psr-sklep-dana::before {
  content: none;
}
.psr-blok.psr-sklep .psr-sklep-ikona {
  --psr-ic-size: 22px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--psr-lime);
  color: var(--psr-night);
}
.psr-blok.psr-sklep .psr-sklep-dana > span:last-child {
  display: grid;
  gap: 2px;
}
.psr-blok.psr-sklep .psr-sklep-dana strong {
  color: var(--psr-white);
  font-size: 18px;
  line-height: 1.25;
}
.psr-blok.psr-sklep .psr-sklep-dana small {
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.35;
}
.psr-blok.psr-sklep .psr-sklep-dana a {
  color: var(--psr-white);
  text-decoration: none;
}
.psr-blok.psr-sklep .psr-sklep-dana a:hover strong {
  color: var(--psr-lime);
}
.psr-blok.psr-sklep .psr-sklep-akcje {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
}
/* mapa: biała karta r 32 z cieniem w tonie mięty, iframe r 24; limonkowa pieczątka z sygnetem na rogu */
.psr-blok.psr-sklep .psr-sklep-mapa {
  position: relative;
  margin: 0;
  padding: 10px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  rotate: 1.2deg;
}
.psr-blok.psr-sklep .psr-sklep-mapa iframe {
  display: block;
  width: 100%;
  height: clamp(300px, 30vw, 420px);
  border: 0;
  border-radius: 24px;
  background: var(--psr-mint-8);
}
.psr-blok.psr-sklep .psr-sklep-pieczatka {
  position: absolute;
  z-index: 2;
  right: -26px;
  top: -34px;
  width: clamp(96px, 9vw, 128px);
  aspect-ratio: 1;
  border-radius: 64% 36% 58% 42% / 44% 62% 38% 56%;
  outline: 2px dashed var(--psr-lime);
  outline-offset: 7px;
  background: var(--psr-svg-sygnet-noc) 50% 54% / 58% auto no-repeat, var(--psr-lime);
  rotate: -10deg;
  transition: rotate 900ms var(--psr-spring);
  pointer-events: none;
}
.psr-blok.psr-sklep .psr-sklep-mapa:hover .psr-sklep-pieczatka {
  rotate: 14deg;
}
@media (max-width: 991px) {
  .psr-blok.psr-sklep .psr-sklep-scena {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-sklep .psr-sklep-mapa {
    rotate: 0deg;
    margin: 24px 14px 0 0;
  }
}
@media (max-width: 600px) {
  .psr-blok.psr-sklep .psr-sklep-tytul {
    font-size: 32px;
  }
  .psr-blok.psr-sklep .psr-sklep-lead {
    font-size: 16px;
  }
  .psr-blok.psr-sklep .psr-sklep-akcje .psr-btn {
    flex: 1 1 auto;
  }
  .psr-blok.psr-sklep .psr-sklep-mapa {
    padding: 8px;
    border-radius: 26px;
  }
  .psr-blok.psr-sklep .psr-sklep-mapa iframe {
    height: 280px;
    border-radius: 19px;
  }
  .psr-blok.psr-sklep .psr-sklep-pieczatka {
    right: -10px;
    top: -26px;
    width: 80px;
    outline-offset: 5px;
  }
}

/* ==========================================================================
   7. NOWOŚCI: 8 kafelków (2 rzędy na komputerze), reszta w ofercie – przycisk z bloku bloki/nowosci-wiecej.html
   ========================================================================== */
html.StronaGlowna .list-products-last .list-products-container > .product-item:nth-child(n+9) {
  display: none;
}
.widget.custom:has(> .widget-content > .psr-wiecej) {
  padding: 0;
}
.psr-blok.psr-wiecej {
  display: flex;
  justify-content: center;
  margin: clamp(22px, 2.6vw, 34px) 0 clamp(10px, 1.6vw, 20px);
}

/* ==========================================================================
   8. MARKI po usunięciu kafli kategorii: biała fala nad sekcją (wcześniej robiła ją sekcja kategorii);
   pusty wiersz .categories-tiles (widget usunięty w panelu) nie rysuje ciemnego pasa
   ========================================================================== */
html .categories-tiles:not(:has(.widget)) {
  display: none;
}
.psr-blok.psr-marki {
  padding-top: calc(var(--psr-fala-h) + clamp(20px, 2.6vw, 34px));
}
.psr-blok.psr-marki::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: var(--psr-fala-h);
  background: var(--psr-white);
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  animation: psr-fala 18s linear infinite;
  pointer-events: none;
}

/* ----- 21-banery.css ----- */
/* ==========================================================================
   21-banery.css – STRONA GŁÓWNA: karuzela mini-banerów pod sceną główną (24.09.2026).
   Blok: bloki/hero.html (widget FzS1c-N7bE-Bggps2uybMg), sekcja .psr-banery + skrypt na końcu bloku.
   Tor przewija się natywnie (scroll-snap) – działa też bez skryptu; skrypt dokłada kropki, strzałki,
   przeciąganie myszą i samoczynne przewijanie. Tor ma szerokość okna, a pierwszy baner zaczyna się
   na lewej krawędzi treści (--psr-sg-kontener z 20-strona-glowna.css) – kolejne wystają w prawo.
   Na zdjęciach nie ma mix-blend-mode (grafiki mają przezroczyste tło), więc ruch na hover jest bezpieczny w Safari.
   Kolory: limonka / liliowy głęboki / limonka 40 / mięta głęboka / liliowy 20 / nocna mięta / mięta 20 – bez korala (tylko promocje).
   ========================================================================== */

.widget.custom:has(> .widget-content > .psr-banery) {
  padding: 0;
}
.psr-blok.psr-banery {
  --psr-bn-luz: max(10px, calc((100% - var(--psr-sg-kontener)) / 2));
  --psr-bn-gap: 24px;
  --psr-bn-na-widok: 2;
  position: relative;
  /* na całą szerokość okna z kolumny .container-fluid – jak scena główna (html ma overflow-x: clip) */
  max-width: none;
  margin-inline: calc(50% - 50vw);
  padding: clamp(0px, 1vw, 12px) 0 clamp(4px, 1vw, 12px);
  background: var(--psr-white);
}

/* ---------- 1. Tor ---------- */
.psr-blok.psr-banery .psr-banery-tor {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--psr-bn-gap) * (var(--psr-bn-na-widok) - 1)) / var(--psr-bn-na-widok));
  gap: var(--psr-bn-gap);
  margin: 0;
  padding: 14px var(--psr-bn-luz) 26px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--psr-bn-luz);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  list-style: none;
}
.psr-blok.psr-banery .psr-banery-tor::-webkit-scrollbar {
  display: none;
}
.psr-blok.psr-banery .psr-banery-slajd {
  display: flex;
  min-width: 0;
  scroll-snap-align: start;
  container-type: inline-size;
}
/* przeciąganie myszą: bez przyciągania i zaznaczania tekstu, kursor „łapka” */
.psr-blok.psr-banery.psr-banery--js .psr-banery-tor {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.psr-blok.psr-banery.psr-banery--ciagnie .psr-banery-tor {
  scroll-snap-type: none;
  cursor: grabbing;
}
.psr-blok.psr-banery.psr-banery--ciagnie .psr-baner {
  pointer-events: none;
}

/* ---------- 2. Baner ---------- */
.psr-blok.psr-banery .psr-baner {
  /* kolory wariantu (niżej): tło, tytuł, akcent .lc, nadtytuł, opis, plama pod grafiką, poświata w rogu, iskierka */
  --psr-bn-tlo: var(--psr-lime);
  --psr-bn-tytul: var(--psr-night);
  --psr-accent: var(--psr-sole-lilac);
  --psr-bn-kicker: var(--psr-night);
  --psr-bn-opis: var(--psr-night);
  --psr-bn-plama: var(--psr-white);
  --psr-bn-poswiata: rgba(255, 255, 255, 0.34);
  --psr-doodle-kolor: var(--psr-white);
  --psr-a-kolor: var(--psr-bn-tytul);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
  align-items: stretch;
  flex: 1;
  min-height: 292px;
  overflow: hidden;
  border-radius: var(--psr-radius-card);
  background: var(--psr-bn-tlo);
  box-shadow: var(--psr-lift-sm);
  -webkit-tap-highlight-color: transparent;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
/* miękka poświata w lewym dolnym rogu – tło nie jest płaskie */
.psr-blok.psr-banery .psr-baner::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -16%;
  bottom: -58%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--psr-bn-poswiata);
  pointer-events: none;
}
.psr-blok.psr-banery .psr-baner:is(:hover, :focus-visible) {
  translate: 0 -4px;
  box-shadow: var(--psr-lift);
}
.psr-blok.psr-banery .psr-baner:focus-visible {
  outline-color: var(--psr-night);
}

/* warianty kolorów */
.psr-blok.psr-banery .psr-baner--lilac {
  --psr-bn-tlo: var(--psr-lilac-deep);
  --psr-bn-tytul: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-bn-kicker: var(--psr-lime);
  --psr-bn-opis: var(--psr-white);
  --psr-bn-plama: var(--psr-lilac-20);
  --psr-bn-poswiata: rgba(255, 255, 255, 0.12);
  --psr-doodle-kolor: var(--psr-lime);
}
.psr-blok.psr-banery .psr-baner--mint {
  --psr-bn-tlo: var(--psr-mint-deep);
  --psr-bn-tytul: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-bn-kicker: var(--psr-lime);
  --psr-bn-opis: var(--psr-white);
  --psr-bn-plama: var(--psr-mint-20);
  --psr-bn-poswiata: rgba(255, 255, 255, 0.12);
  --psr-doodle-kolor: var(--psr-lime);
}
.psr-blok.psr-banery .psr-baner--night {
  --psr-bn-tlo: var(--psr-night);
  --psr-bn-tytul: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-bn-kicker: var(--psr-lime);
  --psr-bn-opis: var(--psr-code-ink);
  --psr-bn-plama: var(--psr-mint-20);
  --psr-bn-poswiata: rgba(101, 194, 196, 0.16);
  --psr-doodle-kolor: var(--psr-lime);
}
.psr-blok.psr-banery .psr-baner--lilac-jasny {
  --psr-bn-tlo: var(--psr-lilac-20);
  --psr-bn-tytul: var(--psr-night);
  --psr-accent: var(--psr-lilac-deep);
  --psr-bn-kicker: var(--psr-sole-lilac);
  --psr-bn-opis: var(--psr-ink);
  --psr-bn-plama: var(--psr-white);
  --psr-bn-poswiata: var(--psr-lilac-40);
  --psr-doodle-kolor: var(--psr-lilac-deep);
}
/* jasna limonka z limonkowym kleksem – pod białe opakowania (kiełbaski Monster), które na białej plamie giną */
.psr-blok.psr-banery .psr-baner--lime-jasny {
  --psr-bn-tlo: var(--psr-lime-40);
  --psr-bn-tytul: var(--psr-night);
  --psr-accent: var(--psr-mint-deep);
  --psr-bn-kicker: var(--psr-night);
  --psr-bn-opis: var(--psr-ink);
  --psr-bn-plama: var(--psr-lime);
  --psr-bn-poswiata: rgba(255, 255, 255, 0.55);
  --psr-doodle-kolor: var(--psr-mint-deep);
}
.psr-blok.psr-banery .psr-baner--mint-jasny {
  --psr-bn-tlo: var(--psr-mint-20);
  --psr-bn-tytul: var(--psr-night);
  --psr-accent: var(--psr-mint-deep);
  --psr-bn-kicker: var(--psr-mint-deep);
  --psr-bn-opis: var(--psr-ink);
  --psr-bn-plama: var(--psr-white);
  --psr-bn-poswiata: var(--psr-mint-40);
  --psr-doodle-kolor: var(--psr-mint-deep);
}

/* ---------- 3. Treść: nadtytuł, tytuł (KLUCZ wersalikami + marka .lc w drugiej linii), opis (3 linie), przycisk ----------
   każdy baner ma ten sam układ treści, więc blok wyśrodkowany w pionie daje nadtytuły i przyciski w jednej linii */
.psr-blok.psr-banery .psr-baner-tresc {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 30px 0 30px 32px;
}
.psr-blok.psr-banery .psr-baner-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--psr-bn-kicker);
  font-size: var(--psr-fs-label);
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.psr-blok.psr-banery .psr-baner-kicker::before {
  content: "";
  flex: none;
  width: 13px;
  height: 13px;
  background-color: currentColor;
  -webkit-mask: var(--psr-d-sparkle) center / contain no-repeat;
  mask: var(--psr-d-sparkle) center / contain no-repeat;
}
.psr-blok.psr-banery .psr-baner-tytul {
  display: block;
  color: var(--psr-bn-tytul);
  font-size: clamp(28px, 2.5vw, 35px);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}
.psr-blok.psr-banery .psr-baner-tytul .lc {
  display: block;
}
.psr-blok.psr-banery .psr-baner-opis {
  display: block;
  margin-bottom: 8px;
  color: var(--psr-bn-opis);
  font-size: 15.5px;
  line-height: 1.45;
}
.psr-blok.psr-banery .psr-baner-cta {
  margin-top: 4px;
}
.psr-blok.psr-banery .psr-baner-cta .psr-ic {
  --psr-ic-size: 17px;
  transition: translate var(--psr-t-base) var(--psr-spring);
}
/* cały baner jest linkiem – przycisk reaguje na najechanie baneru tak jak samodzielny przycisk KV */
.psr-blok.psr-banery .psr-baner:hover .psr-baner-cta {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-btn-sole, var(--psr-sole-night));
}
.psr-blok.psr-banery .psr-baner:is(:hover, :focus-visible) .psr-baner-cta .psr-ic {
  translate: 3px 0;
}

/* ---------- 4. Grafika na plamie ---------- */
.psr-blok.psr-banery .psr-baner-grafika {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  padding: 26px 22px 24px 4px;
}
/* organiczna plama pod kompozycją */
.psr-blok.psr-banery .psr-baner-grafika::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(92%, 250px);
  aspect-ratio: 1;
  border-radius: 58% 42% 52% 48% / 46% 56% 44% 54%;
  background: var(--psr-bn-plama);
  translate: -52% -50%;
  transition: rotate var(--psr-t-big) var(--psr-spring), scale var(--psr-t-big) var(--psr-spring);
}
.psr-blok.psr-banery .psr-baner-grafika img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 226px;
  object-fit: contain;
  -webkit-user-drag: none;
  transition: translate var(--psr-t-big) var(--psr-spring), rotate var(--psr-t-big) var(--psr-spring), scale var(--psr-t-big) var(--psr-spring);
}
.psr-blok.psr-banery .psr-baner:is(:hover, :focus-visible) .psr-baner-grafika::before {
  rotate: 14deg;
  scale: 1.05;
}
.psr-blok.psr-banery .psr-baner:is(:hover, :focus-visible) .psr-baner-grafika img {
  translate: 0 -6px;
  rotate: -2deg;
  scale: 1.04;
}
.psr-blok.psr-banery .psr-baner-iskra {
  --psr-doodle-w: 26px;
  top: 20px;
  right: 22px;
}

/* ---------- 5. Węższe banery (zapytanie o szerokość slajdu) ----------
   ≥ 520 px: układ pełny; 440–519 px: zwarty poziomy (1024 px – dwa banery po 458 px); < 440 px: grafika nad treścią (telefon) */
@container (max-width: 519px) {
  .psr-blok.psr-banery .psr-baner {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    min-height: 272px;
  }
  .psr-blok.psr-banery .psr-baner-tresc {
    gap: 8px;
    padding: 24px 0 26px 24px;
  }
  .psr-blok.psr-banery .psr-baner-tytul {
    font-size: 27px;
  }
  .psr-blok.psr-banery .psr-baner-opis {
    font-size: 14.5px;
  }
  .psr-blok.psr-banery .psr-baner-grafika {
    padding: 24px 16px 22px 2px;
  }
  .psr-blok.psr-banery .psr-baner-grafika::before {
    width: min(94%, 210px);
  }
  .psr-blok.psr-banery .psr-baner-iskra {
    --psr-doodle-w: 22px;
    top: 16px;
    right: 16px;
  }
}
@container (max-width: 439px) {
  .psr-blok.psr-banery .psr-baner {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .psr-blok.psr-banery .psr-baner::before {
    left: auto;
    right: -30%;
    bottom: -38%;
    width: 80%;
  }
  .psr-blok.psr-banery .psr-baner-grafika {
    display: block;
    flex: none;
    order: -1;
    height: 236px;
    padding: 20px 50px 44px;
  }
  /* kleks jak na PC (ten sam organiczny kształt), mieści się w karcie; produkty stoją w jego najszerszej części –
     dół z cieniem leży na plamie, góra może wystawać */
  .psr-blok.psr-banery .psr-baner-grafika::before {
    top: auto;
    bottom: 0;
    width: min(84%, 290px);
    aspect-ratio: 1 / 0.8;
    translate: -50% 0;
  }
  .psr-blok.psr-banery .psr-baner-grafika img {
    width: 100%;
    height: 100%;
    max-height: none;
  }
  .psr-blok.psr-banery .psr-baner-tresc {
    flex: 1;
    gap: 8px;
    padding: 12px 22px 24px;
  }
  .psr-blok.psr-banery .psr-baner-tytul {
    font-size: 28px;
  }
  .psr-blok.psr-banery .psr-baner-opis {
    font-size: 15px;
  }
}

/* ---------- 6. Sterowanie: kropki + pauza + strzałki (tylko ze skryptem) ---------- */
.psr-blok.psr-banery .psr-banery-sterowanie {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--psr-sg-kontener);
  margin: 0 auto;
  padding: 0 10px;
}
.psr-blok.psr-banery.psr-banery--js:not(.psr-banery--jedna) .psr-banery-sterowanie {
  display: flex;
}
@media (min-width: 768px) {
  .psr-blok.psr-banery .psr-banery-sterowanie {
    padding: 0;
  }
}
.psr-blok.psr-banery .psr-banery-kropki {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  margin-left: -8px;
}
.psr-blok.psr-banery .psr-banery-kropka {
  position: relative;
  width: 28px;
  height: 32px;
  border-radius: var(--psr-radius-pill);
  transition: width var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-banery .psr-banery-kropka::before {
  content: "";
  position: absolute;
  left: 9px;
  right: 9px;
  top: 50%;
  height: 10px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-40);
  translate: 0 -50%;
  transition: background-color var(--psr-t-fast) ease;
}
.psr-blok.psr-banery .psr-banery-kropka:hover::before {
  background: var(--psr-mint);
}
.psr-blok.psr-banery .psr-banery-kropka[aria-current="true"] {
  width: 46px;
}
.psr-blok.psr-banery .psr-banery-kropka[aria-current="true"]::before {
  background: var(--psr-mint-deep);
}
.psr-blok.psr-banery .psr-banery-strzalki {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 4px;
}
.psr-blok.psr-banery .psr-banery-btn .psr-ic {
  --psr-ic-size: 20px;
}
.psr-blok.psr-banery .psr-banery-btn[hidden] {
  display: none;
}
.psr-blok.psr-banery .psr-banery-pauza {
  box-shadow: inset 0 0 0 2px var(--psr-mint-20), 0 var(--psr-btn-sole-h, 3px) 0 var(--psr-btn-sole);
}
.psr-blok.psr-banery .psr-banery-pauza:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-20), 0 7px 0 var(--psr-btn-sole);
}
/* ikona pauzy: dwie belki; stan „gra” (przewijanie wyłączone): trójkąt */
.psr-blok.psr-banery .psr-banery-pauza-ic {
  display: block;
  width: 14px;
  height: 16px;
  background: linear-gradient(90deg, currentColor 0 5px, transparent 5px 9px, currentColor 9px 14px);
  border-radius: 2px;
}
.psr-blok.psr-banery .psr-banery-pauza--gra .psr-banery-pauza-ic {
  margin-left: 3px;
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  border-radius: 0;
}

/* ---------- 7. Ile banerów w widoku ---------- */
@media (max-width: 991px) {
  .psr-blok.psr-banery {
    --psr-bn-na-widok: 1.34;
    --psr-bn-gap: 20px;
  }
}
@media (max-width: 767px) {
  .psr-blok.psr-banery {
    --psr-bn-na-widok: 1.2;
  }
}
@media (max-width: 600px) {
  .psr-blok.psr-banery {
    --psr-bn-na-widok: 1.1;
    --psr-bn-gap: 14px;
  }
  .psr-blok.psr-banery .psr-banery-kropka {
    width: 22px;
  }
  .psr-blok.psr-banery .psr-banery-kropka::before {
    left: 6px;
    right: 6px;
  }
  .psr-blok.psr-banery .psr-banery-kropka[aria-current="true"] {
    width: 36px;
  }
  .psr-blok.psr-banery .psr-banery-strzalki {
    gap: 10px;
  }
  .psr-blok.psr-banery .psr-banery-tor {
    padding-top: 8px;
    padding-bottom: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .psr-blok.psr-banery :is(.psr-baner, .psr-baner-grafika img, .psr-baner-cta .psr-ic),
  .psr-blok.psr-banery .psr-baner-grafika::before {
    transition: none;
  }
}

/* ----- 30-kafelki.css ----- */
/* ==========================================================================
   30-kafelki.css – MODUŁ KAFELKI: kafelek produktu .product-item we wszystkich listach
   (strona główna: .list-products-recommended / .list-products-last – col-md-3;
    listing/oferta/wyszukiwanie: .list-products-offer – col-md-4, ViewType=1 col-sm-6, ViewType=3 .one-column;
    paginacja AJAX „Sztos produkty” – pusty .product-label)
   jako „Karta produktu” KV (#karty): biała karta r 32 z cieniem --psr-lift, szary pagórek pod zdjęciem,
   naklejka „Polecany” ręcznie wycięta, kropka dostępności, nazwa i cena nocną miętą, przycisk na całą szerokość.
   Wygląd przycisków i licznika daje fundament (02-przyciski.css) – tu tylko układ i rozmiary w karcie.
   Siatka .list-products-container (grid 12 ścieżek, bez :has) też jest tutaj.
   Specyficzność: szablon ma dla kafelka do (0,8,0) (L3404–3532); nasze reguły mają tę samą albo
   wyższą specyficzność (powtórzona klasa .product-item.product-item – tylko tam, gdzie trzeba) i stoją później.
   Bez !important.
   ========================================================================== */

/* ---------- 1. Siatka listy: 12 ścieżek, kafel zajmuje tyle, ile jego klasa Bootstrapa ----------
   telefon: 2 kolumny (KV ≤480 px: 2 kolumny, odstęp 12 px); ≥768: col-sm-6 = 2, .one-column = 1 (lista);
   ≥992: col-md-3 = 4 (strona główna), col-md-4 = 3 (listing). Bez :has – działa wszędzie, gdzie grid.
   Szablon: float + clearfix ::before/::after (0,2,1) L3282, .row { margin: 0 -10px } L89. */
.list-products .row.list-products-container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  margin: 10px 0 24px;
  padding: 0;
}
.list-products .row.list-products-container::before,
.list-products .row.list-products-container::after {
  content: none;
  display: none;
}
.list-products .list-products-container > .product-item {
  grid-column: span 6;
  float: none;
  width: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  /* karta dopasowuje typografię do własnej szerokości (180–350 px) – @container psr-kafel niżej */
  container: psr-kafel / inline-size;
}
@media (min-width: 768px) {
  .list-products .row.list-products-container {
    gap: 20px;
  }
  .list-products .list-products-container > .product-item.one-column {
    grid-column: 1 / -1;
  }
}
@media (min-width: 992px) {
  .list-products .list-products-container > .product-item.col-md-4 {
    grid-column: span 4;
  }
  .list-products .list-products-container > .product-item.col-md-3 {
    grid-column: span 3;
  }
}

/* szablon: hover kafla = scale(1.02) + „all .2s linear” (L3293–3298) – KV nie powiększa karty */
.list-products .product-item,
.list-products .product-item:hover {
  transform: none;
  transition: none;
}

/* ---------- 2. Karta .product-item-container (KV .product) ----------
   biała, r 32 (24 w wąskiej karcie), cień --psr-lift (ton tła sekcji – sekcja może nadpisać --psr-lift),
   bez obwódki #e8e1d7 i bez szarego rozmytego cienia na hover (L3302, L3320). */
.list-products .product-item .product-item-container {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  color: var(--psr-ink);
  text-align: center;
  /* powrót po przechyle 3D (.psr-tilt ze skryptu) – jak KV .tilt: 500 ms gładko */
  transition: transform 500ms var(--psr-smooth);
}
.list-products .product-item .product-item-container:hover {
  box-shadow: var(--psr-lift);
}
/* clearfix szablonu w karcie-flexie byłby pustym elementem */
.list-products .product-item .product-item-container::before,
.list-products .product-item .product-item-container::after {
  content: none;
  display: none;
}

/* ---------- 3. Pole zdjęcia .product-image-container (KV .product-media + pagórek) ----------
   (0,5,0) – bije ≥768 px „padding-bottom:85%; height:0” szablonu (0,5,0, L3470). */
.list-products .product-item.product-item .product-item-container .product-image-container {
  position: relative;
  flex: none;
  width: auto;
  height: auto;
  max-height: none;
  margin: 8px 8px 0;
  padding: 0;
  aspect-ratio: 1 / 0.95;
  overflow: hidden;
  border-radius: 26px;
  background: var(--psr-foto-tlo);
  /* zdjęcia JPG na białym tle mieszają się (multiply) tylko z tłem tego pola */
  isolation: isolate;
}
/* pagórek: elipsa #e5eaea wystająca pod dolną krawędź. Faluje (psr-hill) tylko pod kursorem –
   36 animacji border-radius naraz na stronie głównej to zbędne przemalowania (zasada wydajności);
   każda karta ma inny kształt spoczynkowy (ujemne opóźnienie zatrzymanej animacji) */
.list-products .product-item .product-item-container .product-image-container::before {
  content: "";
  position: absolute;
  left: -15%;
  right: -15%;
  bottom: -40%;
  height: 72%;
  border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%;
  background: var(--psr-foto-pagorek);
  pointer-events: none;
  animation: psr-hill var(--psr-pagorek-czas, 12s) ease-in-out var(--psr-pagorek-d, -9s) infinite paused;
}
.list-products .product-item:nth-of-type(4n+2) { --psr-pagorek-czas: 14s; --psr-pagorek-d: -4s; }
.list-products .product-item:nth-of-type(4n+3) { --psr-pagorek-czas: 11s; --psr-pagorek-d: -7s; }
.list-products .product-item:nth-of-type(4n+4) { --psr-pagorek-czas: 13s; --psr-pagorek-d: -2s; }
.list-products .product-item .product-item-container:is(:hover, :focus-within) .product-image-container::before {
  animation-play-state: running;
}

/* link = całe pole; bez z-index (inaczej tworzy kontekst i multiply nie widzi tła pola) */
.list-products .product-item .product-item-container .product-image-container a {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  max-width: none;
  max-height: none;
  margin: 0;
  border-radius: inherit;
  text-decoration: none;
}
.list-products .product-item .product-item-container .product-image-container a:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: -5px;
}
/* packshot stoi na pagórku: maks. 72 % wys. / 78 % szer. (≤ 230 px), 8 % nad dołem (KV) */
.list-products .product-item .product-item-container .product-image-container a img {
  position: relative;
  inset: auto;
  display: block;
  width: auto;
  height: auto;
  max-width: min(78%, 230px);
  max-height: min(72%, 230px);
  margin: 0 0 8%;
  object-fit: contain;
  mix-blend-mode: multiply;
  /* bez filter: na prawdziwym iPhonie filtr przenosi zdjęcie na osobną warstwę GPU i multiply przestaje działać
     (biały kwadrat za produktem) – symulator tego nie pokazuje (24.09.2026) */
  transition: scale 500ms var(--psr-spring), rotate 500ms var(--psr-spring);
}
@media (hover: hover) {
  .list-products .product-item .product-item-container:hover .product-image-container a img {
    scale: 1.06;
    rotate: -2deg;
  }
}

/* ---------- 4. Naklejki platformy ----------
   .recommended-label „Polecany” → KV .badge (mięta głęboka, +3°, lewy górny róg pola zdjęcia);
   szablon: limonkowy trójkąt obrócony o −52° z paddingiem 155 px (L3615–3651), biały tekst 1,4:1.
   (0,5,0) bije .product-item.one-column … (0,4,0) i .product-item … (0,3,0). */
.list-products .product-item .product-item-container .product-image-container > .recommended-label:not(:empty) {
  position: absolute;
  top: 14px;
  left: 12px;
  right: auto;
  bottom: auto;
  z-index: 2;
  display: inline-block;
  max-width: calc(100% - 24px);
  height: auto;
  margin: 0;
  padding: 8px 17px 9px;
  border-radius: var(--psr-kafel-ksztalt, 24px 6px 18px 8px / 20px 8px 24px 10px);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: none;
  transform-origin: 50% 50%;
  rotate: var(--psr-kafel-kat, 3deg);
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring), border-radius 500ms var(--psr-spring);
}
.list-products .product-item .product-item-container .product-image-container > .recommended-label:not(:empty):hover {
  rotate: 0deg;
  scale: 1.08;
  border-radius: var(--psr-kafel-ksztalt-h, 8px 22px 7px 20px / 12px 21px 9px 20px);
}
/* każda karta w rzędzie ma inny „wycięty” kształt i kąt (KV .product:nth-child(4n+2…4) .badge) */
.list-products .product-item:nth-of-type(4n+2) { --psr-kafel-kat: -3deg; --psr-kafel-ksztalt: 7px 22px 8px 20px / 12px 22px 9px 20px; --psr-kafel-ksztalt-h: 22px 8px 24px 6px / 21px 9px 22px 10px; }
.list-products .product-item:nth-of-type(4n+3) { --psr-kafel-kat: 2deg; --psr-kafel-ksztalt: 20px 8px 26px 6px / 9px 20px 12px 22px; --psr-kafel-ksztalt-h: 8px 24px 6px 20px / 21px 10px 20px 9px; }
.list-products .product-item:nth-of-type(4n+4) { --psr-kafel-kat: -2deg; --psr-kafel-ksztalt: 8px 24px 6px 20px / 22px 10px 20px 9px; --psr-kafel-ksztalt-h: 22px 7px 20px 9px / 10px 20px 11px 21px; }

/* .service-label – dziś zawsze pusta; gdyby platforma coś wpisała: naklejka nocną miętą w prawym górnym rogu
   (tam, gdzie w KV jest serduszko). Szablon: szary pasek #b0b0b0 (0,3,0) L3408. */
.list-products .product-item .product-item-container > .service-label:not(:empty) {
  position: absolute;
  top: 20px;
  right: 18px;
  left: auto;
  z-index: 3;
  max-width: calc(100% - 36px);
  padding: 6px 13px 7px;
  border-radius: 8px 22px 7px 20px / 12px 21px 9px 20px;
  background: var(--psr-night);
  color: var(--psr-white);
  font-size: 13px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  rotate: -3deg;
}

/* .promotion-label – NIEZWERYFIKOWANE (w sklepie nie ma dziś promocji; markup znany tylko z CSS/JS platformy,
   OmnibusService wpisuje tekst „Promocja”). KV: koralowa naklejka cenowa z przerywaną linią cięcia,
   w polu zdjęcia; tu w prawym górnym rogu (lewy zajmuje „Polecany”). Szablon: (0,1,0) L3663, one-column L3676.
   Z reguł szablonu (top:-40px; w liście left:-90px, czyli nad zdjęciem) wynika, że etykieta siedzi
   w .product-data-container – dlatego ten kontener ma position:static (sekcja 5) i naklejka liczy się od karty. */
.list-products .product-item .product-item-container .promotion-label:not(:empty) {
  position: absolute;
  top: 16px;
  right: 16px;
  bottom: auto;
  left: auto;
  z-index: 3;
  display: inline-block;
  padding: 9px 14px 10px;
  border-radius: 64% 36% 58% 42% / 44% 62% 38% 56%;
  background: var(--psr-coral-deep);
  color: var(--psr-white);
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  rotate: -8deg;
}
.list-products .product-item .product-item-container .promotion-label:not(:empty)::before {
  content: "";
  position: absolute;
  inset: -6px;
  border: 2px dashed var(--psr-coral-deep);
  border-radius: 40% 60% 46% 54% / 62% 40% 60% 38%;
  rotate: 6deg;
  pointer-events: none;
}

/* ---------- 5. Treść karty .product-data-container (KV .product-body) ----------
   szablon: margin-top −55 px + padding-top 35 px (nachodzenie na zdjęcie), szare tło #dddddd21 (L3359).
   Kolumna flex: nazwa u góry, reszta dociśnięta do dołu (margin-bottom:auto na nazwie) –
   ceny i przyciski w jednym rzędzie kart stoją na tej samej linii (KV: wiersze auto 1fr auto). */
/* position:static (szablon: relative + z-index:1) – absolutna .promotion-label w środku liczy się od karty */
.list-products .product-item .product-item-container .product-data-container {
  position: static;
  z-index: auto;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  padding: 16px 20px 20px;
  background: none;
  text-align: center;
  /* rozmiary licznika .quantity-change w karcie (fundament czyta te zmienne) */
  --psr-stepper-h: 44px;
  --psr-stepper-btn: 34px;
  --psr-stepper-num: 40px;
}

/* nazwa: KV 19 px nocna mięta, przycięta do 3 linii (4 w liście sklepu – „nazwa z gramaturą zawsze w całości”).
   Nazwy w bazie są WERSALIKAMI i z marką (dłuższe niż w KV) – 17 px, lekkie rozstrzelenie i limit 4 linii
   (5 w wąskich kartach), żeby gramatura na końcu nazwy nie znikała pod wielokropkiem (zmierzone: najdłuższe
   nazwy Dr Malou mają 4 linie przy 230 px i 5 przy 160–190 px). Limit to tylko bezpiecznik.
   Szablon ≥768 px: height 33,6 px (2 linie na sztywno) (0,5,0) L3429. */
.list-products .product-item .product-item-container .product-data-container .product-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  height: auto;
  margin: 0 0 auto;
  padding: 0;
  overflow: hidden;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-align: center;
  text-overflow: ellipsis;
  overflow-wrap: break-word;
  word-break: normal;
}
/* link nazwy: nocna mięta; najechanie = podkreślenie 2 px pojawia się płynnie (tło-gradient jak KV .btn-link
   ucina overflow:hidden przycięcia do 3 linii, więc kolor podkreślenia zamiast szerokości) */
.list-products .product-item .product-item-container .product-data-container .product-title a {
  color: var(--psr-night);
  text-decoration: underline 2px transparent;
  text-underline-offset: 0.16em;
  transition: text-decoration-color var(--psr-t-base) ease;
}
.list-products .product-item .product-item-container .product-data-container .product-title a:hover,
.list-products .product-item .product-item-container .product-data-container .product-title a:focus {
  color: var(--psr-night);
  text-decoration: underline 2px var(--psr-mint-deep);
  text-underline-offset: 0.16em;
}
.list-products .product-item .product-item-container .product-data-container .product-title a:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 2px;
  border-radius: 4px;
}
/* nazwa w 2–4 liniach: obrys wokół każdego fragmentu wiersza był poszarpany – gdy przeglądarka zna :has(),
   obrys dostaje cały blok nazwy (równy prostokąt), link zostaje z podkreśleniem */
@supports selector(:has(a)) {
  .list-products .product-item .product-item-container .product-data-container .product-title a:focus-visible {
    outline: none;
  }
  .list-products .product-item .product-item-container .product-data-container .product-title:has(a:focus-visible) {
    outline: 3px solid var(--psr-focus);
    outline-offset: 3px;
    border-radius: 6px;
  }
}

/* krótki opis (szablon go przewiduje, dziś nie występuje) – drobny szary tekst */
.list-products .product-item .product-item-container .product-data-container .product-short-description {
  height: auto;
  margin: 0;
  color: var(--psr-muted);
  font-size: 14px;
  line-height: 1.4;
}

/* ---------- 6. Dostępność .product-label (KV .stock) ----------
   szablon: liliowa ramka 120×41 px, 12 px, kolumna flex (L3697). KV: tekst 14 px grafit, kropka 10 px z halo.
   Kropka na pierwszym <span> (etykieta „Dostępność:” albo „Oczekujemy na Dostawę”), tekst platformy bez zmian.
   Stany: dostępny = mięta głęboka + halo mięta 20; .not-available = liliowy głęboki + halo liliowy 20 (KV .wait);
   .psr-malo (skrypt, stan ≤ 3) = koral głęboki z pulsem (KV .low). */
.list-products .product-item .product-item-container .product-data-container .product-label {
  display: block;
  flex: none;
  width: auto;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--psr-ink);
  font-size: 14px;
  line-height: 1.35;
  text-align: center;
}
.list-products .product-item .product-item-container .product-data-container .product-label span {
  margin: 0;
}
.list-products .product-item .product-item-container .product-data-container .product-label > :first-child::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 10px 0 4px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: 0 0 0 4px var(--psr-mint-20);
  vertical-align: 0.06em;
}
.list-products .product-item .product-item-container .product-data-container .product-label.not-available > :first-child::before {
  background: var(--psr-lilac-deep);
  box-shadow: 0 0 0 4px var(--psr-lilac-20);
}
/* kontrakt: klasa na .availability-label; na wszelki wypadek też, gdyby skrypt dał ją na .product-label */
.list-products .product-item .product-item-container .product-data-container .product-label > .availability-label.psr-malo::before,
.list-products .product-item .product-item-container .product-data-container .product-label.psr-malo > :first-child::before {
  background: var(--psr-coral-deep);
  box-shadow: none;
  animation: psr-ping-coral 2.4s ease-out infinite;
}

/* ---------- 7. Cena .product-price (KV .product-price) ----------
   KV: 30 px nocna mięta, jedna linia, wyśrodkowana. Szablon: koral 18 px, „ZŁ” wersalikami (L3395). */
.list-products .product-item .product-item-container .product-data-container .product-price {
  display: flex;
  flex: none;
  flex-wrap: wrap;
  align-items: baseline;
  align-content: center;
  justify-content: center;
  gap: 4px 10px;
  min-height: 1.35em;
  margin: 0;
  padding: 0;
  color: var(--psr-night);
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-transform: none;
  white-space: nowrap;
}
/* promocja – NIEZWERYFIKOWANE (markup z CSS szablonu L3692: <span class="product-price-promotion"> przed
   .product-price-wrap ze starą ceną). KV: koralowa cenówka .price-tag + przekreślona stara cena 16 px szara.
   Grosze w <sup class="psr-gr"> dokłada skrypt (styl w 80-js.css). */
.list-products .product-item .product-item-container .product-data-container .product-price .product-price-promotion {
  display: inline-block;
  padding: 4px 16px 6px;
  border-radius: 26px 12px 22px 10px / 18px 22px 12px 20px;
  background: var(--psr-coral-deep);
  color: var(--psr-white);
  line-height: 1;
  rotate: -2deg;
}
.list-products .product-item .product-item-container .product-data-container .product-price .product-price-promotion + .product-price-wrap {
  color: var(--psr-muted);
  font-size: 16px;
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}
/* „Najniższa cena z 30 dni przed obniżką: X zł” – NIEZWERYFIKOWANE; KV .product-omni 13,5 px szary.
   Szablon: 11 px, jedna linia z wielokropkiem (L3753) – w karcie ucinał właśnie kwotę, więc tekst się zawija.
   OmnibusService wyrównuje wysokości inline (height) – liczy je już z tym stylem. */
.list-products .product-item .product-item-container .product-data-container .historical-price {
  height: auto;
  margin: -2px 0 0;
  overflow: visible;
  color: var(--psr-muted);
  font-size: 13px;
  line-height: 1.3;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
}

/* ---------- 8. Ilość i przyciski w karcie ----------
   wygląd (pastylka, podeszwa, ikona, stany) – fundament 02-przyciski.css; tu: miejsce i rozmiar. */
/* licznik: szablon ≥768 ściska go do 120 px (0,5,0) L3450 – zostaje szerokość z zawartości, środek karty */
.list-products .product-item .product-item-container .product-data-container .quantity-change {
  flex: none;
  width: fit-content;
  max-width: 100%;
  margin: 2px auto 4px;
}
/* „Do koszyka” – KV .btn.btn-mint.btn-block: na całą szerokość karty, 52 px, 18 px */
.list-products .product-item .product-item-container .product-data-container .btn-add-to-cart {
  --psr-btn-h: 52px;
  --psr-btn-px: 14px;
  --psr-btn-fs: 18px;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  white-space: nowrap;
}
.list-products .product-item .product-item-container .product-data-container .btn-add-to-cart > i {
  display: none;
}
/* „Zapytanie ofertowe” (niedostępny) – KV .btn.btn-lilac.btn-block w miejscu „Do koszyka”
   (fundament daje mu rozmiar S – w karcie pełny, jak „Do koszyka”) */
.list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
  --psr-btn-h: 52px;
  --psr-btn-px: 12px;
  --psr-btn-fs: 17px;
  --psr-btn-sole-h: 4px;
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
  white-space: nowrap;
}
.list-products .product-item .product-item-container .product-data-container .letter-of-enquiry > i {
  display: none;
}

/* puste elementy: szablon ≥768 px rezerwuje im miejsce (display:block; visibility:hidden, do (0,8,0) L3532),
   na telefonie chowa. W karcie-flexie wyrównanie daje margin-bottom:auto nazwy – chowamy je zawsze.
   (0,9,0): powtórzona klasa .product-item zamiast !important. */
.list-products .product-item.product-item.product-item.product-item .product-item-container .product-data-container :is(.product-label, .btn-add-to-cart, .quantity-change, .letter-of-enquiry):empty {
  display: none;
}

/* kolejność w karcie (węzły knockout zostają na miejscu – tylko order):
   nazwa → dostępność → cena → (najniższa z 30 dni) → licznik → przycisk.
   Produkt niedostępny nie ma licznika – jego „● Oczekujemy na Dostawę” wchodzi w miejsce licznika
   (ta sama wysokość), więc ceny i przyciski w rzędzie kart stoją na jednej linii (KV: auto 1fr auto),
   bez pustej dziury nad „Zapytanie ofertowe”. */
.list-products .product-item .product-item-container .product-data-container .product-label { order: 1; }
.list-products .product-item .product-item-container .product-data-container .product-price { order: 2; }
.list-products .product-item .product-item-container .product-data-container .historical-price { order: 3; }
.list-products .product-item .product-item-container .product-data-container .quantity-change { order: 4; }
.list-products .product-item .product-item-container .product-data-container :is(.btn-add-to-cart, .letter-of-enquiry) { order: 5; }
.list-products .product-item .product-item-container .product-data-container .product-label.not-available {
  order: 4;
  display: flex;
  flex-direction: row; /* szablon: column + align-items:center (L3697) */
  align-items: center;
  justify-content: center;
  min-height: var(--psr-stepper-h);
  margin: 2px 0 4px;
}

/* szeroka karta (2 kolumny przy 768–991 px, ok. 350 px) – nazwa jak w KV, 19 px */
@container psr-kafel (min-width: 320px) {
  .list-products .product-item .product-item-container .product-data-container .product-title {
    font-size: 19px;
  }
}

/* ---------- 9. Karta w wąskiej kolumnie (listing 3 kolumny, strona główna przy 992 px) ---------- */
@container psr-kafel (max-width: 249px) {
  .list-products .product-item .product-item-container .product-data-container {
    gap: 7px;
    padding: 14px 14px 16px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-title {
    font-size: 16px;
    -webkit-line-clamp: 5;
  }
  .list-products .product-item .product-item-container .product-data-container .product-price {
    font-size: 26px;
  }
  .list-products .product-item .product-item-container .product-data-container .btn-add-to-cart {
    --psr-btn-h: 48px;
    --psr-btn-px: 10px;
    --psr-btn-fs: 17px;
  }
  .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
    --psr-btn-h: 48px;
    --psr-btn-px: 8px;
    --psr-btn-fs: 16px;
  }
}

/* ---------- 10. Karta na telefonie (2 kolumny ok. 180 px) – KV @media (max-width: 480px) ---------- */
@container psr-kafel (max-width: 209px) {
  .list-products .product-item .product-item-container {
    border-radius: 24px;
  }
  .list-products .product-item.product-item .product-item-container .product-image-container {
    margin: 6px 6px 0;
    border-radius: 19px;
    aspect-ratio: 1 / 1;
  }
  .list-products .product-item .product-item-container .product-image-container > .recommended-label:not(:empty) {
    top: 10px;
    left: 8px;
    max-width: calc(100% - 16px);
    padding: 5px 10px 6px;
    font-size: 12px;
  }
  .list-products .product-item .product-item-container .promotion-label:not(:empty) {
    top: 12px;
    right: 14px;
    padding: 6px 10px 7px;
    font-size: 11px;
  }
  .list-products .product-item .product-item-container > .service-label:not(:empty) {
    top: 14px;
    right: 12px;
    font-size: 11px;
    padding: 4px 9px 5px;
  }
  .list-products .product-item .product-item-container .product-data-container {
    gap: 6px;
    padding: 10px 10px 12px;
    --psr-stepper-h: 40px;
    --psr-stepper-btn: 30px;
    --psr-stepper-num: 34px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-title {
    font-size: 14.5px;
    letter-spacing: 0.01em;
    -webkit-line-clamp: 5;
  }
  .list-products .product-item .product-item-container .product-data-container .product-label {
    font-size: 12px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-label > :first-child::before {
    width: 8px;
    height: 8px;
    margin: 0 7px 0 3px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-price {
    gap: 3px 6px;
    font-size: 23px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-price .product-price-promotion {
    padding: 3px 10px 5px;
  }
  .list-products .product-item .product-item-container .product-data-container .product-price .product-price-promotion + .product-price-wrap {
    font-size: 13px;
  }
  .list-products .product-item .product-item-container .product-data-container .historical-price {
    font-size: 11.5px;
  }
  .list-products .product-item .product-item-container .product-data-container .btn-add-to-cart {
    --psr-btn-h: 44px;
    --psr-btn-px: 8px;
    --psr-btn-fs: 15px;
  }
  .list-products .product-item .product-item-container .product-data-container .btn-add-to-cart::before {
    width: 18px;
    height: 18px;
    margin-right: 6px;
  }
  .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
    --psr-btn-h: 44px;
    --psr-btn-px: 6px;
    --psr-btn-fs: 14px;
    --psr-btn-sole-h: 3px;
    white-space: normal;
  }
  .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry::before {
    width: 16px;
    height: 16px;
    margin-right: 6px;
  }
}
/* „Polecany” + „Promocja” naraz (NIEZWERYFIKOWANE – symulacja): w polu zdjęcia węższym niż ok. 230 px
   obie naklejki nie mieszczą się obok siebie i nachodziły na siebie – „Promocja” schodzi pod „Polecany”
   (KV: w rogu naklejka ALBO cenówka rabatu; oba naraz KV nie przewiduje). Bez :has() – nakładanie jak dotąd. */
@container psr-kafel (max-width: 249px) {
  .list-products .product-item .product-item-container:has(.product-image-container > .recommended-label:not(:empty)) .promotion-label:not(:empty) {
    top: 46px;
  }
}
@container psr-kafel (max-width: 209px) {
  .list-products .product-item .product-item-container:has(.product-image-container > .recommended-label:not(:empty)) .promotion-label:not(:empty) {
    top: 38px;
    right: 14px; /* przerywana obwódka (inset −6 px, obrót) mieści się w karcie z overflow:hidden */
  }
}

/* najwęższe telefony (360 px → karta ok. 164 px): „Zapytanie ofertowe” z kopertą zawijał się do 2 linii
   (51 px zamiast 44) i przesuwał cenę tej karty względem sąsiedniej – bez ikony mieści się w jednej linii */
@container psr-kafel (max-width: 175px) {
  .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry {
    --psr-btn-px: 4px;
    white-space: nowrap;
  }
  .list-products .product-item .product-item-container .product-data-container .letter-of-enquiry::before {
    display: none;
  }
}

/* ---------- 11. Widok listy (ViewType=3, .one-column) od 768 px – karta pozioma ----------
   szablon: display:table / table-cell, zdjęcie 35 % × 160 px, word-break: break-all w nazwie (L3474–3521).
   KV nie ma widoku listy – ta sama karta ułożona w poziomie: pole zdjęcia z lewej, treść z prawej,
   licznik obok „Do koszyka”. Na telefonie .one-column to zwykła karta w 2 kolumnach. */
@media (min-width: 768px) {
  .list-products .product-item.one-column .product-item-container {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: auto;
  }
  .list-products .product-item.one-column .product-item-container .product-image-container {
    display: block;
    flex: 0 0 clamp(200px, 30%, 280px);
    width: auto;
    height: auto;
    margin: 8px 0 8px 8px;
    vertical-align: baseline;
    text-align: center;
  }
  .list-products .product-item.one-column .product-item-container .product-image-container a {
    position: absolute;
  }
  .list-products .product-item.one-column .product-item-container .product-image-container a img {
    position: relative;
    max-height: min(72%, 230px);
  }
  /* treść: wiersze na całą szerokość, licznik i „Do koszyka” obok siebie – przy wąskiej kolumnie przycisk schodzi niżej */
  .list-products .product-item.one-column .product-item-container .product-data-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    gap: 10px 16px;
    padding: 24px clamp(20px, 4cqi, 36px);
    text-align: left;
    vertical-align: baseline;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container > * {
    flex: 0 0 100%;
  }
  /* szablon (0,6,0) L3502 daje tu overflow:visible i word-break:break-all – bez overflow:hidden przycięcie
     nie działało i 3.–4. linia nazwy nachodziła na dostępność (768 px, sprawdzone) */
  .list-products .product-item.one-column .product-item-container .product-data-container .product-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    margin: 0;
    padding: 0;
    overflow: hidden;
    font-size: 20px;
    text-align: left;
    word-break: normal;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .product-label {
    text-align: left;
  }
  /* w liście nie trzeba wyrównywać cen między kartami – dostępność zostaje nad ceną */
  .list-products .product-item.one-column .product-item-container .product-data-container .product-label.not-available {
    order: 1;
    justify-content: flex-start;
    min-height: 0;
    margin: 0;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .product-price {
    justify-content: flex-start;
    text-align: left;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .historical-price {
    text-align: left;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .quantity-change {
    flex: none;
    margin: 0;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .btn-add-to-cart {
    --psr-btn-px: 26px;
    flex: 0 1 240px;
    width: auto;
    min-width: 180px;
  }
  .list-products .product-item.one-column .product-item-container .product-data-container .letter-of-enquiry {
    --psr-btn-px: 26px;
    flex: 0 1 auto;
    width: auto;
  }
  /* w liście: prawy górny róg pola zdjęcia (pole = 8 px marginesu + clamp(200px, 30%, 280px) szerokości karty);
     gdyby etykieta siedziała jednak w polu zdjęcia, wynik jest ten sam (8 px od jego prawej krawędzi) */
  .list-products .product-item.one-column .product-item-container .promotion-label:not(:empty) {
    top: 16px;
    right: auto;
    bottom: auto;
    left: calc(clamp(200px, 30%, 280px) - 8px);
    translate: -100% 0;
  }
  /* wąska lista (768–991 px obok panelu kategorii: karta ok. 440 px, na nazwę zostaje ok. 190 px) –
     nazwa 17 px i do 4 linii, jak w karcie siatki */
  @container psr-kafel (max-width: 559px) {
    .list-products .product-item.one-column .product-item-container .product-data-container .product-title {
      font-size: 17px;
      -webkit-line-clamp: 4;
    }
  }
}

/* ---------- 11a. Bez JavaScriptu ----------
   liczbę w liczniku wpisuje knockout – bez JS pole było puste (a − / + i tak nic nie robią), więc licznik
   znika; „Oczekujemy na Dostawę” nie musi wtedy zajmować wysokości licznika (ceny w rzędzie dalej równo). */
@media (scripting: none) {
  .list-products .product-item.product-item .product-item-container .product-data-container .quantity-change {
    display: none;
  }
  .list-products .product-item .product-item-container .product-data-container .product-label.not-available {
    min-height: 0;
  }
}

/* ---------- 12. Ograniczony ruch ----------
   globalny wyłącznik (01-baza) zatrzymuje animacje i przejścia; tu dodatkowo: bez obrotu zdjęcia na hover,
   a „ostatnie sztuki” bez pulsu dostają stałą koralową obwódkę (stan nadal odróżnialny). */
@media (prefers-reduced-motion: reduce) {
  .list-products .product-item .product-item-container:hover .product-image-container a img {
    scale: none;
    rotate: none;
  }
  .list-products .product-item .product-item-container .product-image-container > .recommended-label:not(:empty):hover {
    scale: none;
  }
  .list-products .product-item .product-item-container .product-data-container .product-label > .availability-label.psr-malo::before,
  .list-products .product-item .product-item-container .product-data-container .product-label.psr-malo > :first-child::before {
    box-shadow: 0 0 0 4px var(--psr-coral-20);
  }
}

/* ----- 31-listing.css ----- */
/* ==========================================================================
   31-listing.css – LISTING: kategoria (/category/*), /oferta, wyszukiwanie (/oferta?Keyword=…)
   KV „Sklep bez błądzenia” (kv-c 4.19–4.24, 4.34): panel boczny 290 px + treść, drzewo kategorii
   jak wiersze szuflady (.sh-drow), pasek narzędzi (.sh-toolbar: widok, licznik, sortowanie),
   pastylki wyszukiwania (.sh-chip), stronicowanie kołami (.sh-pager), pusty wynik (.sh-empty),
   PayPo i dane kontaktowe w kolumnie, notki pod listą (komunikaty KV .alert).
   Kafelek produktu i siatka kafelków (.list-products-container) – moduł kafelki (30-kafelki.css).
   Klasy na <html>: page-category-details / NaszaOferta / wyszukiwanie (+ oferta_produktowa).
   Id widgetów (stałe): drzewo #Q-OuLVpBa0GQHivoPTI2NA, lista #ueH6lk3y-0aEeEj7J1GUlg,
   PayPo #VyPVkc-lk0ab6fasdnsRGQ, notki #_cLjJ8WuJk-Je2t9oxNsmg, kontakt #\36 nsN_JA-qUe_w630HLDevQ
   (id od cyfry – escape z obowiązkową spacją). Id wygrywa ze wszystkimi regułami szablonu (maks. 0,5,2)
   bez !important. Widgety w kolumnie są też na stronie produktu – ich wygląd jest wspólny.
   ========================================================================== */

/* ---------- 1. Układ „panel boczny + treść” (KV .sh-layout: 290 px | 1fr, odstęp 26 px) ----------
   Szkielet: .content .container > .row > [.col-sm-3 kolumna] [.col-sm-1 pusta] [.col-sm-8 treść] [.clearfix]
   Specyficzność: :is(html.x) (0,1,1) + .content .container .row → (0,4,1) > .row (0,1,0), kolumny (0,1,0). */
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  column-gap: 26px;
  align-items: start;
  margin: 0;
}
/* clearfix .row (::before/::after display:table) stałby się komórką siatki */
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row::before,
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row::after {
  content: none;
}
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row > :is(.col-sm-1, .clearfix) {
  display: none;
}
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row > :is(.col-sm-3, .col-sm-8) {
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row > .col-sm-3 {
  grid-column: 1;
}
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row > .col-sm-8 {
  grid-column: 2;
}
/* platforma po załadowaniu przewija do #ofertaProduktowa (jQuery offset() + skok do kotwicy) –
   kotwica wyżej o oddech, żeby tytuł listy nie stał przy samej krawędzi okna
   (+ wysokość lepkiego nagłówka, gdyby moduł nagłówka ustawił --psr-naglowek-lepki-h; tak samo jak #szczegolyProduktu w 40-produkt) */
:is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #ofertaProduktowa {
  position: relative;
  top: calc(-1 * (var(--psr-naglowek-lepki-h, 0px) + 20px));
}

/* ---------- 2. Drzewo kategorii – biała karta KV .sh-filters, wiersze jak .sh-drow ---------- */
#Q-OuLVpBa0GQHivoPTI2NA {
  margin: 0;
  padding: 20px 12px 14px;
  border-radius: 30px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
#Q-OuLVpBa0GQHivoPTI2NA .widget-header {
  position: relative;
  margin: 0 0 10px;
  padding: 0 10px 12px;
  background: none;
  color: var(--psr-night);
  text-transform: uppercase;
}
/* kreska pod tytułem jak między grupami filtrów KV (.sh-f::before) */
#Q-OuLVpBa0GQHivoPTI2NA .widget-header::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--psr-stone-8);
}
#Q-OuLVpBa0GQHivoPTI2NA .widget-header h4 {
  margin: 0;
  padding: 0;
  color: var(--psr-night);
  font-size: 24px;
  line-height: 1.1;
}
#Q-OuLVpBa0GQHivoPTI2NA .widget-content {
  margin: 0;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .nav {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 17px;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .nav::before,
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .nav::after {
  content: none;
}
/* wiersz: kafelek ikony 38 | nazwa | szewron 16 (węziej niż w szufladzie KV – nazwy kategorii są dłuższe) */
#Q-OuLVpBa0GQHivoPTI2NA .nav > li > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: center;
  padding: 6px;
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.2;
  text-decoration: none;
  word-break: normal;
  overflow-wrap: break-word;
  transition: background-color var(--psr-t-fast) ease;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav > li > a::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--psr-muted);
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
  transition: translate var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
}
/* tło podświetlenia tylko przy myszy (na dotyku :hover „przykleja się” po stuknięciu) i przy fokusie z klawiatury;
   kolor tekstu stały – bije hover/focus szablonu #41a8aa (0,5,2) */
#Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: none;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:focus-visible {
  background: var(--psr-mint-8);
}
@media (hover: hover) {
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:hover {
    background: var(--psr-mint-8);
  }
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:hover::after {
    translate: 3px 0;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:hover .category-item-icon {
    rotate: -8deg;
    scale: 1.08;
  }
}
#Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:focus-visible {
  outline-offset: 0;
}
/* bieżąca kategoria: tło mięta 20 (KV: stan „wybrany” w wierszach i okruszkach) */
#Q-OuLVpBa0GQHivoPTI2NA .nav > li.active > a {
  background: var(--psr-mint-20);
}
#Q-OuLVpBa0GQHivoPTI2NA .nav > li.active > a::after {
  background-color: var(--psr-night);
}
/* kafelek ikony (KV .icon-tile 38 × 38, r 14): pies – mięta głęboka, kot – liliowy głęboki, reszta – mięta 20 */
#Q-OuLVpBa0GQHivoPTI2NA .category-item-icon {
  display: grid;
  place-items: center;
  float: none;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 14px;
  background: var(--psr-mint-20);
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring);
}
/* w bieżącym wierszu (tło mięta 20) jasny kafelek robi się biały – kolorowe (pies/kot) mają mocniejsze reguły niżej */
#Q-OuLVpBa0GQHivoPTI2NA li.active .category-item-icon {
  background: var(--psr-white);
}
/* ikony platformy to czarne SVG w <img> – filtr barwi je na nocną miętę #1d5456 (policzone, błąd < 1/255) */
#Q-OuLVpBa0GQHivoPTI2NA .category-item-icon img {
  display: block;
  width: 20px;
  height: 20px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  filter: brightness(0) invert(26%) sepia(47%) saturate(553%) hue-rotate(133deg) brightness(93%) contrast(92%);
}
#Q-OuLVpBa0GQHivoPTI2NA .nav a[href*="-Psow-"] .category-item-icon {
  background: var(--psr-mint-deep);
}
#Q-OuLVpBa0GQHivoPTI2NA .nav a:is([href*="-Kotow-"], [href*="/Drapaki-"], [href*="/Kuwety-"]) .category-item-icon {
  background: var(--psr-lilac-deep);
}
#Q-OuLVpBa0GQHivoPTI2NA .nav a:is([href*="-Psow-"], [href*="-Kotow-"], [href*="/Drapaki-"], [href*="/Kuwety-"]) .category-item-icon img {
  filter: brightness(0) invert(1);
}
/* nowe kategorie z ikoną psa (ico-110) / kota (ico-109) – kolor po ikonie wybranej w panelu (bez :has zostaje mięta 20) */
#Q-OuLVpBa0GQHivoPTI2NA .category-item-icon:has(img[src*="/ico-110."]) {
  background: var(--psr-mint-deep);
}
#Q-OuLVpBa0GQHivoPTI2NA .category-item-icon:has(img[src*="/ico-109."]) {
  background: var(--psr-lilac-deep);
}
#Q-OuLVpBa0GQHivoPTI2NA .category-item-icon:has(img[src*="/ico-110."], img[src*="/ico-109."]) img {
  filter: brightness(0) invert(1);
}
/* wyszukiwanie bez wyników: „Brak kategorii dla wyników wyszukiwania” + „Wyczyść filtry” (link KV ze strzałką) */
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .empty-category-list {
  display: block;
  padding: 2px 10px 12px;
  color: var(--psr-muted);
  font-size: var(--psr-fs-note);
  line-height: 1.45;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters {
  padding: 0 10px 4px;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters::before,
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters::after {
  content: none;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 0 3px;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 2px no-repeat;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  transition: background-size 350ms var(--psr-smooth), gap var(--psr-t-base) var(--psr-spring);
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters a::after {
  content: "";
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters a:is(:hover, :focus-visible) {
  gap: 12px;
  background-size: 100% 2px;
  color: var(--psr-night);
  text-decoration: none;
}
#Q-OuLVpBa0GQHivoPTI2NA .nav-collapse .list-category-clearfilters a span {
  display: none;
}

/* ---------- 3. PayPo – panel mięta 8 (płaski), tytuł widgetu + znak PayPo bez zmian ---------- */
#VyPVkc-lk0ab6fasdnsRGQ {
  margin: 24px 0 0;
  padding: 18px 18px 20px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
}
#VyPVkc-lk0ab6fasdnsRGQ .widget-header {
  margin: 0 0 12px;
  color: var(--psr-night);
}
#VyPVkc-lk0ab6fasdnsRGQ .widget-header h4 {
  padding: 0;
  font-size: 22px;
  line-height: 1.1;
}
/* stara treść bloku (div.paypo + <style> max-width:300px) i nowa (bloki/paypo.html):
   znak PayPo na białej zaokrąglonej plakietce (biel na mięcie 8 → delikatny cień w tonie tła);
   obrazek wysunięty o 2 px, żeby jego szara ramka 1 px schowała się pod zaokrągleniem */
#VyPVkc-lk0ab6fasdnsRGQ :is(.paypo, .psr-paypo) {
  display: block;
  max-width: 300px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm-mint-8);
}
#VyPVkc-lk0ab6fasdnsRGQ :is(.paypo, .psr-paypo) img {
  display: block;
  width: calc(100% + 4px);
  max-width: none;
  height: auto;
  margin: -2px;
}

/* ---------- 4. Dane kontaktowe w kolumnie – KV .pd-ship: mięta 8, białe kółka z ikonami ---------- */
#\36 nsN_JA-qUe_w630HLDevQ {
  margin: 16px 0 0;
  padding: 18px 18px 20px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-header {
  margin: 0 0 14px;
  color: var(--psr-night);
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-header h4 {
  padding: 0;
  font-size: 22px;
  line-height: 1.1;
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-content {
  display: grid;
  gap: 12px;
}
/* wiersz: kółko 40 px (::before) + ikona (::after) | etykieta (drobne wersaliki) / wartość */
#\36 nsN_JA-qUe_w630HLDevQ .widget-content > div {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  margin: 0;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-content > div::before {
  content: "";
  grid-row: 1 / span 2;
  grid-column: 1;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm-mint-8);
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-content > div::after {
  content: "";
  position: absolute;
  left: 11px;
  top: calc(50% - 9px);
  width: 18px;
  height: 18px;
  background-color: var(--psr-mint-deep);
  -webkit-mask: var(--psr-ic-kontakt, var(--psr-i-info)) center / contain no-repeat;
  mask: var(--psr-ic-kontakt, var(--psr-i-info)) center / contain no-repeat;
}
#\36 nsN_JA-qUe_w630HLDevQ .contact-data-company { --psr-ic-kontakt: var(--psr-i-home); }
#\36 nsN_JA-qUe_w630HLDevQ .contact-data-addr { --psr-ic-kontakt: var(--psr-i-pin); }
#\36 nsN_JA-qUe_w630HLDevQ .contact-data-phone { --psr-ic-kontakt: var(--psr-i-phone); }
#\36 nsN_JA-qUe_w630HLDevQ .contact-data-email { --psr-ic-kontakt: var(--psr-i-mail); }
#\36 nsN_JA-qUe_w630HLDevQ .widget-content > div > :not(.contact-data-label) {
  grid-column: 2;
}
#\36 nsN_JA-qUe_w630HLDevQ .contact-data-label {
  grid-column: 2;
  align-self: end;
  color: var(--psr-muted);
  font-size: var(--psr-fs-label);
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-content a {
  color: var(--psr-mint-deep);
  text-decoration: none;
}
#\36 nsN_JA-qUe_w630HLDevQ .widget-content a:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

/* ---------- 5. Lista: nagłówek (KV .sh-page-title) ---------- */
#ueH6lk3y-0aEeEj7J1GUlg {
  padding: 0;
}
#ueH6lk3y-0aEeEj7J1GUlg > .widget-header {
  margin: 4px 0 20px;
  color: var(--psr-night);
}
#ueH6lk3y-0aEeEj7J1GUlg > .widget-header h1 {
  padding: 0;
  font-size: clamp(38px, 4.4vw, 52px);
  line-height: 1;
}

/* ---------- 6. Pasek narzędzi – biała pastylka KV .sh-toolbar: [widok] [licznik] … [sortowanie] ----------
   .widget-content listy: widok, sortowanie, (pastylki wyszukiwania), licznik, siatka kafelków, stronicowanie.
   Siatka z obszarami; pastylka paska to ::before rozciągnięte na pierwszy wiersz (widget-content nie ma clearfixu). */
#ueH6lk3y-0aEeEj7J1GUlg > .widget-content {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "opis opis opis"
    "widok licznik sort"
    "filtry filtry filtry"
    "lista lista lista"
    "strony strony strony";
  align-items: center;
  column-gap: 18px;
}
#ueH6lk3y-0aEeEj7J1GUlg > .widget-content::before {
  content: "";
  grid-row: 2;
  grid-column: 1 / -1;
  align-self: stretch;
  z-index: -1;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-category-description {
  grid-area: opis;
  margin: 0 0 20px;
  color: var(--psr-muted);
  font-size: 16.5px;
  line-height: 1.45;
  text-align: left;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container {
  grid-area: lista;
  margin-top: 22px;
}
/* przełącznik widoku (2 kol. / 3 kol. / lista) – KV .seg w wersji z ikonami: tor mięta 8, wybrany = mięta głęboka */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container {
  grid-area: widok;
  float: none;
  padding: 8px 0 8px 8px;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view {
  display: flex;
  gap: 2px;
  float: none;
  margin: 0;
  padding: 4px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  list-style: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li {
  float: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a {
  display: grid;
  place-content: center;
  gap: 2px;
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 50%;
  background: transparent;
  transition: background-color var(--psr-t-fast) ease;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a:hover {
  background: var(--psr-mint-20);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a .icon-row {
  display: flex;
  gap: 2px;
  float: none;
  margin: 0;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a i {
  display: block;
  width: 4px;
  height: 4px;
  margin: 0;
  border-radius: 1px;
  background: var(--psr-night);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a.two-column-icon i {
  width: 7px;
  height: 7px;
  border-radius: 2px;
}
/* lista: kwadracik + belka w dwóch wierszach */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a.one-column-icon .icon-row i {
  width: 5px;
  height: 5px;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a.one-column-icon .icon-row i:nth-child(2) {
  width: 12px;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li a.one-column-icon .icon-row i:nth-child(n+3) {
  display: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li.active a {
  background: var(--psr-mint-deep);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-actions-container .list-view li.active a i {
  background: var(--psr-white);
}
/* licznik „Ilość ofert: 198” (KV .sh-count; liczby nie da się wyróżnić bez skryptu – jeden węzeł tekstu) */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-amount {
  grid-area: licznik;
  float: none;
  clear: none;
  margin: 0;
  padding: 8px 0;
  color: var(--psr-muted);
  font-size: 17px;
  line-height: 1.2;
}
/* sortowanie – pastylka jak select.input KV (44 px) + lista jako biały panel (popover KV) */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort {
  grid-area: sort;
  float: none;
  justify-self: end;
  min-width: 0;
  padding: 8px 8px 8px 0;
  font-size: 15px;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown {
  display: flex;
  align-items: center;
  gap: 10px;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown > span {
  flex: none;
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.2;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 220px;
  max-width: 100%;
  height: 44px;
  padding: 0 46px 0 18px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  cursor: pointer;
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
  color: var(--psr-night);
  text-decoration: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown.open .dropdown-toggle {
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
/* szary „ogon” szablonu (::before) znika, trójkąt (::after) → szewron KV obracany po otwarciu */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle::before {
  content: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle::after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 15px;
  width: 20px;
  height: 20px;
  border: 0;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-chevron) center / contain no-repeat;
  mask: var(--psr-i-chevron) center / contain no-repeat;
  transition: rotate var(--psr-t-base) var(--psr-spring);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown.open .dropdown-toggle::after {
  rotate: 180deg;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .caret {
  display: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu {
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  z-index: 30;
  float: none;
  min-width: 220px;
  margin: 0;
  padding: 6px;
  border: 0;
  border-radius: 22px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  font-size: 16px;
  list-style: none;
  transform-origin: 100% 0;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown.open .dropdown-menu {
  display: grid;
  gap: 2px;
  animation: psr-in 260ms var(--psr-spring) both;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu li {
  text-align: left;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu li a {
  display: block;
  padding: 9px 14px;
  border-radius: 14px;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.25;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--psr-t-fast) ease;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu li a:is(:hover, :focus) {
  background: var(--psr-mint-8);
  color: var(--psr-night);
  text-decoration: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu li a:focus-visible {
  outline-offset: 0;
}

/* ---------- 7. Pastylki wyszukiwania – KV .sh-chip (mięta głęboka, kółko z krzyżykiem) + „Wyczyść” jak link KV ----------
   Krzyżyk szablonu to tło ../img/delete.png (404) – rysujemy go maską. */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters {
  grid-area: filtry;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  width: auto;
  margin: 18px 0 0;
  padding: 0;
  text-align: left;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters::before,
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters::after {
  content: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters br {
  display: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  margin: 0;
  padding: 6px 7px 6px 16px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 15.5px;
  line-height: 1.2;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a:is(:hover, :focus) {
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  text-decoration: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a span {
  position: relative;
  display: block;
  flex: none;
  width: 26px;
  height: 26px;
  margin: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.24);
  color: var(--psr-white);
  font-size: 0;
  line-height: 0;
  transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease, rotate var(--psr-t-base) var(--psr-spring);
}
/* krzyżyk wyśrodkowany absolutnie – schowany tekst „x” (font-size 0) nie przesuwa go w pionie */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a span::before {
  content: "";
  position: absolute;
  inset: 6px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-close-gruba) center / contain no-repeat;
  mask: var(--psr-i-close-gruba) center / contain no-repeat;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a:is(:hover, :focus-visible) span {
  background: var(--psr-white);
  color: var(--psr-mint-deep);
  rotate: 90deg;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters .list-products-clearfilters {
  position: static;
  padding: 0;
  text-align: left;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters .list-products-clearfilters a {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0 0 3px;
  border: 0;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 2px no-repeat;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.3;
  text-decoration: none;
  transition: background-size 350ms var(--psr-smooth);
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters .list-products-clearfilters a:is(:hover, :focus-visible) {
  background-color: transparent;
  background-size: 100% 2px;
  color: var(--psr-night);
  text-decoration: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-filters .list-products-clearfilters a span {
  display: none;
}

/* ---------- 8. Stronicowanie – koła KV .sh-pager (bieżąca mięta głęboka + biała cyfra; nigdy biel na limonce) ----------
   Kolejność platformy: ‹ 1 … 3 4 [5] 6 7 › [pole] z 9 [Idź]. „…” to goły węzeł tekstu (anonimowy element flex –
   dziedziczy kolor/rozmiar z kontenera). Grupa „idź do strony” zostaje (92 strony w /oferta), jako druga część paska. */
#ueH6lk3y-0aEeEj7J1GUlg .pagination {
  grid-area: strony;
  margin: 36px 0 0;
  padding: 0;
  font-size: 17px;
  text-align: center;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination:empty {
  display: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 6px;
  color: var(--psr-muted);
  font-size: 17px;
  line-height: 1;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.offer-paging-item, .current-page, a.arrow-left, a.arrow-right) {
  position: relative;
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-mint-8);
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1;
  text-decoration: none;
  transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.offer-paging-item, a.arrow-left, a.arrow-right):is(:hover, :focus) {
  border: 0;
  background: var(--psr-mint-20);
  color: var(--psr-night);
  text-decoration: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.offer-paging-item, a.arrow-left, a.arrow-right):active {
  scale: 0.92;
}
/* span.current-page (1,2,1) – musi przebić wspólną regułę kół wyżej (:is liczy się jak a.offer-paging-item = 1,2,1) */
#ueH6lk3y-0aEeEj7J1GUlg .pagination span.current-page {
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  cursor: default;
}
/* strzałki: napis „poprzednia/następna” schowany (text-indent szablonu), szewron maską */
#ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.arrow-left, a.arrow-right) {
  overflow: hidden;
  text-indent: -9999px;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.arrow-left, a.arrow-right)::before {
  content: "";
  position: absolute;
  inset: 12px;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination a.arrow-left::before {
  rotate: 180deg;
}
/* grupa „idź do strony”: pole 64 px, „z”, ostatnia strona, przycisk S (wygląd przycisku – 02-przyciski) */
#ueH6lk3y-0aEeEj7J1GUlg .pagination .offer-paging-input {
  margin: 0 0 0 14px;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination .offer-paging-input input[type="text"] {
  width: 64px;
  height: 44px;
  margin: 0;
  padding: 0 10px;
  color: var(--psr-night);
  font-size: 17px;
  text-align: center;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination .current-of {
  margin: 0 2px;
  color: var(--psr-muted);
  font-size: 16px;
  line-height: 44px;
}
#ueH6lk3y-0aEeEj7J1GUlg .pagination .btn {
  top: 0;
  width: auto;
  height: auto;
  margin: 0 0 0 4px;
}

/* ---------- 9. Pusta lista (kategoria bez produktów, brak wyników) – KV .sh-empty bez nowych tekstów ----------
   Biała karta: wycinek psa z KV na miętowym kleksie + tekst platformy jako tytuł. Zbędne sortowanie/widok znikają. */
#ueH6lk3y-0aEeEj7J1GUlg > .widget-content:has(.list-products-empty-list)::before,
#ueH6lk3y-0aEeEj7J1GUlg > .widget-content:has(.list-products-empty-list) :is(.list-products-actions-container, .list-products-sort) {
  display: none;
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  grid-column: 1 / -1;
  align-items: center;
  column-gap: 44px;
  float: none;
  width: auto;
  min-height: 300px;
  margin: 0;
  padding: 0 44px 0 30px;
  overflow: hidden;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  text-align: left;
}
/* kleks mięta 20 (KV morph 12 s) */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list::after {
  content: "";
  position: absolute;
  z-index: -1;
  /* jak KV: kleks szerszy niż pies, wyśrodkowany w kolumnie ilustracji (0,8 z 2 fr = 0,4 × (karta − 118 px)) */
  left: calc(30px - 0.02 * (100% - 118px));
  bottom: -34%;
  width: calc(0.44 * (100% - 118px));
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--psr-mint-20);
  animation: psr-morph 12s ease-in-out infinite;
}
/* wycinek „pies kudłaty” z KV – biały obrys (4 × drop-shadow bez rozmycia), bez cienia */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: center;
  width: min(92%, 280px);
  aspect-ratio: 700 / 717;
  /* dół wycinka ≥ 40 px pod krawędzią karty – biały obrys dolnej krawędzi nie może wejść w kadr */
  margin: 40px 0 -40px;
  background: url("../img/psr-pies-kudlaty-v1.png") 50% 100% / contain no-repeat;
  filter: drop-shadow(7px 0 0 var(--psr-white)) drop-shadow(-7px 0 0 var(--psr-white)) drop-shadow(0 7px 0 var(--psr-white)) drop-shadow(0 -7px 0 var(--psr-white));
}
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 44px 0;
  color: var(--psr-night);
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 0.98;
  text-transform: uppercase;
}
/* limonkowa iskierka przy psie (KV .doodle.twinkle) */
#ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info::before {
  content: "";
  position: absolute;
  left: 5%;
  top: 16%;
  width: 28px;
  height: 28px;
  background-color: var(--psr-lime);
  -webkit-mask: var(--psr-d-sparkle) center / contain no-repeat;
  mask: var(--psr-d-sparkle) center / contain no-repeat;
  animation: psr-twinkle 3.6s ease-in-out infinite;
}

/* ---------- 10. Notki pod listą i na produkcie (#_cLjJ8WuJk-Je2t9oxNsmg, bloki/notki.html) ----------
   KV komunikaty .alert (kv-d A11): pełny głęboki kolor, białe kółko 46 px z ikoną w kolorze tła, biały tekst.
   Mięta głęboka – oferta online i w sklepie (dom), liliowy głęboki – „Oczekujemy na dostawę” (zegar). */
#_cLjJ8WuJk-Je2t9oxNsmg {
  margin: 44px 0 0;
  padding: 0;
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-blok.psr-notki {
  display: grid;
  gap: 12px;
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-box {
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 16px 30px 16px 14px;
  border-radius: 35px;
  background: var(--psr-notki-kolor, var(--psr-mint-deep));
  color: var(--psr-white);
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-box--lilac {
  --psr-notki-kolor: var(--psr-lilac-deep);
  --psr-notki-ikona: var(--psr-i-clock);
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-ikona {
  position: relative;
  display: block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--psr-white);
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-ikona::after {
  content: "";
  position: absolute;
  inset: 12px;
  background-color: var(--psr-notki-kolor, var(--psr-mint-deep));
  -webkit-mask: var(--psr-notki-ikona, var(--psr-i-home)) center / contain no-repeat;
  mask: var(--psr-notki-ikona, var(--psr-i-home)) center / contain no-repeat;
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-tekst {
  margin: 0;
  padding: 0;
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
#_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-serce {
  color: var(--psr-lime);
}
/* zanim treść bloku zostanie podmieniona (stara treść: div.morski-box + <br> + div.fiolet-box + <style>):
   ten sam komunikat KV samym CSS – kółko z ikoną jako ::before/::after, tekst jako anonimowy element siatki.
   (1,1,0) bije .morski-box z <style> bloku (0,1,0) i .fiolet-box szablonu (0,1,0). */
#_cLjJ8WuJk-Je2t9oxNsmg .widget-content > br {
  display: none;
}
#_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box) {
  --psr-focus: var(--psr-white);
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin: 0;
  padding: 16px 30px 16px 14px;
  border: 0;
  border-radius: 35px;
  background: var(--psr-notki-kolor, var(--psr-mint-deep));
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}
#_cLjJ8WuJk-Je2t9oxNsmg .fiolet-box {
  --psr-notki-kolor: var(--psr-lilac-deep);
  --psr-notki-ikona: var(--psr-i-clock);
  margin-top: 12px;
}
#_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box)::before {
  content: "";
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--psr-white);
}
#_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box)::after {
  content: "";
  position: absolute;
  left: 26px;
  top: calc(50% - 11px);
  width: 22px;
  height: 22px;
  background-color: var(--psr-notki-kolor, var(--psr-mint-deep));
  -webkit-mask: var(--psr-notki-ikona, var(--psr-i-home)) center / contain no-repeat;
  mask: var(--psr-notki-ikona, var(--psr-i-home)) center / contain no-repeat;
}

/* ---------- 11. Tablet 768–1000 px: węższy panel (KV ≤1000: 260 px, odstęp 20 px) ---------- */
@media (max-width: 1000px) {
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row {
    grid-template-columns: 260px minmax(0, 1fr);
    column-gap: 20px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle {
    min-width: 190px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    column-gap: 28px;
    padding: 0 30px 0 18px;
  }
}
@media (max-width: 1000px) and (min-width: 768px) {
  /* węższa kolumna (260 px): kontakt ciaśniej, żeby adres e-mail mieścił się w jednej linii */
  #VyPVkc-lk0ab6fasdnsRGQ,
  #\36 nsN_JA-qUe_w630HLDevQ {
    padding-inline: 14px;
  }
  #\36 nsN_JA-qUe_w630HLDevQ .widget-content > div {
    column-gap: 10px;
    font-size: 15px;
  }
  /* węższy panel: bez szewronu w wierszach, żeby nazwy kategorii mieściły się w jednej linii */
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a {
    grid-template-columns: 38px minmax(0, 1fr);
    font-size: 16px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a::after {
    content: none;
  }
}
@media (max-width: 991px) and (min-width: 768px) {
  /* pasek narzędzi w wąskiej kolumnie (~440 px): licznik w pierwszym wierszu, widok + sortowanie pod nim */
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-content {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "opis opis"
      "licznik licznik"
      "widok sort"
      "filtry filtry"
      "lista lista"
      "strony strony";
  }
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-content::before {
    grid-row: 2 / span 2;
    border-radius: 26px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-amount {
    padding: 14px 16px 0;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort {
    min-width: 0;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown > span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* ---------- 11b. Pusta lista do 991 px (tablet i telefon): tytuł nad psem, pies wyśrodkowany ----------
   W wąskiej kolumnie treści (~440 px na 768) dwie kolumny karty dawały małego psa i pustą połowę karty. */
@media (max-width: 991px) {
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding: 0 22px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list::before {
    grid-row: 2;
    grid-column: 1;
    width: 230px;
    margin: 20px 0 -40px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list::after {
    left: calc(50% - 120px);
    bottom: -90px;
    width: 240px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info {
    grid-column: 1;
    padding: 30px 0 0;
    font-size: 34px;
    text-align: center;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info::before {
    left: calc(50% - 150px);
    top: auto;
    bottom: 150px;
  }
}

/* ---------- 12. Telefon (<768): jedna kolumna – drzewo jako zwijana pastylka nad listą, PayPo i kontakt pod listą ----------
   Kolumny dostają display:contents, widgety stają się elementami jednej kolumny flex (węzłów nie przenosimy).
   Kotwica przewijania stoi przed drzewem – po automatycznym przewinięciu widać „Kategorie” i od razu tytuł listy. */
@media (max-width: 767px) {
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) .content .container > .row > :is(.col-sm-3, .col-sm-8) {
    display: contents;
  }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #ofertaProduktowa { order: 1; }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #Q-OuLVpBa0GQHivoPTI2NA { order: 2; }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #ueH6lk3y-0aEeEj7J1GUlg { order: 3; }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #_cLjJ8WuJk-Je2t9oxNsmg { order: 4; }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #VyPVkc-lk0ab6fasdnsRGQ { order: 5; margin-top: 32px; }
  :is(html.page-category-details, html.NaszaOferta, html.wyszukiwanie) #\36 nsN_JA-qUe_w630HLDevQ { order: 6; }

  /* drzewo: zwinięta pastylka „KATEGORIE” z szewronem w kółku; cały wiersz klikalny (przycisk platformy rozciągnięty) */
  #Q-OuLVpBa0GQHivoPTI2NA {
    margin: 4px 0 26px;
    padding: 0;
    border-radius: 26px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-header {
    margin: 0;
    padding: 18px 70px 18px 22px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-header::after {
    left: 22px;
    right: 22px;
    opacity: 0;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-header h4 {
    padding: 0;
    font-size: 22px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: 62px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 26px;
    background: transparent;
    box-shadow: none;
    font-size: 0;
    line-height: 0;
    cursor: pointer;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle::before {
    content: "";
    position: absolute;
    top: 12px;
    right: 14px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--psr-mint-8);
    box-shadow: inset 0 0 0 2px var(--psr-mint-20);
    transition: background-color var(--psr-t-fast) ease;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle::after {
    content: "";
    position: absolute;
    top: 22px;
    right: 24px;
    width: 18px;
    height: 18px;
    background-color: var(--psr-night);
    -webkit-mask: var(--psr-i-chevron) center / contain no-repeat;
    mask: var(--psr-i-chevron) center / contain no-repeat;
    transition: rotate var(--psr-t-base) var(--psr-spring);
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle:hover::before {
    background: var(--psr-mint-20);
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle:focus-visible {
    outline-offset: -3px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content:has(.nav-collapse.in) .navbar-toggle::after {
    rotate: 180deg;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-header:has(+ .widget-content .nav-collapse.in)::after {
    opacity: 1;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .nav-collapse {
    margin: 0;
    padding: 0 12px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .widget-content .nav-collapse .tree {
    padding: 10px 0 12px;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a {
    min-height: 50px;
  }

  /* bez JS (przycisk platformy nic nie robi) – kategorie rozwinięte, bez szewronu */
  @media (scripting: none) {
    #Q-OuLVpBa0GQHivoPTI2NA .widget-content .nav-collapse.collapse {
      display: block;
    }
    #Q-OuLVpBa0GQHivoPTI2NA .widget-content .navbar-toggle {
      display: none;
    }
    #Q-OuLVpBa0GQHivoPTI2NA .widget-header {
      padding-right: 22px;
    }
    #Q-OuLVpBa0GQHivoPTI2NA .widget-header::after {
      opacity: 1;
    }
  }

  /* nagłówek listy (KV .sh-m-title 32 px) */
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-header {
    margin: 0 0 16px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-header h1 {
    font-size: 32px;
    line-height: 1.02;
  }
  /* pasek narzędzi: licznik w pierwszym wierszu, sortowanie na całą szerokość pod nim (KV ≤760) */
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-content {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "opis"
      "licznik"
      "sort"
      "filtry"
      "lista"
      "strony";
  }
  #ueH6lk3y-0aEeEj7J1GUlg > .widget-content::before {
    grid-row: 2 / span 2;
    grid-column: 1;
    border-radius: 26px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-amount {
    padding: 14px 16px 2px;
    font-size: 16px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort {
    justify-self: stretch;
    padding: 8px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown > span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown,
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-toggle {
    width: 100%;
    min-width: 0;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu {
    left: 0;
    right: 0;
    min-width: 0;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown .dropdown-menu li a {
    padding: 12px 14px;
    white-space: normal;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-filters {
    gap: 10px 14px;
    margin-top: 16px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-filters > a {
    font-size: 15px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container {
    margin-top: 18px;
  }
  /* stronicowanie: koła w pierwszym wierszu, „idź do strony” w drugim (łamanie ::after + order) */
  #ueH6lk3y-0aEeEj7J1GUlg .pagination {
    margin-top: 28px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination > div::after {
    content: "";
    order: 1;
    flex-basis: 100%;
    height: 0;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination :is(.offer-paging-input, .current-of, .current-of + a.offer-paging-item, .btn) {
    order: 2;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination .offer-paging-input {
    margin-left: 0;
  }
  /* pusta lista (układ pionowy – sekcja 11b): mniejszy promień i tytuł */
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list {
    border-radius: 26px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info {
    font-size: 30px;
  }

  /* kolumna pod listą */
  #VyPVkc-lk0ab6fasdnsRGQ,
  #\36 nsN_JA-qUe_w630HLDevQ {
    padding: 18px 20px 20px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg {
    margin-top: 32px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-box {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 20px 18px 12px;
    border-radius: 26px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-ikona {
    width: 40px;
    height: 40px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-ikona::after {
    inset: 10px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg .psr-notki .psr-notki-tekst {
    font-size: 15px;
  }
  /* stara treść bloku (przed podmianą) – te same proporcje */
  #_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box) {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 20px 18px 12px;
    border-radius: 26px;
    font-size: 15px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box)::before {
    width: 40px;
    height: 40px;
  }
  #_cLjJ8WuJk-Je2t9oxNsmg :is(.morski-box, .fiolet-box)::after {
    left: 22px;
    top: 24px;
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 420px) {
  #ueH6lk3y-0aEeEj7J1GUlg .pagination > div {
    gap: 8px 4px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.offer-paging-item, .current-page, a.arrow-left, a.arrow-right) {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination :is(a.arrow-left, a.arrow-right)::before {
    inset: 11px;
  }
  #ueH6lk3y-0aEeEj7J1GUlg .pagination .offer-paging-input input[type="text"] {
    height: 40px;
  }
}

/* ---------- 13. Ograniczony ruch (globalny wyłącznik jest w 01-baza; tu jawnie dla elementów w pętli) ---------- */
@media (prefers-reduced-motion: reduce) {
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list::after,
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-container > .list-products-empty-list .list-products-empty-list-info::before,
  #ueH6lk3y-0aEeEj7J1GUlg .list-products-sort .dropdown.open .dropdown-menu {
    animation: none;
  }
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:hover .category-item-icon,
  #Q-OuLVpBa0GQHivoPTI2NA .nav > li > a:hover::after {
    rotate: 0deg;
    scale: 1;
    translate: 0 0;
  }
}

/* ----- 40-produkt.css ----- */
/* ==========================================================================
   40-produkt.css – MODUŁ PRODUKT: strona produktu (html.page-product-details)
   Wzorzec: KV „Produkt z bliska” (kv-c §5): biała karta strony, galeria-scena z pagórkiem,
   miniatury z belką, panel zakupu (tytuł, cena, dostępność, taca z licznikiem i przyciskiem),
   zakładki-pastylka, opis, miękka tabela szczegółów, cechy jako tagi, opinie.
   Wygląd przycisków, licznika .quantity-change i pól daje fundament (02/03) – tu tylko układ,
   rozmiary w tym miejscu i elementy specyficzne dla produktu.
   Id widgetu produktu jest losowe – nie używamy go. Stałe kotwice: #szczegolyProduktu, #carousel,
   #slider-tmbs, #myTab, #myTabContent, #description, #details, #features.
   Prefiks html.page-product-details (0,1,1) – reguły szablonu dla produktu mają najwyżej (1,2,3).
   ========================================================================== */

/* ---------- 1. Układ strony: bez kolumny bocznej (KV .pd-page na całą szerokość) ---------- */
html.page-product-details .content .container > .row > :is(.col-sm-3, .col-sm-1) {
  display: none;
}
html.page-product-details .content .container > .row > .col-sm-8 {
  float: none;
  width: 100%;
}
/* platforma po załadowaniu przewija do #szczegolyProduktu (jQuery offset()) – kotwica wyżej o oddech
   (+ wysokość lepkiego nagłówka, jeśli moduł nagłówka ustawi --psr-naglowek-lepki-h) */
html.page-product-details #szczegolyProduktu {
  position: relative;
  top: calc(-1 * (var(--psr-naglowek-lepki-h, 0px) + 20px));
}

/* ---------- 2. Karta produktu (KV .pd-page + .pd-top) ---------- */
html.page-product-details .widget.widget-product-details {
  --psr-focus: var(--psr-night);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  column-gap: 48px;
  align-items: start;
  margin: 8px 0 44px;
  padding: 34px 34px 40px;
  border-radius: var(--psr-radius-banner);
  background: var(--psr-white);
  /* biała karta na białej stronie: cień KV + lekka poświata w tym samym tonie, żeby było widać górną krawędź */
  box-shadow: var(--psr-lift), 0 2px 22px -8px rgba(98, 120, 121, 0.2);
  color: var(--psr-ink);
}
/* clearfix .widget (display:table) byłby pustą komórką siatki */
html.page-product-details .widget.widget-product-details::before,
html.page-product-details .widget.widget-product-details::after {
  content: none;
}

/* ---------- 3. Galeria – scena z pagórkiem (KV .pd-gallery, .pd-stage) ---------- */
/* bez position:sticky z KV – w Chrome lepki element siatki ogranicza cała karta (a nie jego komórka),
   więc galeria wjeżdżała na zakładki; panel zakupu i tak jest zwykle niższy niż galeria */
html.page-product-details .widget-product-details .product-details-image-container {
  position: relative;
  top: auto;
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  width: auto;
  float: none;
  overflow: visible; /* szablon: hidden – ucinał naklejkę „Polecany” */
}
html.page-product-details .widget-product-details .product-details-slider {
  position: relative;
}
html.page-product-details .widget-product-details .product-details-slider #carousel {
  position: relative;
  margin: 0 0 16px;
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-foto-tlo);
  overflow: hidden;
  isolation: isolate; /* pagórek i mix-blend-mode zdjęć zostają w scenie */
}
/* pagórek – ten sam co na kartach, faluje powoli (wyłącznik ruchu w 01-baza) */
html.page-product-details .widget-product-details .product-details-slider #carousel::before {
  content: "";
  position: absolute;
  left: -15%;
  right: -15%;
  bottom: -42%;
  height: 72%;
  border-radius: 50%;
  background: var(--psr-foto-pagorek);
  animation: psr-hill 13s ease-in-out infinite;
  pointer-events: none;
}
html.page-product-details .widget-product-details #carousel .carousel-inner {
  height: auto;
  aspect-ratio: 1 / 0.9;
  border-radius: inherit;
}
/* slajdy przesuwane przez `left` zamiast transform 3D: transform/perspective tworzyłyby osobny kontekst,
   w którym biel zdjęć JPEG nie przenikałaby się (multiply) ze sceną i pagórkiem */
html.page-product-details .widget-product-details #carousel .carousel-inner > .item {
  left: 0;
  height: 100%;
  transform: none;
  perspective: none;
  backface-visibility: visible;
  transition: left 0.6s var(--psr-ease-fly);
}
html.page-product-details .widget-product-details #carousel .carousel-inner > .item:is(.next, .active.right) {
  left: 100%;
}
html.page-product-details .widget-product-details #carousel .carousel-inner > .item:is(.prev, .active.left) {
  left: -100%;
}
html.page-product-details .widget-product-details #carousel .carousel-inner > .item:is(.next.left, .prev.right) {
  left: 0;
}
/* packshot stoi na pagórku: wyrównany do dołu, 9% nad krawędzią */
html.page-product-details .widget-product-details #carousel .carousel-inner > .item > img {
  position: absolute;
  inset: auto 0 9% 0;
  width: auto;
  height: auto;
  max-width: 78%;
  max-height: 80%;
  margin: 0 auto;
  /* zdjęcia „z życia” (prostokątne JPEG-i) dostają miękkie rogi; na packshotach z białym tłem rogi i tak znikają w multiply */
  border-radius: var(--psr-radius-row);
  mix-blend-mode: multiply; /* JPEG-i z białym tłem przyjmują szarość sceny */
  cursor: zoom-in; /* klik otwiera powiększenie platformy */
}

/* strzałki – białe okrągłe przyciski z podeszwą (KV .btn-round) */
html.page-product-details .widget-product-details #carousel > .carousel-control {
  position: absolute;
  top: 50%;
  bottom: auto;
  z-index: 2;
  width: 44px;
  height: 44px;
  margin-top: -24px;
  border-radius: 50%;
  background: none;
  opacity: 1;
  text-decoration: none;
  transition: opacity var(--psr-t-base) ease;
}
html.page-product-details .widget-product-details #carousel > .carousel-control.left {
  left: 14px;
  right: auto;
}
html.page-product-details .widget-product-details #carousel > .carousel-control.right {
  left: auto;
  right: 14px;
}
html.page-product-details .widget-product-details #carousel > .carousel-control > .arrow {
  position: static;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 50%;
  background: var(--psr-white);
  box-shadow: 0 4px 0 var(--psr-sole-white);
  color: var(--psr-night);
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
html.page-product-details .widget-product-details #carousel > .carousel-control > .arrow::before {
  content: "";
  width: 22px;
  height: 22px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
}
html.page-product-details .widget-product-details #carousel > .carousel-control.left > .arrow::before {
  rotate: 180deg;
}
html.page-product-details .widget-product-details #carousel > .carousel-control:hover > .arrow {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-sole-white);
}
html.page-product-details .widget-product-details #carousel > .carousel-control:active > .arrow {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-sole-white);
}
html.page-product-details .widget-product-details #carousel > .carousel-control:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 3px;
}
/* myszką: strzałki pojawiają się dopiero nad sceną (KV nie ma strzałek – są miniatury); klawiatura: przy fokusie */
@media (hover: hover) and (pointer: fine) {
  html.page-product-details .widget-product-details #carousel > .carousel-control {
    opacity: 0;
  }
  html.page-product-details .widget-product-details #carousel:is(:hover, :focus-within) > .carousel-control {
    opacity: 1;
  }
}

/* ---------- 4. Miniatury (KV .pd-thumbs): kafelki 84 px w jednym rzędzie, belka pod wybraną ----------
   Platforma grupuje miniatury po 3 w ul.item (karuzela) – display:contents pokazuje wszystkie naraz.
   Wybrana: a.selected (platforma po kliknięciu, skrypt globalny synchronizuje z karuzelą); bez klasy – pierwsza. */
html.page-product-details .widget-product-details .product-details-slider #slider-tmbs {
  margin: 0;
  border: 0;
}
/* jeden rząd jak w KV (.pd-thumb: flex 0 1 84px): kolumny po maks. 84 px, w wąskiej galerii (tablet) kurczą się
   zamiast spadać do drugiego rzędu; kwadrat trzyma aspect-ratio */
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 84px);
  justify-content: start;
  gap: 22px 12px; /* odstęp rzędów mieści belkę pod miniaturą, gdy zdjęć jest dużo */
  height: auto;
  padding: 0 0 14px;
  overflow: visible;
}
/* 7 i więcej zdjęć (trzecia grupa ul.item platformy): kafle 84 px w kilku rzędach zamiast ściskania.
   Wariant z :has() osobno – przeglądarka bez :has() zostaje przy jednym (ściśniętym) rzędzie */
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner:has(> .item:nth-child(3)) {
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fill, 84px);
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner > .item {
  display: contents;
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li {
  width: auto;
  height: auto;
  aspect-ratio: 1;
  min-width: 0;
  padding: 0;
  float: none;
  list-style: none;
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: 9px;
  border-radius: 22px;
  background: var(--psr-foto-tlo);
  transition: background-color var(--psr-t-fast) ease, translate var(--psr-t-base) var(--psr-spring);
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a:hover {
  background: var(--psr-foto-pagorek);
  translate: 0 -3px;
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 3px;
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a img {
  position: absolute;
  inset: 9px;
  width: calc(100% - 18px);
  height: calc(100% - 18px);
  max-width: none;
  max-height: none;
  margin: 0;
  object-fit: contain;
  border-radius: 8px;
  mix-blend-mode: multiply;
}
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a.selected {
  background: var(--psr-foto-pagorek);
}
/* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
html.page-product-details .widget-product-details #slider-tmbs:not(:has(a.selected)) .carousel-inner > .item:first-child li:first-child a {
  background: var(--psr-foto-pagorek);
}
/* belka 30 × 5 pod wybraną miniaturą (KV .pd-thumbs-bar – tu wskakuje zamiast przesuwać się) */
html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a.selected::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  width: 30px;
  height: 5px;
  margin-left: -15px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  animation: psr-bubble-in var(--psr-t-base) var(--psr-spring) both;
}
/* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
html.page-product-details .widget-product-details #slider-tmbs:not(:has(a.selected)) .carousel-inner > .item:first-child li:first-child a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  width: 30px;
  height: 5px;
  margin-left: -15px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  animation: psr-bubble-in var(--psr-t-base) var(--psr-spring) both;
}
/* wszystkie miniatury widać naraz – strzałki karuzeli miniatur zbędne */
html.page-product-details .widget-product-details #slider-tmbs > .carousel-control {
  display: none;
}

/* ---------- 5. Naklejki na scenie (KV .pd-stage > .badge) ---------- */
/* „Polecany”: głęboka mięta, „ręcznie wycięty” kształt, +3° (KV 3.4); pusta zostaje ukryta przez szablon */
html.page-product-details .widget-product-details .product-details-image-container :is(.recommended-label, .promotion-label):not(:empty) {
  position: absolute;
  z-index: 3;
  top: 20px;
  bottom: auto;
  display: inline-block;
  height: auto;
  padding: 8px 17px 9px;
  border-radius: 24px 6px 18px 8px / 20px 8px 24px 10px;
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  transform: none;
  rotate: 3deg;
  transition: rotate var(--psr-t-base) var(--psr-spring), scale var(--psr-t-base) var(--psr-spring), border-radius 500ms var(--psr-spring);
}
html.page-product-details .widget-product-details .product-details-image-container .recommended-label:not(:empty) {
  left: 18px;
  right: auto;
}
/* promocja (dziś brak w sklepie – wg reguł szablonu): mała koralowa cenówka w prawym górnym rogu */
html.page-product-details .widget-product-details .product-details-image-container .promotion-label:not(:empty) {
  left: auto;
  right: 18px;
  padding: 7px 16px 9px;
  border-radius: 26px 12px 22px 10px / 18px 22px 12px 20px;
  background: var(--psr-coral-deep);
  font-size: 17px;
  letter-spacing: 0.02em;
  rotate: -4deg;
}
html.page-product-details .widget-product-details .product-details-image-container :is(.recommended-label, .promotion-label):not(:empty):hover {
  rotate: 0deg;
  scale: 1.08;
  border-radius: 8px 22px 7px 20px / 12px 21px 9px 20px;
}
/* te same naklejki, gdy platforma wstawi je nad tytułem */
html.page-product-details .widget-product-details .product-details-data-container :is(.recommended-label, .promotion-label):not(:empty) {
  position: relative;
  top: auto;
  left: auto;
  justify-self: start;
  margin: 0;
  padding: 6px 14px 7px;
  border-radius: 24px 6px 18px 8px / 20px 8px 24px 10px;
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 14px;
  line-height: 1.1;
  letter-spacing: 0.06em;
  transform: none;
  rotate: -3deg;
}
html.page-product-details .widget-product-details .product-details-data-container .promotion-label:not(:empty) {
  background: var(--psr-coral-deep);
}

/* ---------- 6. Panel zakupu (KV .pd-buy) ---------- */
html.page-product-details .widget-product-details .product-details-data-container {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  align-content: start;
  min-width: 0;
  width: auto;
  float: none;
  padding: 6px 0 0;
}
/* kolejność KV: nazwa → ocena → cena → (warianty) → dostępność → taca */
html.page-product-details .widget-product-details .product-details-data-container > .product-details-title { order: 1; }
html.page-product-details .widget-product-details .product-details-data-container > :is(.rating-stars, rating-stars-product) { order: 2; }
html.page-product-details .widget-product-details .product-details-data-container > .product-details-price { order: 3; }
html.page-product-details .widget-product-details .product-details-data-container > :is(.historical-price, .customer-discount, .customer-discount-info) { order: 4; }
html.page-product-details .widget-product-details .product-details-data-container > .product-details-filters-container { order: 5; }
html.page-product-details .widget-product-details .product-details-data-container > .product-details-availability { order: 6; }
html.page-product-details .widget-product-details .product-details-data-container > .product-details-actions { order: 7; }

/* nazwa (KV .pd-name) – na platformie WERSALIKAMI i ~50 znaków, więc mniej niż 44 px z KV */
html.page-product-details .widget-product-details .product-details-data-container .product-details-title {
  margin: 0;
  color: var(--psr-night);
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.05;
  letter-spacing: 0.01em;
  overflow-wrap: break-word;
}

/* ocena przy nazwie (po włączeniu opinii: <rating-stars-product> → .rating-stars) */
html.page-product-details .widget-product-details .product-details-data-container .rating-stars {
  --psr-gw: 18px;
  margin: -8px 0 0;
}

/* cena (KV .pd-pricebox / .pd-price 46 px nocna mięta, bez etykiety) */
html.page-product-details .widget-product-details .product-details-data-container .product-details-price {
  display: grid;
  gap: 6px;
  float: none;
  padding: 0;
}
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p {
  margin: 0;
  padding: 0;
}
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p:not(.product-details-taxes-price, .historical-price) {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  min-height: 52px;
  color: var(--psr-night);
  font-size: 46px;
  line-height: 1;
}
/* „Cena brutto:” zostaje dla czytników ekranu, wizualnie ukryta (KV pokazuje samą cenę) */
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p:not(.product-details-taxes-price, .historical-price) > span:first-child:not(:last-child, .product-price-promotion) {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p:not(.product-details-taxes-price, .historical-price) > span:last-child {
  color: var(--psr-night);
  font-size: 1em;
  white-space: nowrap;
}
/* promocja (wg szablonu; do weryfikacji na żywej promocji): koralowa cenówka + stara cena przekreślona */
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p .product-price-promotion {
  display: inline-block;
  padding: 5px 18px 8px;
  border-radius: 26px 12px 22px 10px / 18px 22px 12px 20px;
  background: var(--psr-coral-deep);
  color: var(--psr-white);
  font-size: 40px;
  line-height: 1;
  white-space: nowrap;
  rotate: -2deg;
  animation: psr-pop-in 550ms var(--psr-spring) both;
}
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p .product-price-promotion + span:last-child {
  color: var(--psr-muted);
  font-size: 21px;
  text-decoration: line-through;
}
/* cena netto i najniższa z 30 dni – drobny szary dopisek (KV .pd-unit / .pd-omni) */
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p.product-details-taxes-price,
html.page-product-details .widget-product-details .product-details-data-container .product-details-price p.product-details-taxes-price span,
html.page-product-details .widget-product-details .product-details-data-container .historical-price {
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.45;
}
html.page-product-details .widget-product-details .product-details-data-container .historical-price {
  height: auto;
  margin: 0;
  overflow: visible;
  white-space: normal;
}

/* dostępność (KV .stock w pastylce .pd-ship): kropka głęboka mięta z miękką obwódką */
html.page-product-details .widget-product-details .product-details-data-container .product-details-availability {
  margin: 0;
}
html.page-product-details .widget-product-details .product-details-availability .product-label {
  display: inline-flex;
  flex-flow: row wrap;
  align-items: center;
  column-gap: 5px;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 11px 20px 12px 18px;
  border: 0;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
  color: var(--psr-ink);
  font-size: 15px;
  line-height: 1.3;
  text-align: left;
}
/* kropka na pierwszym <span> (etykieta „Dostępność:” albo „Oczekujemy na Dostawę”) – tak jak w kafelku (30-kafelki),
   dzięki temu klasa psr-malo na .availability-label działa bez :has() */
html.page-product-details .widget-product-details .product-details-availability .product-label > :first-child::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 12px 0 0;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: 0 0 0 4px var(--psr-mint-20);
  vertical-align: 0.06em;
}
html.page-product-details .widget-product-details .product-details-availability .product-label span {
  margin: 0;
}
html.page-product-details .widget-product-details .product-details-availability .product-label .availability-num {
  color: var(--psr-night);
}
/* niedostępny („Oczekujemy na Dostawę”) – KV .stock.wait: liliowa kropka na liliowym 8 */
html.page-product-details .widget-product-details .product-details-availability .product-label.not-available {
  background: var(--psr-lilac-8);
}
html.page-product-details .widget-product-details .product-details-availability .product-label.not-available > :first-child::before {
  background: var(--psr-lilac-deep);
  box-shadow: 0 0 0 4px var(--psr-lilac-20);
}
/* ostatnie sztuki – klasa psr-malo od skryptu globalnego (kontrakt: na .availability-label; na wszelki wypadek
   też na .product-label): koralowa kropka z pulsem (KV .stock.low) */
html.page-product-details .widget-product-details .product-details-availability .product-label > .psr-malo::before,
html.page-product-details .widget-product-details .product-details-availability .product-label.psr-malo > :first-child::before {
  background: var(--psr-coral-deep);
  box-shadow: none;
  animation: psr-ping-coral 2.4s ease-out infinite;
}

/* taca: licznik + „Do koszyka” (KV .pd-tray) – szara pastylka z miejscem na podeszwy */
html.page-product-details .widget-product-details .product-details-data-container .product-details-actions {
  container: psr-pd-taca / inline-size;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  width: auto;
  float: none;
  margin: 0;
  padding: 10px 10px 14px;
  border-radius: 36px;
  background: var(--psr-stone-8);
}
html.page-product-details .widget-product-details .product-details-actions .quantity-change {
  flex: none;
  margin: 0;
}
html.page-product-details .widget-product-details .product-details-actions button.btn-add-to-cart {
  --psr-btn-fs: 19px;
  --psr-btn-px: 20px;
  flex: 1 1 150px;
  min-width: 0;
  width: auto;
  margin: 0;
  white-space: nowrap;
}
/* produkt niedostępny: „Zapytanie ofertowe” jako liliowy przycisk na całą tacę (KV „Powiadom mnie”) */
html.page-product-details .widget-product-details .product-details-actions a.letter-of-enquiry:not(:empty) {
  --psr-btn-h: var(--psr-btn-h-m);
  --psr-btn-px: 22px;
  --psr-btn-fs: 18px;
  --psr-btn-sole-h: 4px;
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: none;
  margin: 0;
}
@container psr-pd-taca (max-width: 400px) {
  html.page-product-details .widget-product-details .product-details-actions .quantity-change {
    --psr-stepper-h: 48px;
    --psr-stepper-btn: 36px;
    --psr-stepper-num: 34px;
    padding: 0 4px;
  }
  html.page-product-details .widget-product-details .product-details-actions button.btn-add-to-cart {
    --psr-btn-h: 48px;
    --psr-btn-fs: 17px;
    --psr-btn-px: 12px;
    flex-basis: 120px;
  }
  html.page-product-details .widget-product-details .product-details-actions button.btn-add-to-cart::before {
    margin-right: 8px;
  }
}
@container psr-pd-taca (max-width: 320px) {
  html.page-product-details .widget-product-details .product-details-actions .quantity-change {
    --psr-stepper-btn: 34px;
    --psr-stepper-num: 28px;
  }
  html.page-product-details .widget-product-details .product-details-actions button.btn-add-to-cart {
    --psr-btn-fs: 16px;
    --psr-btn-px: 10px;
  }
  html.page-product-details .widget-product-details .product-details-actions button.btn-add-to-cart::before {
    display: none;
  }
}

/* warianty (dziś brak w katalogu – szablon #selectVariantTemplate): legenda jak KV .pd-legend */
html.page-product-details .widget-product-details .product-details-filters-container {
  margin: 0;
}
html.page-product-details .widget-product-details .product-details-filters-container .control-label {
  padding-top: 18px;
  color: var(--psr-night);
}

/* ---------- 7. Zakładki (KV .pd-tablist: pastylka-tor, wybrana na nocnej mięcie) ---------- */
html.page-product-details .widget-product-details .one-product-tables {
  grid-column: 1 / -1;
  min-width: 0;
  margin-top: 44px;
  padding: 0;
  float: none;
  width: auto;
  clear: none;
}
html.page-product-details #myTab {
  display: inline-flex;
  max-width: 100%;
  gap: 2px;
  margin: 0;
  padding: 5px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}
html.page-product-details #myTab::-webkit-scrollbar {
  display: none;
}
html.page-product-details #myTab::before,
html.page-product-details #myTab::after {
  content: none;
}
html.page-product-details #myTab > li {
  flex: none;
  float: none;
  margin: 0;
}
html.page-product-details #myTab > li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  margin: 0;
  padding: 8px 22px;
  border: 0;
  border-radius: var(--psr-radius-pill);
  background: none;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
html.page-product-details #myTab > li:not(.active) > a:hover {
  background: var(--psr-mint-20);
  color: var(--psr-night);
  text-decoration: none;
}
html.page-product-details #myTab > li.active > a,
html.page-product-details #myTab > li.active > a:is(:hover, :focus) {
  background: var(--psr-night);
  color: var(--psr-white);
  text-decoration: none;
}
html.page-product-details #myTab > li > a:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: -3px;
}
html.page-product-details #myTabContent {
  padding: 30px 0 0;
  border: 0;
}
/* bez JS zakładki są zwykłymi linkami do #details / #features – pokazujemy wskazany panel (:target);
   z JS Bootstrap nie zmienia adresu, więc ta reguła nic nie robi */
html.page-product-details #myTabContent > .tab-pane:target {
  display: block;
  opacity: 1;
  padding-top: 24px;
}
/* nowy panel wjeżdża (KV pd-in: krycie + 12 px w górę); Bootstrap przełącza .active.in */
html.page-product-details #myTabContent > .tab-pane.active.in {
  animation: psr-fade-up 480ms var(--psr-smooth) both;
}

/* ---------- 8. Opis – wklejony HTML z panelu/hurtowni (KV .pd-desc-copy) ---------- */
html.page-product-details #myTabContent #description {
  overflow: visible;
}
html.page-product-details #description .item-description {
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.6;
  overflow-wrap: break-word;
}
html.page-product-details #description .item-description :is(h1, h2, h3, h4, h5, h6) {
  margin: 1.4em 0 0.5em;
  padding: 0;
  color: var(--psr-night);
  line-height: 1.1;
}
/* pierwszy nagłówek („Charakterystyka:”) jak KV .pd-h: 28 px wersaliki nocna mięta */
html.page-product-details #description .item-description > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
  font-size: 28px;
  line-height: 1.05;
  text-transform: uppercase;
}
html.page-product-details #description .item-description :is(h1, h2) { font-size: 26px; text-transform: uppercase; }
html.page-product-details #description .item-description h3 { font-size: 23px; }
html.page-product-details #description .item-description h4 { font-size: 21px; }
html.page-product-details #description .item-description :is(h5, h6) { font-size: 18px; }
html.page-product-details #description .item-description p {
  margin: 0 0 14px;
}
html.page-product-details #description .item-description :is(b, strong) {
  color: var(--psr-night);
}
html.page-product-details #description .item-description a {
  color: var(--psr-night);
  text-decoration: underline;
  text-decoration-color: var(--psr-mint);
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
html.page-product-details #description .item-description a:is(:hover, :focus) {
  color: var(--psr-mint-deep);
  text-decoration-color: currentColor;
}
/* listy: serduszka jak w treściach sklepu (01-baza .content-edit) */
html.page-product-details #description .item-description ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
html.page-product-details #description .item-description ul > li {
  position: relative;
  margin: 6px 0;
  padding-left: 28px;
}
html.page-product-details #description .item-description ul > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.4em;
  width: 16px;
  height: 16px;
  background: var(--psr-mint-deep);
  -webkit-mask: var(--psr-d-heart) center / contain no-repeat;
  mask: var(--psr-d-heart) center / contain no-repeat;
}
html.page-product-details #description .item-description ol {
  margin: 0 0 16px;
  padding-left: 26px;
}
html.page-product-details #description .item-description ol > li::marker {
  color: var(--psr-mint-deep);
}
html.page-product-details #description .item-description img {
  height: auto;
  border-radius: var(--psr-radius-row);
}
/* tabele w opisie – miękkie wiersze KV (.soft-table) */
html.page-product-details #description .item-description table {
  margin: 8px 0 18px;
  border-collapse: separate;
  border-spacing: 0 6px;
  table-layout: auto;
  font-size: 16px;
}
html.page-product-details #description .item-description :is(th, td) {
  padding: 10px 14px;
  border: 0;
  background: var(--psr-mint-8);
  vertical-align: middle;
}
html.page-product-details #description .item-description :is(th, td):first-child { border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row); }
html.page-product-details #description .item-description :is(th, td):last-child { border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0; }
html.page-product-details #description .item-description :is(th, td):only-child { border-radius: var(--psr-radius-row); }
/* neutralizacja stylów inline z hurtowni (np. BRIT CARE FUNCTIONAL: <main style="width:1280px; padding:0 35px">,
   Titillium, żółte tła, font-weight:bold, martwe background-image, overflow-y:scroll, white-space:pre z tabulatorami).
   !important celowo – tylko tak da się przebić atrybut style. */
html.page-product-details #description .item-description [style*="width"] {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html.page-product-details #description .item-description [style*="font-weight"] {
  font-weight: 400 !important;
}
html.page-product-details #description .item-description [style*="color"] {
  color: inherit !important;
}
html.page-product-details #description .item-description [style*="background"] {
  background: none !important;
}
/* wcięcia z cudzej strony (padding 35 px kontenera <main>, miejsce na martwe ikony tła, margin-left nagłówków)
   – na telefonie zjadały 1/5 szerokości tekstu; listy mają własne wcięcie niżej, więc ich nie ruszamy */
html.page-product-details #description .item-description [style*="padding-left"]:not(ul, ol, li) {
  padding-left: 0 !important;
}
html.page-product-details #description .item-description [style*="padding-right"]:not(ul, ol, li) {
  padding-right: 0 !important;
}
html.page-product-details #description .item-description [style*="margin-left"]:not(ul, ol, li) {
  margin-left: 0 !important;
}
/* overflow-y:scroll z hurtowni rysował pusty pasek przewijania (Windows) – opis ma rosnąć, nie przewijać się */
html.page-product-details #description .item-description [style*="overflow"] {
  overflow: visible !important;
}
/* punkty list z margin-bottom:1rem – rozstrzelone; ten sam rytm co w reszcie opisu */
html.page-product-details #description .item-description li[style*="margin"] {
  margin: 6px 0 !important;
}
/* wklejone linie oddzielające (np. stopka cudzej strony border-top #d1d1d1) – miękki kamień zamiast szarości */
html.page-product-details #description .item-description [style*="border"]:not(table, tr, th, td) {
  border-color: var(--psr-stone-20) !important;
}
/* wklejone „ramki informacyjne” (kolorowe tło + wcięcie, np. żółta „Wielkość porcji”) → miętowy kafel KV;
   białe tła (bloki cudzej strony) to nie ramki – zostają bez tła. Padding i min. szerokość, bo inline było „30px 0” */
html.page-product-details #description .item-description [style*="background-color"][style*="padding"]:not([style*="background-color:#fff"], [style*="background-color: #fff"], [style*="background-color:white"], [style*="background-color: white"], [style*="background-color:rgb(255, 255, 255)"], [style*="background-color: rgb(255, 255, 255)"]) {
  min-width: min(100%, 300px) !important;
  padding: 18px 22px 20px !important;
  background: var(--psr-mint-8) !important;
  border-radius: var(--psr-radius-tile) !important;
}
/* w ramce: pusty uchwyt martwej ikony (position:absolute, top:-37px) i 40 px odstępu tytułu pod nią – zbędne */
html.page-product-details #description .item-description [style*="background-color"][style*="padding"] > [style*="position:absolute"][style*="background-image"] {
  display: none !important;
}
html.page-product-details #description .item-description [style*="background-color"][style*="padding"] > [style*="position:absolute"][style*="background-image"] + [style*="margin-top"] {
  margin-top: 0 !important;
}
html.page-product-details #description .item-description [style*="font-size"]:not(h1, h2, h3, h4, h5, h6) {
  font-size: inherit !important;
}
html.page-product-details #description .item-description :is(h1, h2, h3, h4, h5, h6)[style*="font-size"] {
  font-size: 21px !important;
}
html.page-product-details #description .item-description [style*="line-height"] {
  line-height: inherit !important;
}
html.page-product-details #description .item-description [style*="white-space"] {
  white-space: pre-wrap !important;
}

/* ---------- 9. Szczegóły produktu – miękka tabela (KV .soft-table) ---------- */
html.page-product-details #details table {
  width: 100%;
  max-width: 760px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0 6px;
  table-layout: auto;
  font-size: 16px;
}
html.page-product-details #details td {
  padding: 11px 16px;
  border: 0;
  background: var(--psr-mint-8);
  color: var(--psr-night);
  line-height: 1.35;
  vertical-align: middle;
  word-break: normal;
  overflow-wrap: anywhere;
}
html.page-product-details #details td:first-child {
  width: 38%;
  border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row);
}
html.page-product-details #details td:last-child {
  border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0;
}
html.page-product-details #details td label {
  display: inline-block;
  margin: 0;
  color: var(--psr-muted);
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- 10. Cechy produktu – wypełnione tagi (KV .tags / .tag) ---------- */
html.page-product-details #myTabContent #features > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
html.page-product-details #myTabContent #features > ul > li {
  margin: 0;
  padding: 9px 18px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1.2;
  transition: scale var(--psr-t-base) var(--psr-spring);
}
html.page-product-details #myTabContent #features > ul > li:nth-child(4n+2) { background: var(--psr-night); }
html.page-product-details #myTabContent #features > ul > li:nth-child(4n+3) { background: var(--psr-lilac-deep); }
html.page-product-details #myTabContent #features > ul > li:nth-child(4n+4) { background: var(--psr-lime); color: var(--psr-night); }
html.page-product-details #myTabContent #features > ul > li:hover {
  scale: 1.06;
}

/* ---------- 11. Opinie (dziś wyłączone w panelu – style wg szablonów knockout, do sprawdzenia po włączeniu) ----------
   KV .pd-reviews / .pd-rev: formularz w miętowym kafelku obok listy, opinia na kamieniu 8 z awatarem-łapką,
   gwiazdki = maska SVG gwiazdki KV zamiast glifu FontAwesome (klik i najechanie z knockout działają dalej). */
html.page-product-details .product-opinions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}
html.page-product-details .product-opinions > :is(product-opinion-form, product-opinions-list) {
  display: block;
  min-width: 0;
}
html.page-product-details .product-opinions .opinion-form {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 24px 24px 26px;
  border-radius: var(--psr-radius-note);
  background: var(--psr-mint-8);
}
html.page-product-details .product-opinions .opinion-form .form-group {
  margin: 0;
}
html.page-product-details .product-opinions .opinion-form .opinion-form__opinion-text {
  height: auto;
  min-height: 140px;
}
/* pola na miętowym kafelku – białe, żeby było widać ich kształt (fundament: mięta 8 jak kafel) */
html.page-product-details .product-opinions .opinion-form :is(textarea, input[type="text"]):not(:focus) {
  background: var(--psr-white);
}
/* licznik znaków ma inline font-size:11px – !important celowo (za mały tekst) */
html.page-product-details .product-opinions .opinion-form .opinion-form__counter {
  margin-top: 4px;
  padding: 0 14px;
  color: var(--psr-muted);
  font-size: 13px !important;
}
html.page-product-details .product-opinions .opinion-form .btn-post-opinion {
  margin: 4px 0 0;
}
html.page-product-details .product-opinions .opinion__success-message {
  display: block;
  margin: 0;
  padding: 14px 18px;
  border-radius: var(--psr-radius-row);
  background: var(--psr-white);
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.45;
}
/* nagłówki: „Twoja ocena:” jak etykieta pola, „Opinie klientów” jak KV .pd-h */
html.page-product-details .product-opinions .opinions-header {
  margin: 0;
  padding: 0 0 8px;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.2;
}
html.page-product-details .product-opinions product-opinions-list .opinions-header {
  padding-bottom: 16px;
  font-size: 28px;
  line-height: 1.05;
  text-transform: uppercase;
}
/* gwiazdki: pusta #d3dede, pełna głęboka mięta (KV .pd-stars) */
html.page-product-details :is(.opinion-rate, .rating-stars) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  margin: 0;
  color: var(--psr-mint-deep);
}
html.page-product-details .opinion-rate::before,
html.page-product-details .opinion-rate::after {
  content: none;
}
html.page-product-details :is(.opinion-rate__star, .rating-stars__star) {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  width: var(--psr-gw, 34px);
  height: var(--psr-gw, 34px);
  float: none;
  margin: 0;
  color: var(--psr-switch-off);
  font-size: var(--psr-gw, 34px);
  font-weight: 400;
  line-height: 1;
}
html.page-product-details .opinion-rate__star {
  cursor: pointer;
  transition: scale var(--psr-t-base) var(--psr-spring);
}
html.page-product-details .opinion-rate__star:hover {
  scale: 1.12;
}
html.page-product-details :is(.opinion-rate__star, .rating-stars__star)::before {
  content: "";
  width: 84%;
  height: 84%;
  background: currentColor;
  -webkit-mask: var(--psr-svg-gwiazdka) center / contain no-repeat;
  mask: var(--psr-svg-gwiazdka) center / contain no-repeat;
}
html.page-product-details :is(.opinion-rate__star, .rating-stars__star).fas {
  color: var(--psr-mint-deep);
}
/* pół gwiazdki (średnia ocen): lewa połowa pełna */
html.page-product-details .rating-stars__star.fa-star-half-alt::before {
  background: linear-gradient(90deg, var(--psr-mint-deep) 50%, var(--psr-switch-off) 50%);
}
html.page-product-details .product-opinions .rating-stars {
  --psr-gw: 18px;
}
/* lista opinii – kafel KV .pd-rev */
html.page-product-details .product-opinions .opinions-list {
  display: grid;
  gap: 14px;
  margin: 0;
}
html.page-product-details .product-opinions .opinions-list > .opinion-item {
  margin: 0;
  padding: 20px 24px 18px;
  border-radius: 28px;
  background: var(--psr-stone-8);
  font-size: 17px;
}
html.page-product-details .product-opinions product-opinion > .opinion-item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  grid-template-areas: "ava nick gw" "ava data gw" "txt txt txt";
  align-items: center;
  gap: 2px 14px;
  margin: 0;
  font-size: 17px;
}
/* awatar: dane nie mają inicjałów – kółko z łapką */
html.page-product-details .product-opinions product-opinion > .opinion-item::before {
  content: "";
  grid-area: ava;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
}
html.page-product-details .product-opinions product-opinion > .opinion-item::after {
  content: "";
  grid-area: ava;
  justify-self: center;
  width: 24px;
  height: 24px;
  background: var(--psr-white);
  -webkit-mask: var(--psr-d-paw) center / contain no-repeat;
  mask: var(--psr-d-paw) center / contain no-repeat;
}
html.page-product-details .product-opinions .opinion-item__nickname {
  grid-area: nick;
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1.15;
}
html.page-product-details .product-opinions .opinion-item__created-date {
  grid-area: data;
  color: var(--psr-muted);
  font-size: 14px;
  line-height: 1.3;
}
html.page-product-details .product-opinions .opinion-item__rate-stars {
  grid-area: gw;
  align-self: start;
  margin: 4px 0 0;
  font-size: inherit;
}
html.page-product-details .product-opinions .opinion-item__opinion {
  grid-area: txt;
  margin-top: 12px;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.55;
}
@media (min-width: 992px) {
  html.page-product-details .product-opinions {
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
    gap: 32px;
  }
}

/* ---------- 12. Tablet 768–1000 px (KV ≤1000: kolumny równe, odstęp 30, scena wyższa) ---------- */
@media (max-width: 1000px) {
  html.page-product-details .widget.widget-product-details {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 30px;
    padding: 26px 24px 32px;
    border-radius: 38px;
  }
  html.page-product-details .widget-product-details #carousel .carousel-inner {
    aspect-ratio: 1 / 1.1;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner {
    grid-auto-columns: minmax(0, 76px);
    column-gap: 10px;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner:has(> .item:nth-child(3)) {
    grid-template-columns: repeat(auto-fill, 72px);
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a {
    padding: 8px;
    border-radius: 20px;
  }
}

/* ---------- 13. Telefon < 768 px: jedna kolumna, kropki zamiast miniatur, taca przyklejona do dołu ekranu ---------- */
@media (max-width: 767px) {
  html.page-product-details .widget.widget-product-details {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 20px;
    margin: 4px 0 32px;
    padding: 12px 12px 14px;
    border-radius: var(--psr-radius-card);
  }
  /* dzieci panelu zakupu stają się elementami siatki karty – dzięki temu taca może być lepka w całej karcie */
  html.page-product-details .widget-product-details .product-details-data-container {
    display: contents;
  }
  html.page-product-details .widget-product-details .product-details-image-container {
    grid-column: 1;
    grid-row: auto;
    order: 1;
  }
  /* KV .pd-buy na telefonie: treść 6 px od krawędzi sceny (taca – na całą szerokość) */
  html.page-product-details .widget-product-details .product-details-data-container > :not(.product-details-actions) {
    margin-inline: 6px;
  }
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-title { order: 2; margin-top: 4px; font-size: 28px; }
  html.page-product-details .widget-product-details .product-details-data-container > :is(.rating-stars, rating-stars-product) { order: 3; }
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-price { order: 4; }
  html.page-product-details .widget-product-details .product-details-data-container > :is(.historical-price, .customer-discount, .customer-discount-info) { order: 5; }
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-filters-container { order: 6; }
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-availability { order: 7; }
  html.page-product-details .widget-product-details .one-product-tables {
    order: 8;
    margin-top: 10px;
  }
  /* taca na końcu karty, przyklejona do dołu ekranu przez cały opis (KV .pd-sticky – bez skryptu):
     biała pastylka z cieniem, bo pływa nad treścią */
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-actions {
    position: sticky;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    z-index: 20;
    order: 9;
    margin: 6px 0 0;
    padding: 8px 8px 12px;
    border-radius: 30px;
    background: var(--psr-white);
    box-shadow: inset 0 0 0 2px var(--psr-stone-20), 0 10px 26px -10px rgba(98, 120, 121, 0.45);
  }
  html.page-product-details .widget-product-details .product-details-data-container .product-details-price p:not(.product-details-taxes-price, .historical-price) {
    min-height: 46px;
    font-size: 40px;
  }
  html.page-product-details .widget-product-details .product-details-data-container .product-details-price p .product-price-promotion {
    font-size: 34px;
  }
  html.page-product-details .widget-product-details #carousel .carousel-inner {
    aspect-ratio: 1 / 0.95;
  }
  html.page-product-details .widget-product-details .product-details-slider #carousel {
    margin: 0;
    border-radius: 24px;
  }
  html.page-product-details .widget-product-details #carousel .carousel-inner > .item > img {
    bottom: 13%;
    max-width: 74%;
    max-height: 74%;
  }
  html.page-product-details .widget-product-details #carousel > .carousel-control {
    width: 40px;
    height: 40px;
    margin-top: -38px;
  }
  html.page-product-details .widget-product-details #carousel > .carousel-control.left { left: 8px; }
  html.page-product-details .widget-product-details #carousel > .carousel-control.right { right: 8px; }
  html.page-product-details .widget-product-details #carousel > .carousel-control > .arrow {
    width: 40px;
    height: 40px;
  }
  html.page-product-details .widget-product-details #carousel > .carousel-control > .arrow::before {
    width: 20px;
    height: 20px;
  }
  /* miniatury → kropki na scenie (KV .pd-dots): biała pastylka, wybrana kropka wydłużona w głębokiej mięcie */
  html.page-product-details .widget-product-details .product-details-slider .carousel-thumbnails {
    position: absolute;
    left: 50%;
    bottom: 12px;
    z-index: 3;
    max-width: calc(100% - 24px);
    translate: -50% 0;
  }
  /* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner:has(> .item:nth-child(3)) {
    display: flex;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    padding: 0 6px;
    border-radius: var(--psr-radius-pill);
    background: var(--psr-white);
    box-shadow: var(--psr-lift-sm);
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li {
    flex: none;
    width: auto;
    height: 28px;
    aspect-ratio: auto;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a {
    width: 28px;
    padding: 0;
    border-radius: 10px;
    background: none;
    transition: width var(--psr-t-base) var(--psr-spring);
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a:hover {
    background: none;
    translate: none;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a img {
    display: none;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: var(--psr-radius-pill);
    background: #c3cfcf;
    transition: width var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
  }
  /* pole dotyku 44 px wysokości */
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a::after,
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a.selected::after {
    content: "";
    position: absolute;
    inset: -8px 0;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: none;
    animation: none;
  }
  /* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
  html.page-product-details .widget-product-details #slider-tmbs:not(:has(a.selected)) .carousel-inner > .item:first-child li:first-child a::after {
    content: "";
    position: absolute;
    inset: -8px 0;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: none;
    animation: none;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a.selected {
    width: 38px;
    background: none;
  }
  /* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
  html.page-product-details .widget-product-details #slider-tmbs:not(:has(a.selected)) .carousel-inner > .item:first-child li:first-child a {
    width: 38px;
    background: none;
  }
  html.page-product-details .widget-product-details #slider-tmbs .carousel-inner .item li a.selected::before {
    width: 22px;
    background: var(--psr-mint-deep);
  }
  /* wariant z :has() osobno – przeglądarka bez :has() odrzuciłaby całą listę selektorów */
  html.page-product-details .widget-product-details #slider-tmbs:not(:has(a.selected)) .carousel-inner > .item:first-child li:first-child a::before {
    width: 22px;
    background: var(--psr-mint-deep);
  }
  html.page-product-details .widget-product-details .product-details-image-container .recommended-label:not(:empty) {
    top: 14px;
    left: 12px;
    padding: 6px 13px 7px;
    font-size: 13px;
  }
  html.page-product-details .widget-product-details .product-details-image-container .promotion-label:not(:empty) {
    top: 14px;
    right: 12px;
    font-size: 15px;
  }
  /* zakładki: tor na całą szerokość, przewijany w poziomie */
  html.page-product-details #myTab {
    display: flex;
    width: 100%;
  }
  html.page-product-details #myTab > li {
    flex: 1 0 auto;
  }
  html.page-product-details #myTab > li > a {
    width: 100%;
    min-height: 44px;
    padding: 8px 14px;
    font-size: 16px;
  }
  html.page-product-details #myTabContent {
    padding: 24px 6px 6px;
  }
  html.page-product-details #description .item-description {
    font-size: 16.5px;
  }
  html.page-product-details #description .item-description > :is(h1, h2, h3, h4, h5, h6):first-child {
    font-size: 24px;
  }
  html.page-product-details #details td {
    padding: 10px 12px;
    font-size: 15.5px;
  }
  html.page-product-details .product-opinions .opinion-form {
    padding: 20px 18px 22px;
  }
  html.page-product-details .product-opinions .opinions-list > .opinion-item {
    padding: 18px 18px 16px;
    border-radius: 24px;
  }
  html.page-product-details .product-opinions product-opinion > .opinion-item {
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas: "ava nick" "ava data" "ava gw" "txt txt";
    column-gap: 12px;
  }
  html.page-product-details .product-opinions product-opinion > .opinion-item::before {
    width: 44px;
    height: 44px;
  }
}
/* wąski telefon: trzy zakładki platformy nie mieszczą się w jednej linii – dłuższe nazwy łamią się
   na dwie linijki zamiast chować „Cechy produktu” poza torem */
@media (max-width: 560px) {
  html.page-product-details #myTab > li {
    flex: 1 1 auto;
  }
  html.page-product-details #myTab > li > a {
    padding: 6px 10px;
    font-size: 15.5px;
    line-height: 1.1;
    text-align: center;
    white-space: normal;
  }
}
@media (max-width: 420px) {
  html.page-product-details .widget-product-details .product-details-data-container > .product-details-title {
    font-size: 26px;
  }
}

/* ----- 50-koszyk.css ----- */
/* ==========================================================================
   50-koszyk.css – MODUŁ KOSZYK: /Basket (pusty i z produktami), kod rabatowy, suma,
   /Order (wybór konta), /Order/ShippingData (dane + faktura) oraz – bez weryfikacji na żywo –
   dalsze kroki /Order/* (dostawa, podsumowanie, płatność, potwierdzenie).
   Wzorzec: KV „Koszyk bez stresu” (kv-d §B1–B12) + formularze (§A1–A9).
   Zasady:
   • wygląd przycisków, pól, checkboxów i licznika ilości daje fundament (02/03) – tu tylko układ,
     rozmiary (zmiennymi --psr-btn-*, --psr-stepper-*) i elementy specyficzne dla koszyka;
   • teksty platformy zostają; z pseudo-elementów dochodzą tylko: numery kroków (ukryte dla czytników
     – content: "2" / ""), podpis „Usuń” przy ikonie kosza (ten sam co nagłówek kolumny „Usuń”);
   • kolumna „Rabat” jest dynamiczna (6 albo 7 komórek) – adresujemy td:nth-child(1–4),
     td:nth-last-child(2), td:last-child i td:nth-child(5):nth-last-child(3), nigdy td:nth-child(5+);
   • knockout chowa elementy stylem inline (display:none) – żadnego display:… !important;
   • specyficzność: prefiks #basket-grid / #shippingData (1,x,x) bije szablon (do 0,3,1) i fundament (0,2,1).
   Pasek darmowej dostawy .psr-dostawa wstawia i styluje skrypt (80-js) – tu tylko jego miejsce w siatce. Kontrakt:
   skrypt wstawia go jako PIERWSZE dziecko #basket-grid > [data-bind="hidden: basketEmpty"] (knockout chowa ten div
   przy pustym koszyku, więc pasek znika razem z nim); ≥992 trafia na górę karty podsumowania, <992 nad listę.
   ========================================================================== */

/* ---------- 1. Pasek kroków .basket-steps (KV B1: biała pastylka, kółka, linia, bieżący krok = pastylka mięty) ----------
   Platforma ma tylko okruszek: /Basket „Mój koszyk” (krok 1), /Order „Wybierz jedną z opcji” (krok 2),
   /Order/ShippingData „Mój koszyk » Dane zamówienia” (krok 2). Nazwa bieżącego kroku = tekst platformy;
   pozostałe kroki to same kółka z numerami (jak KV na telefonie). Dalsze kroki (nieznany HTML) – sama pastylka.
   Geometria w zmiennych: --psr-ks-d (kółko), --psr-ks-g (odstęp linii), --psr-ks-p (padding paska);
   promień kółka r = d/2, promień pastylki c = r + 5 px (pastylka = kółko + 5 px wokół). */
.basket-area .basket-steps {
  --psr-ks-d: 38px;
  --psr-ks-g: 12px;
  --psr-ks-p: 8px;
  --psr-ks-r: calc(var(--psr-ks-d) / 2);
  --psr-ks-c: calc(var(--psr-ks-d) / 2 + 5px);
  --psr-ks-fs: 17px;
  position: relative;
  display: flex;
  align-items: center;
  min-height: calc(var(--psr-ks-d) + 10px + 2 * var(--psr-ks-p));
  margin: 0 0 24px;
  padding: var(--psr-ks-p);
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
  color: var(--psr-muted);
  font-size: var(--psr-ks-fs);
  line-height: 1.1;
  white-space: nowrap;
}
.basket-area .basket-steps a {
  color: var(--psr-night);
}
/* kółko kroku, cyfra w środku (czytnik ekranu ją pomija: content "2" / "") */
#basket-grid > .basket-steps > :is(a, span)::before,
#shippingData > .basket-steps > i::after {
  flex: none;
  display: grid;
  place-items: center;
  width: var(--psr-ks-d);
  height: var(--psr-ks-d);
  border-radius: 50%;
  font-size: var(--psr-ks-fs);
  font-style: normal;
  line-height: 1;
}
/* bieżący krok (a na /Basket, span na /Order): pastylka mięty głębokiej, białe kółko z numerem w mięcie */
#basket-grid > .basket-steps > a:only-child,
#basket-grid.order-start-page > .basket-steps > span {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: calc(var(--psr-ks-d) + 10px);
  padding: 5px 20px 5px 5px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  text-decoration: none;
}
#basket-grid > .basket-steps > a:only-child::before,
#basket-grid.order-start-page > .basket-steps > span::before,
#shippingData > .basket-steps > i::after {
  content: "1";
  content: "1" / "";
  background: var(--psr-white);
  color: var(--psr-mint-deep);
}
#basket-grid.order-start-page > .basket-steps > span::before,
#shippingData > .basket-steps > i::after {
  content: "2";
  content: "2" / "";
}
/* przyszłe kroki: linia 4 px (kamień 20) + szare kółko z numerem */
#basket-grid:not(.order-start-page) > .basket-steps::before,
#basket-grid > .basket-steps::after,
#shippingData > .basket-steps::after {
  display: flex;
  align-items: center;
  height: var(--psr-ks-d);
  color: var(--psr-muted);
  font-size: var(--psr-ks-fs);
  line-height: 1;
}
/* /Basket: odcinek + kółko 2 */
#basket-grid:not(.order-start-page) > .basket-steps::before {
  content: "2";
  content: "2" / "";
  order: 1;
  flex: 1 1 0;
  min-width: calc(var(--psr-ks-d) + 2 * var(--psr-ks-g) + 16px);
  justify-content: flex-end;
  padding-right: calc(var(--psr-ks-r) - 0.28em);
  background:
    radial-gradient(circle at calc(100% - var(--psr-ks-r)) 50%, var(--psr-stone-20) calc(var(--psr-ks-r) - 0.5px), transparent var(--psr-ks-r)),
    linear-gradient(var(--psr-stone-20), var(--psr-stone-20)) var(--psr-ks-g) 50% / calc(100% - var(--psr-ks-d) - 2 * var(--psr-ks-g)) 4px no-repeat;
}
/* odcinek + kółko 3 (w środku) + odcinek do kółka 4 */
#basket-grid > .basket-steps::after {
  content: "3";
  content: "3" / "";
  order: 2;
  flex: 2 1 0;
  min-width: calc(var(--psr-ks-d) + 4 * var(--psr-ks-g) + 24px);
  justify-content: center;
  background:
    radial-gradient(circle at 50% 50%, var(--psr-stone-20) calc(var(--psr-ks-r) - 0.5px), transparent var(--psr-ks-r)),
    linear-gradient(var(--psr-stone-20), var(--psr-stone-20)) var(--psr-ks-g) 50% / calc(50% - var(--psr-ks-r) - 2 * var(--psr-ks-g)) 4px no-repeat,
    linear-gradient(var(--psr-stone-20), var(--psr-stone-20)) right var(--psr-ks-g) center / calc(50% - var(--psr-ks-r) - 2 * var(--psr-ks-g)) 4px no-repeat;
}
/* kółko 4 – przy prawym końcu paska (pseudo-element osadzony absolutnie w .basket-steps) */
#basket-grid > .basket-steps,
#shippingData > .basket-steps {
  padding-right: calc(var(--psr-ks-p) + var(--psr-ks-d));
}
#basket-grid > .basket-steps > :is(a, span)::after,
#shippingData > .basket-steps::before {
  content: "4";
  content: "4" / "";
  position: absolute;
  top: 50%;
  right: var(--psr-ks-p);
  display: grid;
  place-items: center;
  width: var(--psr-ks-d);
  height: var(--psr-ks-d);
  margin-top: calc(var(--psr-ks-r) * -1);
  border-radius: 50%;
  background: var(--psr-stone-20);
  color: var(--psr-muted);
  font-size: var(--psr-ks-fs);
  line-height: 1;
  pointer-events: none;
}
/* /Order: krok 1 zrobiony (kółko z ptaszkiem + linia wypełniona miętą głęboką), potem bieżący span */
#basket-grid.order-start-page > .basket-steps::before {
  content: "";
  order: -1;
  flex: 1 1 0;
  min-width: calc(var(--psr-ks-d) + 2 * var(--psr-ks-g) + 16px);
  height: var(--psr-ks-d);
  background:
    var(--psr-svg-ptaszek-bialy) calc(var(--psr-ks-r) - 9px) 50% / 18px 18px no-repeat,
    radial-gradient(circle at var(--psr-ks-r) 50%, var(--psr-mint-deep) calc(var(--psr-ks-r) - 0.5px), transparent var(--psr-ks-r)),
    linear-gradient(var(--psr-mint-deep), var(--psr-mint-deep)) calc(var(--psr-ks-d) + var(--psr-ks-g)) 50% / calc(100% - var(--psr-ks-d) - 2 * var(--psr-ks-g)) 4px no-repeat;
}
/* /Order/ShippingData: „Mój koszyk” (a) = krok 1 zrobiony; i = linia wypełniona + kółko 2; „Dane zamówienia” to goły
   węzeł tekstowy (nie da się go owinąć) – leży na tle pastylki: tło treści paska = mięta głęboka, a biel wokół
   dają a, i oraz ::after (z wklęsłymi zaokrągleniami przy pastylce). */
#shippingData > .basket-steps {
  background: linear-gradient(var(--psr-mint-deep), var(--psr-mint-deep)) content-box, var(--psr-white);
  color: var(--psr-white);
}
#shippingData > .basket-steps > a {
  align-self: stretch;
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 10px;
  min-height: calc(var(--psr-ks-d) + 10px);
  padding: 5px 14px 5px 5px;
  background: var(--psr-white);
  color: var(--psr-night);
}
#shippingData > .basket-steps > a::before {
  content: "";
  flex: none;
  width: var(--psr-ks-d);
  height: var(--psr-ks-d);
  border-radius: 50%;
  background: var(--psr-svg-ptaszek-bialy) center / 18px 18px no-repeat, var(--psr-mint-deep);
}
#shippingData > .basket-steps > i {
  align-self: stretch;
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: flex-end;
  min-width: calc(var(--psr-ks-d) + 5px + 2 * var(--psr-ks-g) + 16px);
  margin-right: 10px;
  background:
    linear-gradient(var(--psr-mint-deep), var(--psr-mint-deep)) var(--psr-ks-g) 50% / calc(100% - var(--psr-ks-d) - 5px - 2 * var(--psr-ks-g)) 4px no-repeat,
    radial-gradient(circle at 100% 50%, transparent calc(var(--psr-ks-c) - 0.5px), var(--psr-white) var(--psr-ks-c)) calc(100% - var(--psr-ks-r)) 0 / var(--psr-ks-c) 100% no-repeat,
    linear-gradient(var(--psr-white), var(--psr-white)) 0 0 / calc(100% - var(--psr-ks-d) - 5px) 100% no-repeat;
}
#shippingData > .basket-steps > i::before {
  content: none;
}
#shippingData > .basket-steps::after {
  content: "3";
  content: "3" / "";
  order: 2;
  align-self: stretch;
  flex: 2 1 0;
  justify-content: center;
  height: auto;
  min-width: calc(var(--psr-ks-c) + var(--psr-ks-d) + 4 * var(--psr-ks-g) + 24px);
  padding-left: var(--psr-ks-c);
  background:
    radial-gradient(circle at calc(50% + var(--psr-ks-c) / 2) 50%, var(--psr-stone-20) calc(var(--psr-ks-r) - 0.5px), transparent var(--psr-ks-r)),
    linear-gradient(var(--psr-stone-20), var(--psr-stone-20)) calc(var(--psr-ks-c) + var(--psr-ks-g)) 50% / calc(50% - var(--psr-ks-c) / 2 - var(--psr-ks-r) - 2 * var(--psr-ks-g)) 4px no-repeat,
    linear-gradient(var(--psr-stone-20), var(--psr-stone-20)) right var(--psr-ks-g) center / calc(50% - var(--psr-ks-c) / 2 - var(--psr-ks-r) - 2 * var(--psr-ks-g)) 4px no-repeat,
    radial-gradient(circle at 0 50%, transparent calc(var(--psr-ks-c) - 0.5px), var(--psr-white) var(--psr-ks-c)) 0 0 / var(--psr-ks-c) 100% no-repeat,
    linear-gradient(var(--psr-white), var(--psr-white)) var(--psr-ks-c) 0 / calc(100% - var(--psr-ks-c)) 100% no-repeat;
}
#shippingData > .basket-steps::before {
  z-index: 1;
}
@media (prefers-reduced-motion: no-preference) {
  #basket-grid > .basket-steps > a:only-child::before,
  #basket-grid.order-start-page > .basket-steps > span::before,
  #shippingData > .basket-steps > i::after {
    animation: psr-bump 500ms var(--psr-spring);
  }
}
/* telefon: kółka 30 px, krótkie linie, etykieta „Mój koszyk” zrobionego kroku ukryta (zostaje ptaszek) */
@media (max-width: 767px) {
  .basket-area .basket-steps {
    --psr-ks-d: 30px;
    --psr-ks-g: 6px;
    --psr-ks-p: 6px;
    --psr-ks-fs: 15px;
    margin-bottom: 18px;
  }
  #basket-grid > .basket-steps > a:only-child,
  #basket-grid.order-start-page > .basket-steps > span {
    gap: 8px;
    padding-right: 14px;
  }
  #basket-grid:not(.order-start-page) > .basket-steps::before,
  #basket-grid.order-start-page > .basket-steps::before {
    min-width: calc(var(--psr-ks-d) + 2 * var(--psr-ks-g) + 10px);
  }
  #basket-grid.order-start-page > .basket-steps::before {
    background-size: 15px 15px, auto, calc(100% - var(--psr-ks-d) - 2 * var(--psr-ks-g)) 4px;
    background-position: calc(var(--psr-ks-r) - 7.5px) 50%, 0 0, calc(var(--psr-ks-d) + var(--psr-ks-g)) 50%;
  }
  #basket-grid > .basket-steps::after {
    min-width: calc(var(--psr-ks-d) + 4 * var(--psr-ks-g) + 16px);
  }
  #shippingData > .basket-steps::after {
    min-width: calc(var(--psr-ks-c) + var(--psr-ks-d) + 4 * var(--psr-ks-g) + 16px);
  }
  #shippingData > .basket-steps > a {
    gap: 0;
    padding-right: 4px;
    font-size: 0;
  }
  #shippingData > .basket-steps > a::before {
    background-size: 15px 15px, auto;
  }
  #shippingData > .basket-steps > i {
    min-width: calc(var(--psr-ks-d) + 5px + 2 * var(--psr-ks-g) + 12px);
    margin-right: 8px;
  }
}
/* wąskie telefony (360–420): mniejsze kółka i krótsze minimalne odcinki – kółka 3 i 4 nie sklejają się,
   gdy bieżący krok ma długą nazwę („Wybierz jedną z opcji”) */
@media (max-width: 420px) {
  .basket-area .basket-steps {
    --psr-ks-d: 28px;
    --psr-ks-g: 5px;
    --psr-ks-p: 5px;
    --psr-ks-fs: 14px;
  }
  #basket-grid > .basket-steps > a:only-child,
  #basket-grid.order-start-page > .basket-steps > span {
    gap: 6px;
    padding-right: 12px;
  }
  #basket-grid:not(.order-start-page) > .basket-steps::before,
  #basket-grid.order-start-page > .basket-steps::before {
    min-width: calc(var(--psr-ks-d) + 2 * var(--psr-ks-g) + 6px);
  }
  #basket-grid.order-start-page > .basket-steps::before {
    background-size: 14px 14px, auto, calc(100% - var(--psr-ks-d) - 2 * var(--psr-ks-g)) 4px;
    background-position: calc(var(--psr-ks-r) - 7px) 50%, 0 0, calc(var(--psr-ks-d) + var(--psr-ks-g)) 50%;
  }
  #basket-grid > .basket-steps::after {
    min-width: calc(var(--psr-ks-d) + 4 * var(--psr-ks-g) + 12px);
  }
  #shippingData > .basket-steps::after {
    min-width: calc(var(--psr-ks-c) + var(--psr-ks-d) + 4 * var(--psr-ks-g) + 12px);
  }
  #shippingData > .basket-steps > a::before {
    background-size: 14px 14px, auto;
  }
  #shippingData > .basket-steps > i {
    min-width: calc(var(--psr-ks-d) + 5px + 2 * var(--psr-ks-g) + 8px);
    margin-right: 6px;
  }
}
@media (max-width: 350px) {
  .basket-area .basket-steps {
    --psr-ks-d: 26px;
    --psr-ks-g: 4px;
    --psr-ks-fs: 13px;
  }
  #basket-grid > .basket-steps > a:only-child,
  #basket-grid.order-start-page > .basket-steps > span {
    gap: 5px;
    padding-right: 10px;
  }
}

/* ---------- 2. Układ koszyka (KV B2): lista w białej karcie | karta podsumowania ----------
   div[data-bind="hidden: basketEmpty"] = siatka. Lista = sama tabela (biała karta). Karta podsumowania to
   ::after siatki (tło pod kodem rabatowym i sumą – to dwa osobne elementy platformy).
   ≥992: dwie kolumny 1,6 : 1 · 768–991: lista, pod nią karta z kodem | sumą · <768: wszystko jedno pod drugim. */
#basket-grid > [data-bind="hidden: basketEmpty"] {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  grid-template-rows: auto auto auto 1fr;
  grid-template-areas:
    "list free"
    "list code"
    "list sum"
    "list .";
  column-gap: 22px;
  align-items: start;
}
#basket-grid > [data-bind="hidden: basketEmpty"]::after {
  content: "";
  order: -1;
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: stretch;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
#basket-grid > [data-bind="hidden: basketEmpty"] > .basket-area-items-list { grid-area: list; }
#basket-grid > [data-bind="hidden: basketEmpty"] > .psr-dostawa { grid-area: free; margin: 30px 30px 0; }
#basket-grid > .psr-dostawa { margin: 0 0 22px; } /* gdyby skrypt wstawił pasek bezpośrednio w #basket-grid */
#basket-grid > [data-bind="hidden: basketEmpty"] > .row { grid-area: code; }
#basket-grid > [data-bind="hidden: basketEmpty"] > .basket-area-summary { grid-area: sum; }
@media (max-width: 991px) {
  #basket-grid > [data-bind="hidden: basketEmpty"] {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: none;
    grid-template-areas:
      "free free"
      "list list"
      "code sum";
    column-gap: 40px;
  }
  #basket-grid > [data-bind="hidden: basketEmpty"]::after {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 22px;
  }
  #basket-grid > [data-bind="hidden: basketEmpty"] > .psr-dostawa { margin: 0 0 18px; }
}
@media (max-width: 767px) {
  #basket-grid > [data-bind="hidden: basketEmpty"] {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "free"
      "list"
      "code"
      "sum";
  }
  #basket-grid > [data-bind="hidden: basketEmpty"]::after {
    grid-row: 3 / 5;
    margin-top: 18px;
  }
}

/* ---------- 2a. Zanim knockout wyrenderuje koszyk (i bez JS) ----------
   Koszyk platformy to szablon knockout: bez JS (i przez chwilę po załadowaniu) widać pusty szkielet wiersza,
   pusty chip „Twój kod:”, pole kodu, puste „Suma:” i dwa „Zamówienie” (wariant zwykły i konta zablokowanego).
   Po wyrenderowaniu te warunki nigdy nie zachodzą (nazwa produktu, kod i suma zawsze mają tekst, a knockout
   zostawia jeden przycisk), więc reguły działają tylko na szkielet – bez !important i bez ruszania display
   elementów, które knockout pokazuje/chowa stylem inline. */
#basket-grid .basket-area-items-list:has(.item-title:empty),
#basket-grid .discount-code-entered:has(> span:empty),
#basket-grid .discount-code-form:has(> .checkbox input:not(:checked)) > .form-group,
#basket-grid #submitBasket .btn-checkout ~ .btn-checkout,
#basket-grid .basket-area-summary .basket-area-summary-price:has(> span:empty) {
  display: none;
}

/* ---------- 3. Lista pozycji (KV B4 .ck-line): tabela → karta, wiersz → siatka ---------- */
#basket-grid .basket-area-items-list {
  container-type: inline-size;
  display: block;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 10px 30px;
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
#basket-grid .basket-area-items-list thead {
  display: none;
}
#basket-grid .basket-area-items-list tbody {
  display: block;
}
#basket-grid .basket-area-items-list tbody tr {
  position: static;
  display: grid;
  grid-template-columns: 96px auto minmax(0, 1fr) auto;
  grid-template-areas:
    "img name  name  total"
    "img price price disc"
    "img qty   del   del";
  column-gap: 18px;
  row-gap: 2px;
  align-items: start;
  padding: 20px 0;
  border: 0;
}
#basket-grid .basket-area-items-list tbody tr + tr {
  border-top: 2px solid var(--psr-stone-8);
}
#basket-grid .basket-area-items-list tbody td {
  display: block;
  width: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  text-align: left;
  vertical-align: top;
  clear: none;
}
/* miniatura: kafel kamień 8, JPEG/PNG z białym tłem wtapia się (multiply). KV ma packshot 72 %, ale zdjęcia sklepu
   mają własny biały margines – przy 72 % produkt był mniejszy niż połowa kafla, więc 86 % */
#basket-grid .basket-area-items-list tbody td:nth-child(1) {
  grid-area: img;
  display: grid;
  place-items: center;
  width: 96px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 22px;
  background: var(--psr-stone-8);
}
#basket-grid .basket-area-items-list tbody td:nth-child(1):not(:has(img)) {
  visibility: hidden;
}
#basket-grid .basket-area-items-list .item-image {
  width: auto;
  height: auto;
  max-width: 86%;
  max-height: 86%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: scale 500ms var(--psr-spring), rotate 500ms var(--psr-spring);
}
#basket-grid .basket-area-items-list tbody tr:hover .item-image {
  scale: 1.07;
  rotate: -3deg;
}
/* nazwa: 18 px nocna mięta, podkreślenie rysowane od lewej (jak .btn-link) */
#basket-grid .basket-area-items-list tbody td:nth-child(2) {
  grid-area: name;
  padding-top: 2px;
}
#basket-grid .basket-area-items-list .item-title {
  display: inline;
  padding-bottom: 2px;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 2px no-repeat;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.3;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size 350ms var(--psr-smooth);
}
#basket-grid .basket-area-items-list .item-title:is(:hover, :focus-visible) {
  background-size: 100% 2px;
  color: var(--psr-night);
  text-decoration: none;
}
#basket-grid .basket-area-items-list .item-features {
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.4;
}
#basket-grid .basket-area-items-list .item-features:empty {
  display: none;
}
#basket-grid .basket-area-items-list .item-features li {
  display: inline;
}
#basket-grid .basket-area-items-list .item-features li + li::before {
  content: " • ";
}
#basket-grid .basket-area-items-list .item-features :is(b, strong) {
  color: var(--psr-night);
}
/* komunikat „Ilość towaru została zaktualizowana…” – limonkowa pastylka z „i” (KV .alert.on-lime, mała) */
#basket-grid .basket-area-items-list .amount-was-changed {
  position: relative;
  margin: 8px 0 0;
  padding: 8px 16px 9px 46px;
  border: 0;
  border-radius: var(--psr-radius-sm);
  background: var(--psr-lime);
  color: var(--psr-night);
  font-size: 14.5px;
  line-height: 1.35;
  text-align: left;
}
#basket-grid .basket-area-items-list .amount-was-changed::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 9px;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-info) center / contain no-repeat;
  mask: var(--psr-i-info) center / contain no-repeat;
}
/* cena jednostkowa – meta 14,5 px; cena sprzed rabatu przekreślona obok */
#basket-grid .basket-area-items-list tbody td:nth-child(4) {
  grid-area: price;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.4;
}
#basket-grid .basket-area-items-list tbody td:nth-child(4) > span {
  white-space: nowrap;
}
#basket-grid .basket-area-items-list .standard-price {
  display: inline;
  margin-left: 6px;
  color: var(--psr-muted);
  font-size: 14.5px;
  text-decoration: line-through;
}
/* ilość: licznik KV 44 px (przyciski 36) + „z 6 szt” obok */
#basket-grid .basket-area-items-list tbody td:nth-child(3) {
  grid-area: qty;
  display: flex;
  align-items: center;
  gap: 6px 12px;
  margin-top: 12px;
}
#basket-grid .basket-area-items-list .quantity-change {
  --psr-stepper-h: 44px;
  --psr-stepper-btn: 36px;
  --psr-stepper-num: 38px;
  flex: none;
  height: auto;
  margin: 0;
  padding: 0 4px;
}
#basket-grid .basket-area-items-list .quantity-change input[type="text"] {
  font-size: 18px;
}
#basket-grid .basket-area-items-list .quantity-change :is(.btn-minus, .btn-plus)::before {
  width: 16px;
  height: 16px;
}
#basket-grid .basket-area-items-list .amount-quantity {
  display: block;
  color: var(--psr-muted);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  clear: none;
}
/* rabat (kolumna dynamiczna): chip „6%” z metką; dymek z opisem po najechaniu (KV C6) */
#basket-grid .basket-area-items-list tbody td:nth-child(5):nth-last-child(3) {
  grid-area: disc;
  justify-self: end;
  margin-top: 6px;
}
#basket-grid .basket-area-items-list tbody td:nth-child(5):nth-last-child(3):not(:has(.tooltip-toggle)) {
  display: none;
}
#basket-grid .basket-area-items-list .tooltip-toggle {
  position: relative;
  cursor: default;
}
#basket-grid .basket-area-items-list .tooltip-toggle > div:first-child {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px 5px 10px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-20);
  color: var(--psr-night);
  font-size: 14.5px;
  line-height: 1.2;
  white-space: nowrap;
}
#basket-grid .basket-area-items-list .tooltip-toggle > div:first-child::before {
  content: "";
  width: 16px;
  height: 16px;
  background-color: var(--psr-mint-deep);
  -webkit-mask: var(--psr-i-tag) center / contain no-repeat;
  mask: var(--psr-i-tag) center / contain no-repeat;
}
/* dymek KV .ov-tip: nocna mięta, biały tekst 14 px, r 18, ogonek w dół, płaski (kolorowy element – bez cienia);
   wejście: opacity + wjazd 6 px sprężyną (szablon pokazuje go na .tooltip-toggle:hover) */
#basket-grid .basket-area-items-list .tooltip {
  width: max-content;
  min-width: 0;
  max-width: 232px;
  padding: 10px 15px 11px;
  border: 0;
  border-radius: var(--psr-radius-row);
  background: var(--psr-night);
  box-shadow: none;
  color: var(--psr-white);
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  z-index: 3;
  translate: 0 6px;
  transition: visibility 0s linear 0.2s, opacity 160ms ease, translate var(--psr-t-base) var(--psr-spring);
}
#basket-grid .basket-area-items-list .tooltip-toggle:hover .tooltip {
  translate: 0 0;
  transition-delay: 0s;
}
/* szeroka karta: dymek POD chipem (nad nim stoi koralowa cenówka wartości – dymek by ją zasłaniał), ogonek w górę */
#basket-grid .basket-area-items-list .tooltip.tooltip-top {
  top: 100%;
  bottom: auto;
  left: auto;
  right: 0;
  margin: 12px 0 0;
  transform: none;
}
#basket-grid .basket-area-items-list .tooltip.tooltip-top::before {
  top: auto;
  bottom: 100%;
  left: auto;
  right: 22px;
  margin-left: 0;
  border-width: 9px;
  border-color: transparent;
  border-bottom-color: var(--psr-night);
  border-top-width: 0;
}
#basket-grid .basket-area-items-list .tooltip > div {
  padding-bottom: 2px;
}
#basket-grid .basket-area-items-list .tooltip-info {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
}
/* „przekroczony maksymalny rabat” – na nocnej mięcie akcent limonkowy (koral z nocną nie łączymy) */
#basket-grid .basket-area-items-list .tooltip .max-discount-exceeded-info {
  color: var(--psr-lime);
}
/* ≤768 szablon pokazuje dymek na stałe – u nas zamiast chipu „6%” pokazuje się chip z pełnym opisem */
@media (max-width: 768px) {
  #basket-grid .basket-area-items-list .tooltip-toggle > div:first-child {
    display: none;
  }
  #basket-grid .basket-area-items-list .tooltip,
  #basket-grid .basket-area-items-list .tooltip.tooltip-top {
    position: static;
    min-width: 0;
    margin: 0;
    padding: 4px 12px 5px;
    border-radius: var(--psr-radius-row);
    background: var(--psr-mint-20);
    box-shadow: none;
    color: var(--psr-night);
    font-size: 13.5px;
    line-height: 1.3;
    transform: none;
    translate: none;
  }
  #basket-grid .basket-area-items-list .tooltip-info {
    color: var(--psr-muted);
  }
  #basket-grid .basket-area-items-list .tooltip .max-discount-exceeded-info {
    color: var(--psr-coral-text);
  }
}
/* wartość pozycji: 22 px nocna mięta; przy obniżce (cena sprzed rabatu w wierszu) – koralowa cenówka KV */
#basket-grid .basket-area-items-list tbody td:nth-last-child(2) {
  grid-area: total;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  padding-top: 2px;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.1;
  white-space: nowrap;
}
#basket-grid .basket-area-items-list tbody td:nth-last-child(2) strong {
  font-weight: 400;
}
#basket-grid .basket-area-items-list tbody td:nth-last-child(2) .standard-price {
  margin: 0;
}
#basket-grid .basket-area-items-list tbody tr:has(.standard-price) > td:nth-last-child(2) strong {
  display: inline-block;
  padding: 4px 14px 6px;
  border-radius: 26px 12px 22px 10px / 18px 22px 12px 20px;
  background: var(--psr-coral-deep);
  color: var(--psr-white);
  font-size: 20px;
  rotate: -2deg;
}
/* usuń: kosz z maski KV + „Usuń” (obrazek z ipetyou.pl zdjęty) */
#basket-grid .basket-area-items-list tbody td:last-child {
  grid-area: del;
  align-self: center;
  justify-self: start;
  margin: 12px 0 0 6px;
}
#basket-grid .basket-area-items-list .remove-item-from-basket {
  position: relative;
  top: auto;
  right: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  height: auto;
  min-height: 40px;
  margin: 0;
  padding: 6px 2px 4px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 6px) / 0% 2px no-repeat;
  box-shadow: none;
  color: var(--psr-muted);
  font-family: var(--psr-font);
  font-size: 15px;
  line-height: 1.2;
  cursor: pointer;
  transition: color var(--psr-t-fast) ease, background-size 350ms var(--psr-smooth);
}
#basket-grid .basket-area-items-list .remove-item-from-basket::before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-trash) center / contain no-repeat;
  mask: var(--psr-i-trash) center / contain no-repeat;
  transition: rotate var(--psr-t-base) var(--psr-spring);
}
#basket-grid .basket-area-items-list .remove-item-from-basket::after {
  content: "Usuń";
  content: "Usuń" / "";
}
#basket-grid .basket-area-items-list .remove-item-from-basket:is(:hover, :focus-visible) {
  background-size: 100% 2px;
  color: var(--psr-night);
}
#basket-grid .basket-area-items-list .remove-item-from-basket:hover::before {
  rotate: -12deg;
}
/* wąska karta (telefon): miniatura 76 px, licznik pod miniaturą, „Usuń” i wartość w jednym rzędzie */
@container (max-width: 540px) {
  #basket-grid .basket-area-items-list tbody tr {
    grid-template-columns: 76px auto minmax(0, 1fr) auto;
    grid-template-areas:
      "img   name  name  name"
      "img   price price price"
      "img   disc  disc  disc"
      "qty   qty   del   total";
    column-gap: 14px;
  }
  #basket-grid .basket-area-items-list tbody td:nth-child(1) {
    width: 76px;
    border-radius: 19px;
  }
  #basket-grid .basket-area-items-list .item-title {
    font-size: 16.5px;
  }
  #basket-grid .basket-area-items-list tbody td:nth-child(4) {
    font-size: 14px;
  }
  #basket-grid .basket-area-items-list tbody td:nth-child(3) {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 14px;
  }
  #basket-grid .basket-area-items-list .amount-quantity {
    padding-left: 14px;
  }
  #basket-grid .basket-area-items-list tbody td:last-child {
    align-self: start;
    margin-top: 16px;
  }
  #basket-grid .basket-area-items-list tbody td:nth-child(5):nth-last-child(3) {
    justify-self: start;
    margin-top: 4px;
  }
  #basket-grid .basket-area-items-list tbody td:nth-last-child(2) {
    align-self: start;
    margin-top: 20px;
    font-size: 20px;
  }
  #basket-grid .basket-area-items-list tbody tr:has(.standard-price) > td:nth-last-child(2) strong {
    font-size: 18px;
  }
}
/* dymek rabatu na wąskiej karcie (769–1199 px okna; ≤768 dymek jest stałym chipem w wierszu) */
@media (min-width: 769px) {
  @container (max-width: 540px) {
    /* wąska karta: chip stoi z lewej pod ceną – dymek NAD chipem (pod nim jest licznik), zaczepiony z lewej */
    #basket-grid .basket-area-items-list .tooltip.tooltip-top {
      top: auto;
      bottom: 100%;
      left: 0;
      right: auto;
      margin: 0 0 12px;
    }
    #basket-grid .basket-area-items-list .tooltip.tooltip-top::before {
      top: 100%;
      bottom: auto;
      left: 22px;
      right: auto;
      border-bottom-color: transparent;
      border-top-color: var(--psr-night);
      border-top-width: 9px;
      border-bottom-width: 0;
    }
  }
}
@media (max-width: 767px) {
  #basket-grid .basket-area-items-list {
    padding: 4px 18px;
  }
}

/* ---------- 4. Kod rabatowy (KV B8): „Wykorzystaj kod rabatowy” → pastylka z metką i przyciskiem w środku ---------- */
#basket-grid > [data-bind="hidden: basketEmpty"] > .row {
  margin: 0;
  padding: 26px 30px 20px;
}
#basket-grid > [data-bind="hidden: basketEmpty"] > .row::before,
#basket-grid > [data-bind="hidden: basketEmpty"] > .row::after {
  content: none;
}
#basket-grid .discount-code-form {
  float: none;
  width: auto;
  min-height: 0;
  padding: 0;
  text-align: left;
}
#basket-grid .discount-code-form::before,
#basket-grid .discount-code-form::after {
  content: none;
}
#basket-grid .discount-code-form > .checkbox {
  margin: 0;
}
#basket-grid .discount-code-form > .checkbox > label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.25;
  cursor: pointer;
}
#basket-grid .discount-code-form > .checkbox input[type="checkbox"] {
  margin: 0;
}
#basket-grid .discount-code-form .form-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 10px;
  width: auto;
  margin: 16px 0 0;
  padding: 0 6px 0 48px;
  float: none;
}
/* pastylka (tło pod polem i przyciskiem – komunikaty wychodzą pod nią) */
#basket-grid .discount-code-form .form-group::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: var(--psr-field-h);
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  transition: box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
#basket-grid .discount-code-form .form-group::after {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 20px;
  height: 20px;
  background-color: var(--psr-mint-deep);
  -webkit-mask: var(--psr-i-tag) center / contain no-repeat;
  mask: var(--psr-i-tag) center / contain no-repeat;
  pointer-events: none;
}
#basket-grid .discount-code-form .form-group:hover::before {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
#basket-grid .discount-code-form .form-group:focus-within::before {
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-mint-deep), 0 0 0 6px var(--psr-mint-20);
}
#basket-grid .discount-code-form .input-discount-code,
#basket-grid .discount-code-form .input-discount-code:is(:hover, :focus, .validationElement) {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  height: var(--psr-field-h);
  margin: 0;
  padding: 0;
  float: none;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 18px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  animation: none;
}
#basket-grid .discount-code-form .input-discount-code::placeholder {
  letter-spacing: 0;
  text-transform: none;
}
#basket-grid .discount-code-form .btn-discount-code {
  --psr-btn-h: 44px;
  --psr-btn-sole-h: 4px;
  position: relative;
  flex: none;
  width: auto;
  height: auto;
  margin: 0;
  float: none;
  translate: 0 -2px;
}
#basket-grid .discount-code-form .btn-discount-code:hover {
  translate: 0 -5px;
}
#basket-grid .discount-code-form .btn-discount-code:active {
  translate: 0 1px;
}
#basket-grid .discount-code-form .form-group > .validationMessage {
  position: relative;
  flex: 0 0 100%;
  margin: 8px 0 0 -48px;
}
/* błąd (puste „Przelicz”, „Wprowadź kod promocyjny.”): koralowa poświata + jednorazowe trzęsienie */
#basket-grid .discount-code-form .form-group:has(> .validationMessage:not(:empty):not([style*="none"]))::before,
#basket-grid .discount-code-form .form-group:has(> .input-discount-code.validationElement)::before {
  background: var(--psr-white);
  box-shadow: inset 0 0 0 2px var(--psr-coral-deep), 0 0 0 6px var(--psr-coral-20);
}
#basket-grid .discount-code-form .form-group:has(> .validationMessage:not(:empty):not([style*="none"]))::after,
#basket-grid .discount-code-form .form-group:has(> .input-discount-code.validationElement)::after {
  background-color: var(--psr-coral-deep);
}
@media (prefers-reduced-motion: no-preference) {
  #basket-grid .discount-code-form .form-group:has(> .input-discount-code.validationElement) {
    animation: psr-shake 450ms var(--psr-smooth);
  }
}
/* zastosowany kod: chip mięty głębokiej z metką (KV .ck-code-chip) – niezweryfikowane (brak prawdziwego kodu) */
#basket-grid .discount-code-form .discount-code-entered {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin-top: 14px;
  padding: 0 20px 0 16px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 17px;
  letter-spacing: 0.04em;
}
#basket-grid .discount-code-form .discount-code-entered::before {
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-tag) center / contain no-repeat;
  mask: var(--psr-i-tag) center / contain no-repeat;
}
@media (prefers-reduced-motion: no-preference) {
  #basket-grid .discount-code-form .discount-code-entered {
    animation: psr-in 450ms var(--psr-spring) both;
  }
}

/* ---------- 5. Suma i przyciski (KV B9): „Suma:” + duża kwota, główny przycisk mięty L na całą szerokość ---------- */
#basket-grid .basket-area-summary {
  margin: 0 30px;
  padding: 20px 0 30px;
  border-top: 2px solid var(--psr-stone-8);
  text-align: left;
}
#basket-grid .basket-area-summary .basket-area-summary-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 12px;
  margin: 0 0 20px;
  padding: 0;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
#basket-grid .basket-area-summary .basket-area-summary-price span {
  display: block;
  padding: 0;
  clear: none;
  color: var(--psr-night);
  font-size: 38px;
  line-height: 0.9;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}
#basket-grid .basket-area-summary form {
  display: grid;
  justify-items: center;
  gap: 18px;
}
#basket-grid .basket-area-summary form::before,
#basket-grid .basket-area-summary form::after {
  content: none;
}
#basket-grid .basket-area-summary .btn-checkout {
  --psr-btn-h: var(--psr-btn-h-l);
  --psr-btn-px: 30px;
  --psr-btn-fs: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  float: none;
}
/* „Kontynuuj zakupy” jako link KV (.btn-link): nocna mięta, strzałka, podkreślenie od lewej – bez podeszwy */
#basket-grid .basket-area-summary .btn-shopping-continue,
#basket-grid .basket-area-summary .btn-shopping-continue:is(:hover, :focus, :active) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0 0 3px;
  float: none;
  border: 0;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 8px) / 0% 2px no-repeat;
  box-shadow: none;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.3;
  translate: none;
  transition: background-size 350ms var(--psr-smooth), gap var(--psr-t-base) var(--psr-spring);
}
#basket-grid .basket-area-summary .btn-shopping-continue::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
#basket-grid .basket-area-summary .btn-shopping-continue:is(:hover, :focus-visible) {
  gap: 12px;
  background-size: 100% 2px;
}
@media (max-width: 991px) {
  #basket-grid > [data-bind="hidden: basketEmpty"] > .row {
    margin-top: 22px;
    padding: 30px 0 30px 30px;
  }
  #basket-grid .basket-area-summary {
    margin: 22px 0 0;
    padding: 30px 30px 30px 0;
    border-top: 0;
  }
}
@media (max-width: 767px) {
  #basket-grid > [data-bind="hidden: basketEmpty"] > .row {
    margin-top: 18px;
    padding: 22px 18px 18px;
  }
  #basket-grid .basket-area-summary {
    margin: 0 18px;
    padding: 18px 0 22px;
    border-top: 2px solid var(--psr-stone-8);
  }
  #basket-grid .basket-area-summary .basket-area-summary-price span {
    font-size: 34px;
  }
}

/* ---------- 6. Pusty koszyk (KV B12): karta ze sceną (liliowa scena + kudłaty pies) i tekstem platformy ---------- */
#basket-grid .basket-area-empty {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
  padding: 8px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
/* scena: liliowy głęboki, jaśniejsza plama, limonkowa iskierka */
#basket-grid .basket-area-empty::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  min-height: 320px;
  border-radius: var(--psr-radius-tile);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d9e249' d='M12 1.5c.7 4.6 2.6 7.6 8.9 10.5-6.3 2.9-8.2 5.9-8.9 10.5-.7-4.6-2.6-7.6-8.9-10.5C9.4 9.1 11.3 6.1 12 1.5Z'/%3E%3C/svg%3E") 12% 20% / 26px 26px no-repeat,
    radial-gradient(circle at 88% 104%, rgba(255, 255, 255, 0.14) 0 38%, transparent 38.3%),
    var(--psr-lilac-deep);
}
/* wycinek psa: biały obrys 6 px (4× drop-shadow, bez cienia), dół przycięty równo ze sceną */
#basket-grid .basket-area-empty::after {
  content: "";
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  justify-self: center;
  width: min(80%, 300px);
  height: min(92%, 300px);
  margin-left: 18%;
  background: url("../img/psr-pies-kudlaty-v1.png") center bottom / contain no-repeat;
  filter: drop-shadow(6px 0 0 #fff) drop-shadow(-6px 0 0 #fff) drop-shadow(0 6px 0 #fff) drop-shadow(0 -6px 0 #fff);
  clip-path: inset(-20px -20px 0 -20px);
  transform-origin: 50% 100%;
  transition: scale 500ms var(--psr-spring), rotate 500ms var(--psr-spring);
  pointer-events: none;
}
#basket-grid .basket-area-empty:hover::after {
  scale: 1.04;
  rotate: -2deg;
}
#basket-grid .basket-area-empty p {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 22px;
  margin: 0;
  padding: 30px 30px 32px;
  color: var(--psr-night);
  font-size: var(--psr-fs-h2);
  line-height: 1.02;
  text-transform: uppercase;
}
#basket-grid .basket-area-empty a {
  --psr-btn-bg: var(--psr-mint-deep);
  --psr-btn-sole: var(--psr-sole-mint);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: auto;
  margin: 0;
  text-transform: none;
}
#basket-grid .basket-area-empty a::before {
  content: "";
  display: block;
  flex: none;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-paw) center / contain no-repeat;
  mask: var(--psr-i-paw) center / contain no-repeat;
}
#basket-grid .basket-area-empty a::after {
  content: none;
}
@media (max-width: 767px) {
  #basket-grid .basket-area-empty {
    grid-template-columns: minmax(0, 1fr);
  }
  #basket-grid .basket-area-empty::before {
    min-height: 220px;
  }
  #basket-grid .basket-area-empty::after {
    height: 206px;
    width: 72%;
  }
  #basket-grid .basket-area-empty p {
    grid-column: 1;
    grid-row: 2;
    gap: 18px;
    padding: 18px 16px 20px;
    font-size: 28px;
  }
}


/* ---------- 7. /Order – wybór: zaloguj / zarejestruj / bez rejestracji (kafle KV A9: mięta 8, kafel ikony .icon-tile) ----------
   Kafel = ::before (kolor), ikona = ::after (maska) – oba w tym samym polu siatki. */
#basket-grid .basket-user-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0;
  padding: 0 0 20px;
}
#basket-grid .basket-user-actions::before,
#basket-grid .basket-user-actions::after {
  content: none;
}
#basket-grid .basket-user-actions > div {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: "tile" "title" "btn";
  justify-items: center;
  align-items: start;
  row-gap: 18px;
  width: auto;
  min-height: 0;
  padding: 30px 26px;
  float: none;
  border-radius: var(--psr-radius-note);
  background: var(--psr-mint-8);
  text-align: center;
}
#basket-grid .basket-user-actions > div::before {
  content: "";
  grid-area: tile;
  width: 56px;
  height: 56px;
  border-radius: 20px;
  background: var(--psr-mint-deep);
  transition: rotate var(--psr-t-base) var(--psr-spring);
}
#basket-grid .basket-user-actions > div::after {
  content: "";
  grid-area: tile;
  align-self: center;
  width: 26px;
  height: 26px;
  background-color: var(--psr-white);
  -webkit-mask: var(--psr-i-user) center / contain no-repeat;
  mask: var(--psr-i-user) center / contain no-repeat;
  transition: rotate var(--psr-t-base) var(--psr-spring);
}
#basket-grid .basket-user-actions > div:hover::before,
#basket-grid .basket-user-actions > div:hover::after {
  rotate: -8deg;
}
#basket-grid .basket-user-actions .basket-user-register::before {
  background: var(--psr-lilac-deep);
}
#basket-grid .basket-user-actions .basket-user-register::after {
  -webkit-mask-image: var(--psr-i-heart);
  mask-image: var(--psr-i-heart);
}
/* najszybsza ścieżka: kafel limonkowy, ikona nocną miętą (na limonce zawsze nocna mięta) */
#basket-grid .basket-user-actions .basket-user-order-proceed::before {
  background: var(--psr-lime);
}
#basket-grid .basket-user-actions .basket-user-order-proceed::after {
  background-color: var(--psr-night);
  -webkit-mask-image: var(--psr-i-cart);
  mask-image: var(--psr-i-cart);
}
#basket-grid .basket-user-actions > div h4 {
  grid-area: title;
  margin: 0;
  padding: 0;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.2;
}
#basket-grid .basket-user-actions > div button {
  grid-area: btn;
  min-width: 190px;
  width: auto;
  margin: 0;
}
@media (max-width: 991px) {
  #basket-grid .basket-user-actions {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  #basket-grid .basket-user-actions > div {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    grid-template-rows: auto;
    grid-template-areas: "tile title btn";
    justify-items: start;
    align-items: center;
    column-gap: 18px;
    padding: 18px 20px;
    text-align: left;
  }
  #basket-grid .basket-user-actions > div::after {
    justify-self: center;
  }
  #basket-grid .basket-user-actions > div h4 {
    font-size: 20px;
  }
}
@media (max-width: 560px) {
  #basket-grid .basket-user-actions > div {
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-areas: "tile title" "btn btn";
    row-gap: 14px;
    padding: 18px;
  }
  #basket-grid .basket-user-actions > div::before {
    width: 48px;
    height: 48px;
    border-radius: 17px;
  }
  #basket-grid .basket-user-actions > div::after {
    width: 22px;
    height: 22px;
  }
  #basket-grid .basket-user-actions > div button {
    width: 100%;
  }
}

/* ---------- 8. /Order/ShippingData – dane zamówienia (KV B10): biała karta, pola nad etykietami w siatce 12 kolumn ---------- */
#shippingData .checkout-shipping-form {
  padding: 30px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
#shippingData .checkout-user-data,
#shippingData #invoiceDataDiv {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 20px 22px;
  padding: 0;
}
#shippingData .checkout-user-data > .basket-order-title {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  padding: 0;
  color: var(--psr-night);
  font-size: 28px;
  line-height: 1.1;
  text-transform: uppercase;
}
#shippingData .form-group {
  grid-column: span 6;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}
#shippingData .form-group:not(.checkbox):not(:has(> input[type="radio"])) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  row-gap: 8px;
  align-content: start;
}
#shippingData .form-group > label {
  grid-row: 1;
  display: block;
  width: auto;
  margin: 0;
}
#shippingData .form-group > input[type="text"] {
  grid-row: 2;
  grid-column: 1;
  width: 100%;
  margin: 0;
  float: none;
}
#shippingData .form-group > .validationMessage {
  grid-row: 3;
  margin: 0;
}
#shippingData .form-group:has(> #ContactData_Address_City) { grid-column: span 8; }
#shippingData .form-group:has(> #ContactData_Address_PostCode) { grid-column: span 4; }
#shippingData .form-group:has(> #ContactData_Address_StreetNumber),
#shippingData .form-group:has(> #ContactData_Address_LocalNumber) { grid-column: span 3; }
#shippingData .form-group:has(> #InvoiceData_Address_PostCode) { grid-column: span 4; }
#shippingData .form-group:has(> #InvoiceData_Address_Street) { grid-column: span 8; }
/* błąd pola: kółko koralowe z „!” w polu (KV .field-mark), pole z miejscem na kółko */
#shippingData .form-group > input[type="text"].validationElement {
  padding-right: 58px;
}
#shippingData .form-group:has(> input[type="text"].validationElement)::after {
  content: "";
  grid-row: 2;
  grid-column: 1;
  justify-self: end;
  align-self: center;
  width: 30px;
  height: 30px;
  margin-right: 14px;
  border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 6.5v7'/%3E%3Cpath d='M12 17.6h.01'/%3E%3C/svg%3E") center / 18px 18px no-repeat, var(--psr-coral-deep);
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  #shippingData .form-group:has(> input[type="text"].validationElement)::after {
    animation: psr-bubble-in 450ms var(--psr-spring);
  }
}
/* etykieta pola nieaktywnego (faktura: „Przenieś dane adresowe”) – szara jak w KV */
#shippingData .form-group:has(> input:disabled) > label {
  color: var(--psr-muted);
}
/* faktura: przełącznik KV .switch na „Chcę otrzymać fakturę” */
#shippingData #invoiceForm {
  margin-top: 26px;
  padding: 24px 0 0;
  border-top: 2px solid var(--psr-stone-8);
}
#shippingData .form-group.checkbox {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
}
#shippingData .form-group.checkbox > label {
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.3;
  cursor: pointer;
}
#shippingData #UseInvoiceData {
  position: relative;
  width: 58px;
  height: 34px;
  margin: 0;
  border-radius: 99px;
  background: var(--psr-switch-off);
  background-image: none;
  box-shadow: none;
  animation: none;
  transition: background-color var(--psr-t-base) ease, box-shadow var(--psr-t-base) ease;
}
#shippingData #UseInvoiceData::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--psr-white);
  transition: translate 500ms var(--psr-spring), scale var(--psr-t-base) var(--psr-spring);
}
#shippingData #UseInvoiceData:checked {
  background: var(--psr-mint-deep);
}
#shippingData #UseInvoiceData:checked::before {
  translate: 24px 0;
}
#shippingData #UseInvoiceData:active::before {
  scale: 1.2 0.9;
}
#shippingData #UseInvoiceData:focus-visible {
  outline: none;
  box-shadow: 0 0 0 6px var(--psr-mint-20);
}
/* bez JS (knockout nie działa) serwer oddaje cały panel faktury i obie wersje danych (firma i osoba) naraz –
   pokazujemy je wg stanu natywnego przełącznika i radia (formularz bez JS wysyła się zwykłym POST-em).
   Z JS knockout robi dokładnie to samo (visible: shouldShowInvoicePart / isCompany / isNaturalPerson), więc
   reguły nigdy nie przeczą platformie; bez !important. */
#shippingData #invoiceForm:has(#UseInvoiceData:not(:checked)) #invoiceDataDiv,
#shippingData #invoiceDataDiv:has(#InvoiceUserType_Company:checked) .form-group:has(> #InvoiceData_Name, > #InvoiceData_LastName),
#shippingData #invoiceDataDiv:has(#InvoiceUserType_NaturalPerson:checked) .form-group:has(> #InvoiceData_CompanyName, > #InvoiceData_Nip) {
  display: none;
}
/* panel faktury (odsłaniany przez platformę): pole mięta 8 */
#shippingData #invoiceDataDiv {
  margin-top: 20px;
  padding: 22px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
}
#shippingData #invoiceDataDiv input[type="text"]:not(:focus):not(.validationElement):not(:disabled) {
  background-color: var(--psr-white);
}
/* Firma / Osoba fizyczna → przełącznik segmentowy KV A5 (dwa sąsiednie .form-group = dwie połówki pastylki) */
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]) {
  position: relative;
  grid-column: span 3;
  display: block;
  padding: 5px 0 5px 5px;
  border-radius: 999px 0 0 999px;
  background: var(--psr-mint-20);
}
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]) + .form-group:has(> input[type="radio"]) {
  margin-left: -22px;
  padding: 5px 5px 5px 0;
  border-radius: 0 999px 999px 0;
}
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]) > label {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border-radius: var(--psr-radius-pill);
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color var(--psr-t-base) ease, color var(--psr-t-base) ease;
}
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]:checked) > label {
  background: var(--psr-mint-deep);
  color: var(--psr-white);
}
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]:not(:checked):hover) > label {
  background: var(--psr-mint-40);
}
#shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]:focus-visible) > label {
  outline: 3px solid var(--psr-focus);
  outline-offset: 2px;
}
/* radio niewidoczne, ale rozciągnięte na całą połówkę – klik w dowolne miejsce wybiera opcję, fokus z klawiatury zostaje */
#shippingData #invoiceDataDiv .form-group > input[type="radio"] {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  margin: 0;
  float: none;
  border-radius: inherit;
  opacity: 0;
  cursor: pointer;
}
#shippingData #invoiceDataDiv .form-group:has(> #InvoiceData_CompanyName),
#shippingData #invoiceDataDiv .form-group:has(> #InvoiceData_Name),
#shippingData #invoiceDataDiv .form-group:has(> #InvoiceData_PhoneNumber) {
  grid-column: 1 / span 6;
}
/* stopka kroku: „Dalej” (mięta L ze strzałką) z prawej, „Wstecz” jako link KV ze strzałką w lewo */
#shippingData .basket-area-footer {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin-top: 28px;
  padding: 24px 0 0;
  border-top: 2px solid var(--psr-stone-8);
}
#shippingData .basket-area-footer::before,
#shippingData .basket-area-footer::after {
  content: none;
}
#shippingData .basket-area-footer .btn-checkout {
  --psr-btn-h: var(--psr-btn-h-l);
  --psr-btn-px: 34px;
  --psr-btn-fs: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 220px;
  width: auto;
  margin: 0;
  float: none;
}
#shippingData .basket-area-footer .btn-checkout::after {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
#shippingData .basket-area-footer .btn-return,
#shippingData .basket-area-footer .btn-return:is(:hover, :focus, :active) {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0 0 3px;
  float: none;
  border: 0;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 26px calc(100% - 8px) / 0% 2px no-repeat;
  box-shadow: none;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.3;
  translate: none;
  transition: background-size 350ms var(--psr-smooth), gap var(--psr-t-base) var(--psr-spring);
}
#shippingData .basket-area-footer .btn-return::before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow-left) center / contain no-repeat;
  mask: var(--psr-i-arrow-left) center / contain no-repeat;
}
#shippingData .basket-area-footer .btn-return:is(:hover, :focus-visible) {
  gap: 12px;
  background-size: calc(100% - 26px) 2px;
}
@media (max-width: 767px) {
  #shippingData .checkout-shipping-form {
    padding: 22px 18px;
  }
  #shippingData .checkout-user-data,
  #shippingData #invoiceDataDiv {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }
  #shippingData .form-group,
  #shippingData .form-group:is(:has(> #ContactData_Address_City), :has(> #ContactData_Address_PostCode), :has(> #ContactData_Address_StreetNumber), :has(> #ContactData_Address_LocalNumber), :has(> #InvoiceData_Address_PostCode), :has(> #InvoiceData_Address_Street)),
  #shippingData #invoiceDataDiv .form-group:is(:has(> #InvoiceData_CompanyName), :has(> #InvoiceData_Name), :has(> #InvoiceData_PhoneNumber)) {
    grid-column: 1 / -1;
  }
  #shippingData .checkout-user-data > .basket-order-title {
    font-size: 24px;
  }
  #shippingData #invoiceDataDiv {
    padding: 18px 14px;
  }
  /* segment: dwie połówki w jednym rzędzie */
  #shippingData #invoiceDataDiv {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]) {
    grid-column: span 1;
  }
  #shippingData #invoiceDataDiv .form-group:has(> input[type="radio"]) + .form-group:has(> input[type="radio"]) {
    margin-left: 0;
  }
  #shippingData #invoiceDataDiv {
    column-gap: 0;
  }
  #shippingData .basket-area-footer {
    flex-direction: column;
    align-items: stretch;
  }
  #shippingData .basket-area-footer .btn-checkout {
    width: 100%;
  }
  #shippingData .basket-area-footer .btn-return,
  #shippingData .basket-area-footer .btn-return:is(:hover, :focus, :active) {
    align-self: center;
  }
}

/* ---------- 9. Dalsze kroki /Order/* – NIEZWERYFIKOWANE NA ŻYWO (otwierają się dopiero po wysłaniu danych adresowych).
   Selektory wyłącznie z szablonu (L1761–2105); układ ostrożny, tylko na ekranie (wydruk podsumowania zostaje z szablonu). ---------- */
@media screen {
  /* tytuły sekcji: dostawa, podsumowanie, płatność, potwierdzenie */
  .basket-area :is(.basket-order-title, .summary-data-container h4, .basket-order-completed h4, .order-payment-container h4, .basket-deliveries h4) {
    margin: 0 0 16px;
    color: var(--psr-night);
    font-size: 24px;
    line-height: 1.15;
    text-transform: uppercase;
  }
  /* dostawa: te same pola co dane zamówienia (szablon: etykieta 200 px + pole 400 px) → etykieta nad polem */
  .basket-area .checkout-deliveries .form-group {
    width: auto;
    margin: 0 0 14px;
    padding: 0;
  }
  .basket-area .checkout-deliveries .form-group label {
    display: block;
    width: auto;
  }
  .basket-area .checkout-deliveries .form-group input[type="text"],
  .basket-area .checkout-deliveries .form-group select {
    width: 100%;
    max-width: 560px;
  }
  .basket-area .checkout-deliveries .form-group .validationMessage {
    margin-left: 0;
  }
  /* kafle wyboru dostawy (KV A9): cały kafel klikalny, wybrany = wypełnienie miętą głęboką + limonkowa odznaka z ptaszkiem */
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]) {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 640px;
    min-height: 82px;
    margin: 0 0 12px;
    padding: 16px 22px 16px 80px;
    border-radius: var(--psr-radius-note);
    background: var(--psr-mint-8);
    color: var(--psr-night);
    font-size: 18px;
    line-height: 1.25;
    cursor: pointer;
    transition: background-color var(--psr-t-base) ease, color var(--psr-t-base) ease, translate var(--psr-t-base) var(--psr-spring);
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]):hover {
    background: var(--psr-mint-20);
    translate: 0 -3px;
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"])::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 50px;
    height: 50px;
    margin-top: -25px;
    border-radius: 50%;
    background: var(--psr-white);
    transition: rotate 450ms var(--psr-spring);
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]) > label {
    position: relative;
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    color: inherit;
    font-size: inherit;
    cursor: pointer;
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]) > label::before {
    content: "";
    position: absolute;
    left: -52px;
    top: 50%;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    background-color: var(--psr-mint-deep);
    -webkit-mask: var(--psr-i-box) center / contain no-repeat;
    mask: var(--psr-i-box) center / contain no-repeat;
  }
  /* ikona wg nazwy pola (nazw nie znamy – zgadujemy po fragmentach; bez trafienia zostaje neutralna paczka):
     dostawa → ciężarówka, płatność → karta, odbiór osobisty/sklep → dom */
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:is([name*="eliver" i], [id*="eliver" i], [name*="ostaw" i])) > label::before {
    -webkit-mask-image: var(--psr-i-truck);
    mask-image: var(--psr-i-truck);
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:is([name*="ayment" i], [id*="ayment" i], [name*="latno" i])) > label::before {
    -webkit-mask-image: var(--psr-i-card);
    mask-image: var(--psr-i-card);
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:is([value*="ersonal" i], [value*="klep" i], [value*="dbi" i])) > label::before {
    -webkit-mask-image: var(--psr-i-home);
    mask-image: var(--psr-i-home);
  }
  .basket-area .checkout-deliveries .form-group > input[type="radio"] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: inherit;
    opacity: 0;
    cursor: pointer;
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:checked) {
    background: var(--psr-mint-deep);
    color: var(--psr-white);
    translate: 0 0;
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:checked)::before {
    rotate: -10deg;
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:checked)::after {
    content: "";
    position: absolute;
    top: -9px;
    right: -7px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d5456' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 17px 17px no-repeat, var(--psr-lime);
  }
  .basket-area .checkout-deliveries .form-group:has(> input[type="radio"]:focus-visible) {
    outline: 3px solid var(--psr-focus);
    outline-offset: 3px;
  }
  /* punkty odbioru: biała lista z liniami kamień 8, wybrany punkt wypełniony (szablon: zieleń spoza palety) */
  .basket-area .delivery-points {
    max-width: 640px;
    margin: 10px 0 14px;
    overflow: hidden;
    border: 0;
    border-radius: var(--psr-radius-row);
    background: var(--psr-white);
    box-shadow: var(--psr-lift-sm), 0 0 0 2px var(--psr-mint-20);
  }
  .basket-area .delivery-points > div {
    padding: 12px 18px;
    border-bottom: 2px solid var(--psr-stone-8);
  }
  .basket-area .delivery-points > div:last-child {
    border-bottom: 0;
  }
  .basket-area .active-delivery-point {
    background: var(--psr-mint-deep);
    color: var(--psr-white);
  }
  .basket-area .checkout-deliveries .alert {
    width: auto;
    max-width: 640px;
  }
  .basket-area .btn-search-delivery-points {
    margin: 10px 0;
  }
  /* podsumowanie: dwie kolumny, tabele danych jak KV „tabele bez kratki” */
  .basket-area .summary-data-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin: 0 0 22px;
  }
  .basket-area .summary-data-container::before,
  .basket-area .summary-data-container::after {
    content: none;
  }
  .basket-area .summary-data-container > div {
    width: auto;
    padding: 24px;
    float: none;
    border-radius: var(--psr-radius-card);
    background: var(--psr-white);
    box-shadow: var(--psr-lift);
  }
  .basket-area .summary-data-container > div.summary-comment-form {
    grid-column: 1 / -1;
  }
  .basket-area .summary-data-container table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 0 6px;
  }
  .basket-area .summary-data-container table :is(th, td) {
    padding: 9px 14px;
    border: 0;
    background: var(--psr-mint-8);
    color: var(--psr-night);
    font-size: 16px;
  }
  .basket-area .summary-data-container table tr td:first-child {
    border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row);
    color: var(--psr-muted);
  }
  .basket-area .summary-data-container table tr td:last-child {
    border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0;
  }
  .basket-area .summary-regulations .checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 6px 0;
  }
  .basket-area .summary-agreements p {
    color: var(--psr-muted);
    font-size: 15px;
    line-height: 1.5;
  }
  /* lista pozycji w podsumowaniu i potwierdzeniu: tabela bez kratki (wiersze mięta 8) */
  .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list {
    border: 0;
    border-collapse: separate;
    border-spacing: 0 6px;
  }
  .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list th {
    padding: 4px 10px;
    color: var(--psr-muted);
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list tr {
    border: 0;
  }
  .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list td {
    background: var(--psr-mint-8);
    color: var(--psr-night);
  }
  .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list .item-image {
    max-width: 72px;
    max-height: 72px;
    mix-blend-mode: multiply;
  }
  @media (min-width: 992px) {
    .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list td:first-child {
      border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row);
    }
    .basket-area :is(.basket-order-summary, .basket-order-completed) .basket-area-items-list td:last-child {
      border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0;
    }
  }
  /* płatność i potwierdzenie: białe karty, grupy informacji jako pola mięta 8 */
  .basket-area :is(.order-payment-container, .order-completed-container-properties) {
    padding: 30px;
    border-radius: var(--psr-radius-card);
    background: var(--psr-white);
    box-shadow: var(--psr-lift);
  }
  .basket-area :is(.order-payment-info-group, .order-completed-info-group) {
    padding: 16px 20px;
    border-radius: 22px;
    background: var(--psr-mint-8);
  }
  .basket-area .order-completed-status {
    padding: 24px;
    border-radius: var(--psr-radius-tile);
    background: var(--psr-lime-20);
    color: var(--psr-night);
    font-size: 19px;
  }
  /* stopka dalszych kroków („Dalej”/„Wstecz” itp.): jak w danych zamówienia – główny z prawej, powrót z lewej
     (wygląd przycisków z fundamentu; szablon: float + clearfix) */
  .basket-area:not(#shippingData) .basket-area-footer {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
    margin-top: 24px;
    padding: 22px 0 0;
    border-top: 2px solid var(--psr-stone-8);
  }
  .basket-area:not(#shippingData) .basket-area-footer::before,
  .basket-area:not(#shippingData) .basket-area-footer::after {
    content: none;
  }
  .basket-area:not(#shippingData) .basket-area-footer :is(.btn-checkout, .btn-return) {
    width: auto;
    min-width: 0;
    margin: 0;
    float: none;
  }
  .basket-area:not(#shippingData) .basket-area-footer .btn-checkout {
    --psr-btn-h: var(--psr-btn-h-l);
    --psr-btn-px: 34px;
    --psr-btn-fs: 20px;
  }
  @media (max-width: 767px) {
    .basket-area:not(#shippingData) .basket-area-footer {
      flex-direction: column;
      align-items: stretch;
    }
  }
  @media (max-width: 991px) {
    .basket-area .summary-data-container {
      grid-template-columns: minmax(0, 1fr);
    }
  }
}

/* ----- 60-okna.css ----- */
/* ==========================================================================
   60-okna.css – OKNA: modale Bootstrap 3 renderowane przez ModalService (wszystkie szablony knockout),
   powiadomienia bootstrap-notify (#alertTemplate), pasek ciasteczek #_popup.cookies, ładowanie #spin/#overlay.
   Wzorzec: KV „Pop-upy z wyczuciem” (Okno, Wskoczyło do koszyka, Potwierdzenie, Zgoda na cookies,
   Ładowanie) + „Komunikaty” (A11) i „Toast” (A12/C8).

   Wszystko to leży poza #wrapper (koniec <body>), więc kotwice są klasowe: .modal …, body > [data-notify], #_popup.
   Szablon: modale L1055–1256 (najwyżej (0,3,0)), .alert L2163–2230 (0,2,0), .cookies L1308–1350 (0,1,1),
   galeria L4945–4990 (0,3,0) + max-height obrazka z !important, wyniki L5023–5046, jednostki L3730–3748.
   Przyciski (kolor, podeszwa, ruch) robi fundament (02-przyciski.css) – tu tylko układ, rola w oknie
   i to, czego fundament nie obejmuje (krzyżyk, link „Zamknij”, a.modal-to-basket, strzałki galerii).
   :has() tylko jako dodatek: szerokość i układ potwierdzenia/błędu, „Anuluj” w wyborze wariantu, położenie okna zgód
   przy dole ekranu i przyciski widoku ustawień zgód – bez :has() zostaje zwykły układ okna (nic się nie psuje).
   !important tylko przeciw stylom inline (bootstrap-notify, szablon zgód) i !important platformy
   (szablon L4948, /Content/consentMode.css) – opisane przy regułach.
   Od 24.09.2026 sklep ma włączone zaawansowane zgody (cookiePolicyAdvanced) – zamiast paska #_popup pokazuje
   okno #privacyAndCookiePolicy (sekcja 6.10); styl paska #_popup (sekcja 8) zostaje na wypadek powrotu do starego trybu.
   ========================================================================== */

/* ---------- 1. Tło: nocna mięta 55% (szablon: czarne 50%) ---------- */
.modal-backdrop {
  background-color: var(--psr-night);
}
.modal-backdrop.fade {
  transition: opacity var(--psr-t-base) ease;
}
.modal-backdrop.in {
  opacity: 0.55;
}

/* ---------- 2. Okno: rama, wejście, wyjście ----------
   .modal ma inline display:block (Bootstrap) – nie centrujemy flexem na .modal. Zamiast tego .modal-dialog
   jest kolumną na całą wysokość okna przeglądarki z oknem pośrodku (klik obok okna trafia w .modal
   dzięki pointer-events – zamykanie tłem w galerii i podglądzie zdjęcia działa jak dotąd). */
.modal.fade {
  transition: opacity 200ms ease;       /* szablon: .15 s; Bootstrap chowa okno po pierwszym transitionend (≤ 300 ms) */
}
.modal .modal-dialog {
  display: flex;
  align-items: center;
  width: min(var(--psr-okna-w, 560px), 100% - 32px);   /* szablony zmieniają tylko --psr-okna-w (telefon: 100%) */
  min-height: calc(100% - 48px);
  margin: 24px auto;
  pointer-events: none;
}
.modal .modal-dialog.modal-sm {
  --psr-okna-w: 440px;
}
/* wejście KV ov-pop: 560 ms sprężyna z .86 / 28 px; wyjście 200 ms (dłuższe utnie Bootstrap) */
.modal.fade .modal-dialog {
  transform: none;
  opacity: 0;
  scale: 0.86;
  translate: 0 28px;
  transition: opacity 200ms ease-in, scale 200ms ease-in, translate 200ms ease-in;
}
.modal.fade.in .modal-dialog {
  transform: none;
  opacity: 1;
  scale: 1;
  translate: 0 0;
  transition: opacity var(--psr-t-base) ease, scale 560ms var(--psr-spring), translate 560ms var(--psr-spring);
}
/* panel: biały, r 32, cień okna; długa treść przewija się w .modal-body (nagłówek i przyciski zostają widoczne) */
.modal .modal-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-dialog);
  color: var(--psr-ink);
  overflow: hidden;
  pointer-events: auto;
}

/* ---------- 3. Nagłówek, tytuł, krzyżyk ---------- */
.modal .modal-header {
  position: relative;
  flex: none;
  min-height: 0;
  padding: 28px 80px 10px 30px;
  border: 0;
}
.modal .modal-header :is(h3, h4) {
  position: relative;
  margin: 0;
  color: var(--psr-night);
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.modal .modal-dialog.modal-sm .modal-header :is(h3, h4) {
  font-size: 26px;
}
/* akcent .lc (gdyby skrypt owinął ostatnie słowo tytułu – jak w nagłówkach widgetów) */
.modal .modal-header .lc {
  text-transform: lowercase;
}
/* tytuł z ikoną w kole (KV .ov-ok 48 px): koło = ::before, ikona = ::after (maska, kolor --psr-okna-ikona-kolor) */
.modal .modal-header :is(h3, h4):is(
  [data-bind="text:header"], [data-bind="html:productName"], .widget-header-header),
.modal .modal-added-product .modal-header h3,
.modal.additional-units-modal .modal-header h3,
.modal .modal-letter-of-enquiry .modal-header h4,
.modal #privacyAndCookiePolicy .modal-header h3 {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 48px;
}
.modal .modal-header :is(h3, h4):is(
  [data-bind="text:header"], [data-bind="html:productName"], .widget-header-header)::before,
.modal .modal-added-product .modal-header h3::before,
.modal.additional-units-modal .modal-header h3::before,
.modal .modal-letter-of-enquiry .modal-header h4::before,
.modal #privacyAndCookiePolicy .modal-header h3::before {
  content: "";
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--psr-okna-kolo, var(--psr-mint-20));
}
.modal .modal-header :is(h3, h4):is(
  [data-bind="text:header"], [data-bind="html:productName"], .widget-header-header)::after,
.modal .modal-added-product .modal-header h3::after,
.modal.additional-units-modal .modal-header h3::after,
.modal .modal-letter-of-enquiry .modal-header h4::after,
.modal #privacyAndCookiePolicy .modal-header h3::after {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  background-color: var(--psr-okna-ikona-kolor, var(--psr-night));
  -webkit-mask: var(--psr-okna-ikona, var(--psr-i-info)) center / contain no-repeat;
  mask: var(--psr-okna-ikona, var(--psr-i-info)) center / contain no-repeat;
}
/* krzyżyk KV .ov-x: koło 44 px mięta 20, × nocna mięta; najechanie: nocna mięta, biały ×, obrót 90° */
.modal .modal-header .close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  display: block;
  width: 44px;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-mint-20);
  box-shadow: none;
  color: var(--psr-night);
  font-size: 0;
  line-height: 0;
  opacity: 1;
  text-shadow: none;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease, rotate var(--psr-t-base) var(--psr-spring);
}
.modal .modal-header .close::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-close-gruba) center / contain no-repeat;
  mask: var(--psr-i-close-gruba) center / contain no-repeat;
}
.modal .modal-header .close:focus {
  background: var(--psr-mint-20);
  color: var(--psr-night);
}
.modal .modal-header .close:hover {
  background: var(--psr-night);
  color: var(--psr-white);
  rotate: 90deg;
}
.modal .modal-header .close:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 3px;
}

/* ---------- 4. Treść i przyciski ---------- */
.modal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px 30px 20px;
  overflow-y: auto;
  overscroll-behavior: contain;
  font-size: 17px;
  line-height: 1.55;
}
.modal .modal-body .product-name {
  color: var(--psr-night);
}
.modal .modal-footer {
  flex: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 20px;
  padding: 6px 30px 30px;
  border: 0;
  text-align: left;
}
.modal .modal-footer::before, .modal .modal-footer::after {
  content: none;                        /* clearfix szablonu (L761) przeszkadza flexowi */
}
.modal .modal-footer > button {
  min-width: 0;
  margin: 0;
}
/* jedyny przycisk („Zamknij” w informacji / błędzie) = główna akcja okna: nocna mięta */
.modal:not([role="dialog"]) .modal-footer > .btn-close-modal:only-child {
  --psr-btn-bg: var(--psr-night);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-night);
}
/* „Zamknij”/„Anuluj” obok głównego przycisku (i w oknach zdjęć, wyników) = link KV .btn-link po lewej
   (KV „Wracam na zakupy”): nocna mięta, podkreślenie rośnie od lewej; pole dotyku 44 px */
.modal .modal-footer > .btn-close-modal:not(:only-child),
.modal .modal-footer > .btn-close-modal:not(:only-child):is(:hover, :focus, :active),
.modal[role="dialog"] .modal-footer > .btn-close-modal,
.modal[role="dialog"] .modal-footer > .btn-close-modal:is(:hover, :focus, :active) {
  min-height: 44px;
  margin-right: auto;
  padding: 0 2px;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / var(--psr-okna-podkreslenie, 0%) 2px no-repeat;
  box-shadow: none;
  color: var(--psr-night);
  font-size: 18px;
  translate: none;
  transition: background-size 350ms var(--psr-smooth);
}
.modal .modal-footer > .btn-close-modal:not(:only-child):is(:hover, :focus-visible),
.modal[role="dialog"] .modal-footer > .btn-close-modal:is(:hover, :focus-visible) {
  --psr-okna-podkreslenie: 100%;
}
.modal[role="dialog"] .modal-footer {
  justify-content: center;
}
.modal[role="dialog"] .modal-footer > .btn-close-modal {
  margin-inline: auto;
}

/* ---------- 5. Telefon (≤ 560 px, jak KV): arkusz wysuwany od dołu, zaokrąglona góra ---------- */
@media (max-width: 560px) {
  .modal .modal-dialog {
    align-items: flex-end;
    width: 100%;
    min-height: 100%;
    margin: 0;
  }
  .modal .modal-content {
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: var(--psr-radius-card) var(--psr-radius-card) 0 0;
  }
  .modal.fade .modal-dialog {
    opacity: 1;
    scale: 1;
    translate: 0 100%;
    transition: translate 240ms ease-in;
  }
  .modal.fade.in .modal-dialog {
    translate: 0 0;
    transition: translate 480ms var(--psr-smooth);
  }
  .modal .modal-header {
    padding: 24px 72px 8px 20px;
  }
  .modal .modal-header .close {
    top: 16px;
    right: 16px;
  }
  .modal .modal-header :is(h3, h4), .modal .modal-dialog.modal-sm .modal-header :is(h3, h4) {
    font-size: 26px;
  }
  .modal .modal-body {
    padding: 8px 20px 16px;
    font-size: 16px;
  }
  /* przyciski: główny na całą szerokość na górze, link pod nim (KV ≤ 440: column-reverse) */
  .modal .modal-footer {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 6px;
    padding: 4px 20px calc(20px + env(safe-area-inset-bottom, 0px));
  }
  .modal .modal-footer > button {
    width: 100%;
  }
  .modal .modal-footer > .btn-close-modal:not(:only-child),
  .modal[role="dialog"] .modal-footer > .btn-close-modal {
    align-self: center;
    width: auto;
    margin: 0;
  }
}

/* ---------- 6. Szablony ---------- */

/* 6.1 Informacja (#informationTemplate, .modal-sm): liliowe koło z „i” */
.modal .modal-dialog.modal-sm .modal-header h3[data-bind="text:header"] {
  --psr-okna-kolo: var(--psr-lilac-20);
  --psr-okna-ikona-kolor: var(--psr-lilac-deep);
  --psr-okna-ikona: var(--psr-i-info);
}

/* 6.2 Ostrzeżenie / błąd (#errorMessageTemplate, #confirmationTemplate – oba z tytułem „Ostrzeżenie”):
   małe koralowe koło z trójkątem (koral tylko na małym elemencie), tytuł i tekst na środku jak KV „Potwierdzenie” */
.modal .modal-dialog:not(.modal-sm) .modal-header h3[data-bind="text:header"] {
  --psr-okna-kolo: var(--psr-coral-deep);
  --psr-okna-ikona-kolor: var(--psr-white);
  --psr-okna-ikona: var(--psr-i-alert);
  flex-direction: column;
  gap: 14px;
  margin-left: 50px;                    /* nagłówek ma 80 px z prawej na krzyżyk – tytuł wyśrodkowany w oknie */
  text-align: center;
}
.modal .modal-dialog:not(.modal-sm) .modal-header h3[data-bind="text:header"]::after {
  top: 12px;
  left: calc(50% - 12px);
  margin-top: 0;
}
.modal.in .modal-dialog:not(.modal-sm) .modal-header h3[data-bind="text:header"]::before,
.modal.in .modal-dialog:not(.modal-sm) .modal-header h3[data-bind="text:header"]::after {
  animation: psr-bump 600ms var(--psr-spring) 260ms both;
}
.modal .modal-dialog:not(.modal-sm) .modal-body > :is(span[data-bind="html: message"], div[data-bind="html:content"]) {
  display: block;
  margin-inline: auto;
  text-align: center;
}
.modal .modal-dialog:not(.modal-sm):has(.modal-header h3[data-bind="text:header"]) {
  --psr-okna-w: 440px;
}
.modal .modal-content:has(> .modal-header h3[data-bind="text:header"]) .modal-header {
  padding-top: 34px;
}
/* błąd: jeden przycisk „Zamknij” na środku */
.modal .modal-content:has(> .modal-body > span[data-bind="html: message"]) .modal-footer {
  justify-content: center;
}
/* potwierdzenie (Nie / Tak): dwa przyciski 50/50 jak KV – bezpieczne „Nie” w mięcie głębokiej, „Tak” nocna mięta */
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) > button {
  width: 100%;
  padding-inline: 14px;
}
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) > .btn-close-modal,
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) > .btn-close-modal:is(:hover, :focus, :active) {
  --psr-btn-bg: var(--psr-mint-deep);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-mint);
  min-height: var(--psr-btn-h, 52px);
  margin: 0;
  padding: 10px 14px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-btn-bg);
  box-shadow: 0 4px 0 var(--psr-btn-sole);
  color: var(--psr-btn-fg);
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) > .btn-close-modal:hover {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-btn-sole);
}
.modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) > .btn-close-modal:active {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-btn-sole);
}
@media (max-width: 300px) {
  .modal .modal-footer:has(> .btn-primary:not(.btn-units-add-to-cart)) {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* 6.3 „Dodano produkt” (#productAddedToBasketTemplate – dziś nieużywany, sklep pokazuje powiadomienie):
   KV „Wskoczyło do koszyka!” – limonkowe koło z ptaszkiem (podskok po otwarciu), link do koszyka jako przycisk */
.modal .modal-added-product .modal-header h3 {
  --psr-okna-kolo: var(--psr-lime);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-check-gruba);
}
.modal.in .modal-added-product .modal-header h3::before,
.modal.in .modal-added-product .modal-header h3::after {
  animation: psr-bump 600ms var(--psr-spring) 220ms both;
}
.modal .modal-added-product .modal-body a.modal-to-basket {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  margin-top: 16px;
  padding: 10px 26px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-deep);
  box-shadow: 0 4px 0 var(--psr-sole-mint);
  color: var(--psr-white);
  font-size: 18px;
  line-height: 1.1;
  text-decoration: none;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
.modal .modal-added-product .modal-body a.modal-to-basket::after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
.modal .modal-added-product .modal-body a.modal-to-basket:is(:hover, :focus) {
  color: var(--psr-white);
  text-decoration: none;
}
.modal .modal-added-product .modal-body a.modal-to-basket:hover {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-sole-mint);
}
.modal .modal-added-product .modal-body a.modal-to-basket:active {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-sole-mint);
}
.modal .modal-added-product .modal-footer > .btn-close-modal:only-child,
.modal .modal-added-product .modal-footer > .btn-close-modal:only-child:is(:hover, :focus, :active) {
  min-height: 44px;
  padding: 0 2px;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / var(--psr-okna-podkreslenie, 0%) 2px no-repeat;
  box-shadow: none;
  color: var(--psr-night);
  translate: none;
  transition: background-size 350ms var(--psr-smooth);
}
.modal .modal-added-product .modal-footer > .btn-close-modal:only-child:is(:hover, :focus-visible) {
  --psr-okna-podkreslenie: 100%;
}
@media (max-width: 560px) {
  .modal .modal-added-product .modal-body a.modal-to-basket {
    display: flex;
    justify-content: center;
  }
  .modal .modal-added-product .modal-footer > .btn-close-modal:only-child {
    align-self: center;
    width: auto;
  }
}

/* 6.4 Zapytanie o produkt (#sendLetterOfEnquiryModalTemplate): liliowe koło z kopertą (jak przycisk „Zapytaj”),
   „Zapytanie ofertowe” jako tytuł, nazwa produktu pod nim drobniej; pola i zgoda = fundament */
.modal .modal-letter-of-enquiry .modal-header h4 {
  --psr-okna-kolo: var(--psr-lilac-deep);
  --psr-okna-ikona-kolor: var(--psr-white);
  --psr-okna-ikona: var(--psr-i-mail);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 6px;
  align-items: center;
}
.modal .modal-letter-of-enquiry .modal-header h4::before {
  grid-row: 1 / span 2;
  align-self: center;
}
.modal .modal-letter-of-enquiry .modal-header h4 > strong {
  grid-column: 2;
}
.modal .modal-letter-of-enquiry .modal-header h4 > br {
  display: none;
}
.modal .modal-letter-of-enquiry .modal-header h4 > .product-name {
  grid-column: 2;
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
.modal .modal-letter-of-enquiry .modal-body .form-group {
  margin: 0 0 12px;
}
.modal .modal-letter-of-enquiry .modal-body .form-group > label {
  display: block;
  margin: 0 0 6px;
}
.modal .modal-letter-of-enquiry .modal-body :is(input[type="text"], textarea) {
  display: block;
  width: 100%;
  margin: 0;
}
.modal .modal-letter-of-enquiry .modal-body .consent {
  margin-top: 4px;
}
@media (max-width: 560px) {
  .modal .modal-letter-of-enquiry .modal-body textarea {
    min-height: 120px;
  }
}

/* 6.5 Podgląd zdjęcia (#imagePopupTemplate: .modal[role=dialog] bez klasy okna) – zdjęcie na kamieniu 8 jak KV,
   nagłówek tylko z krzyżykiem; szablon powtarza podpis 2× (błąd platformy) – drugi chowamy */
.modal[role="dialog"] .modal-dialog:not(.modal-gallery-image, .modal-search-results) .modal-header {
  min-height: 80px;
  padding: 0;
}
.modal[role="dialog"] .modal-dialog:not(.modal-gallery-image, .modal-search-results) .modal-body > div:first-child {
  display: grid;
  place-items: center;
  padding: 20px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-stone-8);
}
.modal[role="dialog"] .modal-dialog:not(.modal-gallery-image, .modal-search-results) .modal-body img {
  max-height: 64vh;
  mix-blend-mode: multiply;
}
.modal[role="dialog"] .modal-body > div[style*="text-align"] {
  margin-top: 12px;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.35;
}
.modal[role="dialog"] .modal-body > div[style*="text-align"] + div[style*="text-align"] {
  display: none;
}

/* 6.6 Galeria (#galleryImagePopupTemplate, klik w zdjęcie produktu): szersze okno, licznik jako pastylka,
   zdjęcie na kamieniu 8, strzałki = okrągłe białe przyciski KV z podeszwą (szablon: białe prostokąty 45×90, 30% krycia) */
.modal .modal-dialog.modal-gallery-image {
  --psr-okna-w: 760px;
}
.modal .modal-gallery-image .modal-header {
  display: flex;
  align-items: center;
  min-height: 80px;
  padding: 18px 76px 8px 24px;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 32px;
}
/* „1 / 5” to trzy osobne <span> – razem tworzą jedną pastylkę mięta 20 */
.modal .modal-gallery-image .modal-header > span {
  padding: 0 2px;
  background: var(--psr-mint-20);
}
.modal .modal-gallery-image .modal-header > span:first-of-type {
  padding-left: 14px;
  border-radius: var(--psr-radius-pill) 0 0 var(--psr-radius-pill);
}
.modal .modal-gallery-image .modal-header > span:last-of-type {
  padding-right: 14px;
  border-radius: 0 var(--psr-radius-pill) var(--psr-radius-pill) 0;
}
.modal .modal-gallery-image .modal-body {
  position: relative;
  padding: 4px 24px 12px;
}
.modal .modal-gallery-image .modal-body .img-box {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 24px 84px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-stone-8);
}
/* szablon (L4948): max-height 75vh !important + inline max-height z knockout (połowa wysokości strony) –
   !important, żeby zdjęcie z nagłówkiem i przyciskiem mieściło się w oknie bez przewijania */
.modal .modal-gallery-image .modal-body .img-box img {
  width: auto;
  max-width: 100%;
  max-height: min(62vh, 100vh - 300px) !important;
  max-height: min(62dvh, 100dvh - 300px) !important;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.modal .modal-gallery-image .modal-body > :is(.left, .right),
.modal .modal-gallery-image .modal-body > :is(.left, .right):hover {
  opacity: 1;
}
.modal .modal-gallery-image .modal-body > :is(.left, .right) .arrow {
  top: 50%;
  width: 52px;
  height: 52px;
  margin-top: -26px;
  border-radius: 50%;
  background: var(--psr-white) none;
  box-shadow: 0 4px 0 var(--psr-sole-white);
  cursor: pointer;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
.modal .modal-gallery-image .modal-body > .left .arrow {
  left: 40px;
}
.modal .modal-gallery-image .modal-body > .right .arrow {
  right: 40px;
}
.modal .modal-gallery-image .modal-body > :is(.left, .right) .arrow::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 22px;
  height: 22px;
  margin: auto;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
}
.modal .modal-gallery-image .modal-body > .left .arrow::before {
  -webkit-mask-image: var(--psr-i-arrow-left);
  mask-image: var(--psr-i-arrow-left);
}
.modal .modal-gallery-image .modal-body > :is(.left, .right):hover .arrow {
  translate: 0 -3px;
  box-shadow: 0 7px 0 var(--psr-sole-white);
}
.modal .modal-gallery-image .modal-body > :is(.left, .right):active .arrow {
  translate: 0 3px;
  box-shadow: 0 1px 0 var(--psr-sole-white);
}
@media (max-width: 560px) {
  .modal .modal-gallery-image .modal-header {
    min-height: 76px;
    padding: 16px 72px 6px 20px;
  }
  .modal .modal-gallery-image .modal-body {
    padding: 4px 16px 10px;
  }
  .modal .modal-gallery-image .modal-body .img-box {
    min-height: 220px;
    padding: 16px 16px 76px;          /* strzałki schodzą pod zdjęcie, nie zasłaniają produktu */
  }
  .modal .modal-gallery-image .modal-body .img-box img {
    max-height: min(52vh, 100vh - 330px) !important;   /* jak wyżej – przebija !important szablonu */
    max-height: min(52dvh, 100dvh - 330px) !important;
  }
  .modal .modal-gallery-image .modal-body > :is(.left, .right) .arrow {
    top: auto;
    bottom: 26px;
    margin-top: 0;
  }
  .modal .modal-gallery-image .modal-body > .left .arrow {
    left: calc(50% - 64px);
  }
  .modal .modal-gallery-image .modal-body > .right .arrow {
    right: calc(50% - 64px);
  }
}

/* 6.7 Jednostka produktu (#additionalUnitsModalTemplate, .additional-units-modal .modal-sm):
   select + licznik + symbol w jednym rzędzie (szablon: pływające kolumny i licznik 37 px na 100% szerokości) */
.modal.additional-units-modal .modal-header h3 {
  --psr-okna-kolo: var(--psr-mint-deep);
  --psr-okna-ikona-kolor: var(--psr-white);
  --psr-okna-ikona: var(--psr-i-cart);
}
.modal.additional-units-modal .modal-body .form-group.row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px;
  margin: 0;
}
.modal.additional-units-modal .modal-body .form-group.row::before,
.modal.additional-units-modal .modal-body .form-group.row::after {
  content: none;
}
.modal.additional-units-modal .modal-body .form-group.row > [class*="col-"] {
  float: none;
  width: auto;
  min-height: 0;
  padding: 0;
}
.modal.additional-units-modal .modal-body .form-group.row > .col-sm-6 {
  flex: 1 1 100%;
}
.modal.additional-units-modal .modal-body select {
  width: 100%;
  margin: 0;
}
.modal.additional-units-modal .modal-body .quantity-change {
  width: fit-content;
  height: auto;
  margin: 0;
}
.modal.additional-units-modal .modal-body .unit-symbol {
  display: block;
  margin: 0;
  color: var(--psr-muted);
  font-size: 16px;
  line-height: 1.2;
  text-align: left;
}

/* 6.8 Wybór wariantu (#selectVariantTemplate): etykieta nad polem (KV A1) zamiast dwóch kolumn,
   „Wyczyść wybrane” jako drobny link pod polami, licznik ilości do lewej */
.modal .modal-header h3[data-bind="html:productName"] {
  --psr-okna-kolo: var(--psr-mint-deep);
  --psr-okna-ikona-kolor: var(--psr-white);
  --psr-okna-ikona: var(--psr-i-cart);
  font-size: 26px;
}
.modal .modal-body .product-details-filters-container {
  margin: 0;
}
.modal .modal-body .product-details-filters-container .form-group {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
}
.modal .modal-body .product-details-filters-container .form-group::before,
.modal .modal-body .product-details-filters-container .form-group::after {
  content: none;
}
.modal .modal-body .product-details-filters-container .form-group > [class*="col-"] {
  float: none;
  width: auto;
  min-height: 0;
  padding: 0;
}
.modal .modal-body .product-details-filters-container .control-label {
  padding: 0 6px;
  text-align: left;
}
/* pusta etykieta (&nbsp;) nad „Wyczyść wybrane” */
.modal .modal-body .product-details-filters-container .form-group > label:not(.control-label) {
  display: none;
}
.modal .modal-body .product-details-filters-container .form-group > label:not(.control-label) + .variant-filter-value {
  margin-top: -6px;
  text-align: right;
}
.modal .modal-body .product-details-filters-container .variant-filter-value > a[href="#"] {
  color: var(--psr-mint-deep);
  font-size: 15px;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
.modal .modal-body .product-details-filters-container .variant-filter-value > a[href="#"]:hover {
  color: var(--psr-night);
}
.modal .modal-body .product-details-filters-container select {
  width: 100%;
  margin: 0;
}
.modal .modal-body .product-details-filters-container .quantity-change {
  margin: 0;
}
/* „Anuluj” przed wyborem wariantu jest jedynym przyciskiem – zostaje linkiem (główna akcja pojawia się po wyborze) */
.modal .modal-content:has(.product-details-filters-container) .modal-footer > .btn-close-modal:only-child,
.modal .modal-content:has(.product-details-filters-container) .modal-footer > .btn-close-modal:only-child:is(:hover, :focus, :active) {
  min-height: 44px;
  padding: 0 2px;
  border-radius: 0;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 9px) / var(--psr-okna-podkreslenie, 0%) 2px no-repeat;
  box-shadow: none;
  color: var(--psr-night);
  translate: none;
}
.modal .modal-content:has(.product-details-filters-container) .modal-footer > .btn-close-modal:only-child:is(:hover, :focus-visible) {
  --psr-okna-podkreslenie: 100%;
}

/* 6.9 Wyniki wyszukiwania w treściach (#searchResultsTemplate; max-height .modal-body liczy JS – zostaje) */
.modal .modal-dialog.modal-search-results {
  --psr-okna-w: 640px;
}
.modal .modal-search-results .modal-header h4.widget-header-header {
  --psr-okna-kolo: var(--psr-mint-20);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-search);
}
.modal .modal-search-results .modal-header .clearfix {
  display: none;
}
.modal .modal-search-results .search-result-item {
  padding: 0 0 10px;
}
.modal .modal-search-results .search-result-item:last-child {
  padding-bottom: 0;
}
.modal .modal-search-results .search-result-item .search-result-item-title {
  display: block;
  padding: 14px 20px 15px;
  border-radius: 22px;
  background: var(--psr-stone-8);
  color: var(--psr-ink);
  text-decoration: none;
  transition: background-color var(--psr-t-fast) ease;
}
.modal .modal-search-results .search-result-item .search-result-item-title > span {
  display: block;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.25;
}
.modal .modal-search-results .search-result-item .search-result-item-title > p {
  margin: 4px 0 0;
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.45;
}
.modal .modal-search-results .search-result-item .search-result-item-title:is(:hover, :focus) {
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  text-decoration: none;
}
.modal .modal-search-results .search-result-item .search-result-item-title:is(:hover, :focus) > span {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}
.modal .modal-search-results .search-result-item .search-result-item-title:is(:hover, :focus) > p {
  color: var(--psr-ink);
}

/* 6.10 Zgody na ciasteczka (#cookiePolicyAdvancedTemplate → .modal-content#privacyAndCookiePolicy; włączone w sklepie
   ustawieniem cookiePolicyAdvanced – pokazuje się każdemu przy pierwszej wizycie, bez krzyżyka, tło bez zamykania)
   → KV „Zgoda na cookies”: szerokie okno przy dole ekranu, limonkowe koło z ciasteczkiem, tekst w kolumnie obok,
   przyciski o tej samej wadze (nocna mięta, równe kolumny), ustawienia jako kafle mięta 8 z przełącznikiem KV (A7).
   Arkusz platformy /Content/consentMode.css ładuje się PO szablonie i ma !important (13 px, pogrubienia 600/700) –
   przebijamy go wyższą specyficznością (.modal #privacyAndCookiePolicy …) i !important tylko tam, gdzie on go ma. */
.modal .modal-dialog:has(> #privacyAndCookiePolicy) {
  --psr-okna-w: 940px;
  align-items: flex-end;
  min-height: calc(100% - 40px);
  margin: 20px auto;
}
.modal #privacyAndCookiePolicy .modal-header {
  padding: 26px 28px 6px 26px;
}
.modal #privacyAndCookiePolicy .modal-header h3 {
  --psr-okna-kolo: var(--psr-lime);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-cookie);
  gap: 18px;
  min-height: 60px;
  font-size: 28px;
}
.modal #privacyAndCookiePolicy .modal-header h3::before {
  width: 60px;
  height: 60px;
  rotate: -10deg;
}
.modal #privacyAndCookiePolicy .modal-header h3::after {
  left: 14px;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  rotate: -10deg;
}
.modal #privacyAndCookiePolicy .modal-body {
  padding: 4px 28px 14px 104px;         /* tekst w kolumnie pod tytułem (26 + koło 60 + 18) jak w KV */
}
.modal #privacyAndCookiePolicy .containerC-information.content {
  padding: 0;
  color: var(--psr-ink);
  font-size: 15.5px !important;         /* consentMode.css: 13 px !important */
  line-height: 1.5;
}
.modal #privacyAndCookiePolicy .content .description {
  margin: 0 0 8px;
  padding: 0;
  border: 0;
}
.modal #privacyAndCookiePolicy .content .description strong {
  color: var(--psr-night);
}
.modal #privacyAndCookiePolicy .content .description_additional {
  margin: 0;
  padding: 0;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.5;
}
.modal #privacyAndCookiePolicy .privacy-policy-link {
  display: inline-block;
  margin-top: 4px;
  color: var(--psr-mint-deep);
  font-size: 15.5px !important;         /* consentMode.css: 13 px !important */
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}
.modal #privacyAndCookiePolicy .privacy-policy-link:hover {
  color: var(--psr-night);
}
/* ustawienia: bez drugiego paska przewijania (przewija się całe .modal-body) */
.modal #privacyAndCookiePolicy .containerC-settings {
  display: grid !important;             /* inline style="display:block" z szablonu platformy */
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 10px;
  max-height: none;
  margin: 16px 0 0;
  padding: 0;
  overflow: visible;
}
.modal #privacyAndCookiePolicy .settings_item,
.modal #privacyAndCookiePolicy .settings_item.opened {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 14px;
  padding: 14px 16px 15px 16px;
  border-radius: 22px;
  background: var(--psr-mint-8);
  overflow: visible;
  font-size: 15px !important;           /* consentMode.css: 13 px !important */
  line-height: 1.45;
}
.modal #privacyAndCookiePolicy .settings_item-label {
  grid-column: 1;
  grid-row: 1;
  float: none;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: none;
  color: var(--psr-night);
  font-weight: 400 !important;          /* consentMode.css: 700 !important – MrDodo ma tylko Regular */
}
.modal #privacyAndCookiePolicy .settings_item-label svg {
  flex: none;
  margin: 0;
  fill: var(--psr-mint-deep);
}
.modal #privacyAndCookiePolicy .settings_item-label label {
  margin: 0;
  padding: 0;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.3;
  cursor: pointer;
}
.modal #privacyAndCookiePolicy .settings_item-description {
  grid-column: 1 / -1;
  overflow: visible;
}
.modal #privacyAndCookiePolicy .settings_item-description p {
  margin: 6px 0 0 24px;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.45;
}
/* przełącznik KV A7: tor 58 × 34 (szary → mięta głęboka), gałka 26 px, sprężyna 500 ms, „spłaszczenie” przy wciśnięciu */
.modal #privacyAndCookiePolicy .settings_item-checkbox {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  top: auto;
  right: auto;
  width: 58px;
  height: 34px;
  margin: 0;
}
.modal #privacyAndCookiePolicy .settings_item-checkbox input {
  position: absolute;
  margin: 0;
}
.modal #privacyAndCookiePolicy .slider {
  border-radius: var(--psr-radius-pill);
  background-color: var(--psr-switch-off);
  transition: background-color var(--psr-t-base) ease, box-shadow var(--psr-t-base) ease;
}
.modal #privacyAndCookiePolicy .slider::before {
  left: 4px;
  bottom: 4px;
  width: 26px;
  height: 26px;
  background-color: var(--psr-white);
  transition: transform 500ms var(--psr-spring), scale var(--psr-t-base) var(--psr-spring);
}
.modal #privacyAndCookiePolicy input:checked + .slider {
  background-color: var(--psr-mint-deep);
}
.modal #privacyAndCookiePolicy input:checked + .slider::before {
  transform: translateX(24px);
}
.modal #privacyAndCookiePolicy input:disabled + .slider {
  opacity: 0.55;
  cursor: default;
}
.modal #privacyAndCookiePolicy input:focus-visible + .slider {
  box-shadow: 0 0 0 6px var(--psr-mint-20);
}
.modal #privacyAndCookiePolicy .settings_item-checkbox:active .slider::before {
  scale: 1.2 0.9;
}
/* przyciski: równe kolumny, wszystkie nocna mięta (fundament); consentMode.css daje marginesy, 600 !important i transition .3 s */
.modal #privacyAndCookiePolicy .modal-footer {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 10px 28px 26px 104px;
  border: 0;
  overflow: visible;
}
.modal #privacyAndCookiePolicy .modal-footer > button {
  width: 100%;
  margin: 0;
  padding: 10px 16px;
  font-weight: 400 !important;          /* consentMode.css: 600 !important */
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
@media (max-width: 700px) {
  .modal #privacyAndCookiePolicy .containerC-settings {
    grid-template-columns: minmax(0, 1fr);
  }
  .modal #privacyAndCookiePolicy .modal-footer {
    grid-auto-flow: row;
  }
}
@media (max-width: 560px) {
  .modal .modal-dialog:has(> #privacyAndCookiePolicy) {
    min-height: 100%;
    margin: 0;
  }
  .modal #privacyAndCookiePolicy .modal-header {
    padding: 22px 20px 6px;
  }
  .modal #privacyAndCookiePolicy .modal-header h3 {
    gap: 14px;
    min-height: 48px;
    font-size: 24px;
  }
  .modal #privacyAndCookiePolicy .modal-header h3::before {
    width: 48px;
    height: 48px;
  }
  .modal #privacyAndCookiePolicy .modal-header h3::after {
    left: 11px;
    width: 26px;
    height: 26px;
    margin-top: -13px;
  }
  .modal #privacyAndCookiePolicy .modal-body {
    padding: 6px 20px 10px;
  }
  .modal #privacyAndCookiePolicy .containerC-information.content,
  .modal #privacyAndCookiePolicy .privacy-policy-link {
    font-size: 14.5px !important;       /* jak wyżej – consentMode.css ma 13 px !important */
  }
  .modal #privacyAndCookiePolicy .content .description_additional {
    font-size: 13.5px;
  }
  .modal #privacyAndCookiePolicy .modal-footer {
    gap: 10px;
    padding: 6px 20px calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .modal #privacyAndCookiePolicy .modal-footer > button {
    --psr-btn-h: 48px;
    --psr-btn-fs: 17px;
  }
  /* widok ustawień: „Ukryj ustawienia” i „Zapisz wybór” obok siebie, „Akceptuję wszystkie” pod nimi (bez :has() – trzy w kolumnie) */
  .modal #privacyAndCookiePolicy .modal-footer:has(> .accept_settings_button) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .modal #privacyAndCookiePolicy .modal-footer:has(> .accept_settings_button) > .accept_all_settings_button {
    grid-column: 1 / -1;
  }
  .modal #privacyAndCookiePolicy .modal-footer:has(> .accept_settings_button) > button {
    padding-inline: 10px;
  }
}

/* ---------- 7. Powiadomienia bootstrap-notify (#alertTemplate: „dodano do koszyka”, próg rabatu, kod rabatowy)
   KV „Komunikaty” (A11): pastylka w pełnym kolorze, białe koło 46 px z ikoną w kolorze komunikatu, tekst biały
   (na limonce nocna mięta). Płaskie – bez cienia (kolorowe pole). Pozycja, margines, display i transition są
   inline (bootstrap-notify) – układ robimy bez nich: ikona absolutnie, szerokość z left/right.
   Stos powiadomień (inline top: 10 px, 10 + wysokość + 10 …) zostaje; cały stos przesuwamy w dół (translate),
   żeby nie zasłaniał nagłówka z koszykiem – pod rząd akcji nagłówka albo pod przypiętą belkę (--psr-naglowek-lepki-h
   z 10-naglowek.css; klasa html.psr-nag-lepki od skryptu paska górnego). ---------- */
body > [data-notify="container"].alert.notify {
  --psr-focus: var(--psr-okna-tekst, var(--psr-white));
  box-sizing: border-box;
  width: min(420px, 100vw - 20px);
  min-height: 70px;
  padding: 14px 58px 14px 70px;
  border: 0;
  border-radius: 35px;
  background: var(--psr-okna-kolor, var(--psr-mint-deep));
  box-shadow: none;
  color: var(--psr-okna-tekst, var(--psr-white));
  font-size: 16px;
  line-height: 1.4;
  text-align: left;
  translate: 0 190px;                   /* komputer, nagłówek u góry strony: pod menu (koszyk kończy się ok. 111 px, menu 189 px) */
}
html.psr-nag-lepki body > [data-notify="container"].alert.notify {
  translate: 0 calc(var(--psr-naglowek-lepki-h, 80px) - 6px);   /* pod przypiętą pastylką menu z koszykiem */
}
/* koło (białe; w toaście limonkowe) + ikona w kolorze komunikatu */
body > [data-notify="container"].alert.notify::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 46px;
  height: 46px;
  margin-top: -23px;
  border-radius: 50%;
  background: var(--psr-okna-kolo, var(--psr-white));
}
body > [data-notify="container"].alert.notify::after {
  content: "";
  position: absolute;
  left: 24px;
  top: 50%;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  background-color: var(--psr-okna-ikona-kolor, var(--psr-okna-kolor, var(--psr-mint-deep)));
  -webkit-mask: var(--psr-okna-ikona, var(--psr-i-check-gruba)) center / contain no-repeat;
  mask: var(--psr-okna-ikona, var(--psr-i-check-gruba)) center / contain no-repeat;
}
body > [data-notify="container"].alert.notify [data-notify="message"] {
  display: block;
}
body > [data-notify="container"].alert.notify .product-name {
  color: inherit;
}
/* warianty (tylko zmienne): sukces / „dodano do koszyka” = KV „Toast” (nocna mięta, limonkowe koło z ptaszkiem –
   odcina się od miętowej sceny i od białej strony, 8,5 : 1); informacja = liliowy; ostrzeżenie i próg rabatu = limonka
   z nocną miętą; błąd = koral głęboki (jedyny komunikat z koralowym tłem – zasada marki) */
body > [data-notify="container"].notify.alert-success {
  --psr-okna-kolor: var(--psr-night);
  --psr-okna-kolo: var(--psr-lime);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-check-gruba);
}
body > [data-notify="container"].notify.alert-info {
  --psr-okna-kolor: var(--psr-lilac-deep);
  --psr-okna-ikona: var(--psr-i-info);
}
body > [data-notify="container"].notify.alert-warning {
  --psr-okna-kolor: var(--psr-lime);
  --psr-okna-tekst: var(--psr-night);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-alert);
}
body > [data-notify="container"].notify.alert-discount-level {
  --psr-okna-kolo: var(--psr-white);
  --psr-okna-kolor: var(--psr-lime);
  --psr-okna-tekst: var(--psr-night);
  --psr-okna-ikona-kolor: var(--psr-night);
  --psr-okna-ikona: var(--psr-i-info);
}
body > [data-notify="container"].notify.alert-danger {
  --psr-okna-kolor: var(--psr-coral-deep);
  --psr-okna-ikona: var(--psr-i-alert);
}
/* zamknięcie: koło 34 px w odcieniu tekstu; top jest inline (5 px) – !important, żeby wyśrodkować w pastylce */
body > [data-notify="container"].alert.notify > .close {
  top: 50% !important;
  width: 34px;
  height: 34px;
  margin: -17px 0 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, currentColor 16%, transparent);
  color: inherit;
  font-size: 0;
  line-height: 0;
  opacity: 1;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, rotate var(--psr-t-base) var(--psr-spring);
}
body > [data-notify="container"].alert.notify > .close::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background-color: currentColor;
  -webkit-mask: var(--psr-i-close-gruba) center / contain no-repeat;
  mask: var(--psr-i-close-gruba) center / contain no-repeat;
}
body > [data-notify="container"].alert.notify > .close:hover {
  background: color-mix(in srgb, currentColor 30%, transparent);
  rotate: 90deg;
}
body > [data-notify="container"].alert.notify > .close:focus-visible {
  outline: 3px solid var(--psr-focus);
  outline-offset: 2px;
}
/* wejście / wyjście: szablon ma animate.css (fadeInDown 1 s, fadeOutRight) na transform – podmieniamy nazwę i czas
   na sprężyste KV (pop 520 ms, wyjście 240 ms); własne klatki na transform, bo translate przesuwa stos */
body > [data-notify="container"].notify.animated {
  animation-duration: 520ms;
  animation-timing-function: var(--psr-spring);
}
body > [data-notify="container"].notify.animated.fadeInDown {
  animation-name: psr-okna-dymek-in;
}
body > [data-notify="container"].notify.animated.fadeOutRight {
  animation-name: psr-okna-dymek-out;
  animation-duration: 240ms;
  animation-timing-function: ease-in;
}
@keyframes psr-okna-dymek-in {
  from { opacity: 0; transform: translateY(-16px) scale(0.9); }
  to { opacity: 1; transform: none; }
}
@keyframes psr-okna-dymek-out {
  to { opacity: 0; transform: translateX(28px) scale(0.96); }
}
/* telefon: na całą szerokość (left + inline right 10 px), pod rzędem menu | znak | konto | koszyk i szukajką,
   a po przewinięciu pod białą belką 64 px – nie zasłania nagłówka ani koszyka */
@media (max-width: 767px) {
  body > [data-notify="container"].alert.notify {
    left: 10px;
    width: auto;
    min-height: 62px;
    padding: 11px 52px 11px 64px;
    border-radius: 28px;
    font-size: 15px;
    translate: 0 142px;
  }
  html.psr-nag-lepki body > [data-notify="container"].alert.notify {
    translate: 0 calc(var(--psr-naglowek-lepki-h, 64px) - 2px);
  }
  body > [data-notify="container"].alert.notify::before {
    left: 10px;
    width: 42px;
    height: 42px;
    margin-top: -21px;
  }
  body > [data-notify="container"].alert.notify::after {
    left: 21px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
  }
  body > [data-notify="container"].alert.notify > .close {
    width: 32px;
    height: 32px;
    margin-top: -16px;
  }
}

/* ---------- 8. Pasek ciasteczek #_popup.cookies → KV „Zgoda na cookies”: biała karta r 32 unosząca się nad dołem ekranu,
   limonkowe koło z ciasteczkiem (−10°), tekst 15,5 px, przyciski o równej wadze (nocna mięta).
   Mechanizm (SetCookie, link do /Home/Cookies) i tekst platformy bez zmian; bez skryptu wygląda tak samo. ---------- */
#_popup.cookies {
  left: 16px;
  right: 16px;
  bottom: 16px;
  display: grid;
  grid-template-columns: 60px auto auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 14px;
  width: auto;
  max-width: 940px;
  margin: 0 auto;
  padding: 24px 28px 26px 24px;
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  /* biała karta na białej stronie – cień okna + delikatny cień otoczenia, żeby karta odcinała się od treści */
  box-shadow: var(--psr-lift-dialog), 0 10px 40px -18px rgba(18, 63, 64, 0.28);
  color: var(--psr-ink);
  text-align: left;
}
#_popup.cookies::before, #_popup.cookies::after {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  justify-self: center;
  rotate: -10deg;
}
#_popup.cookies::before {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--psr-lime);
}
#_popup.cookies::after {
  width: 32px;
  height: 32px;
  margin-top: 14px;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-cookie) center / contain no-repeat;
  mask: var(--psr-i-cookie) center / contain no-repeat;
}
#_popup.cookies > p {
  grid-column: 2 / -1;
  grid-row: 1;
  margin: 0;
  padding-left: 6px;
  color: var(--psr-ink);
  font-size: 15.5px;
  line-height: 1.5;
}
#_popup.cookies > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0;
}
#_popup.cookies > .btn-accept {
  grid-column: 2;
  grid-row: 2;
  margin-left: 6px;
}
#_popup.cookies > .btn-properties {
  grid-column: 3;
  grid-row: 2;
}
/* KV: decyzje o tej samej wadze – „Chcę dowiedzieć się więcej” też nocna mięta (fundament: biały) */
#_popup.cookies > .btn-properties {
  --psr-btn-bg: var(--psr-night);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-night);
}
@media (max-width: 767px) {
  #_popup.cookies {
    grid-template-columns: 60px minmax(0, 1fr);
    row-gap: 10px;
  }
  #_popup.cookies::before, #_popup.cookies::after {
    grid-row: 1 / span 3;
  }
  #_popup.cookies > :is(.btn-accept, .btn-properties) {
    grid-column: 2;
    justify-self: start;
    margin-left: 6px;
  }
  #_popup.cookies > .btn-properties {
    grid-row: 3;
  }
}
/* telefon: arkusz od dołu na całą szerokość; ikona 48 px obok tekstu, przyciski pod spodem na całą szerokość */
@media (max-width: 560px) {
  #_popup.cookies {
    left: 0;
    right: 0;
    bottom: 0;
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 14px;
    padding: 20px 20px calc(18px + env(safe-area-inset-bottom, 0px));
    border-radius: var(--psr-radius-card) var(--psr-radius-card) 0 0;
  }
  #_popup.cookies::before, #_popup.cookies::after {
    grid-row: 1;
  }
  #_popup.cookies::before {
    width: 48px;
    height: 48px;
  }
  #_popup.cookies::after {
    width: 26px;
    height: 26px;
    margin-top: 11px;
  }
  #_popup.cookies > p {
    padding-left: 0;
    font-size: 14.5px;
    line-height: 1.45;
  }
  #_popup.cookies > :is(.btn-accept, .btn-properties) {
    grid-column: 1 / -1;
    justify-self: stretch;
    margin-left: 0;
    --psr-btn-h: 48px;
    --psr-btn-fs: 17px;
  }
}

/* ---------- 9. Ładowanie (#overlay + spin.js przy każdym AJAX): zamiast 11 kropek – ślad trzech łapek KV
   (jak przycisk „w trakcie”) na białym kole. #overlay: inline visibility/opacity (.5) zostają. ---------- */
#overlay {
  background-color: var(--psr-white);
}
#spin .spinner > div {
  display: none;                        /* kropki spin.js (kolor z !important szablonu i bundla – nie walczymy, chowamy) */
}
#spin .spinner::before {
  content: "";
  position: absolute;
  left: -46px;
  top: -46px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
#spin .spinner::after {
  content: "";
  position: absolute;
  left: -32px;
  top: -12px;
  width: 64px;
  height: 24px;
  background-color: var(--psr-mint-deep);
  -webkit-mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  transform: scale(1.5);                /* łapki 27 px – klatki psr-lapki mają maski 18 px */
  animation: psr-lapki 1.5s step-end infinite;
}

/* ---------- 10. Ograniczony ruch: globalny wyłącznik (01-baza) gasi animacje i przejścia; tu tylko to,
   czego wyłącznik nie obejmuje – obrót krzyżyka i stany początkowe (okno od razu na miejscu). ---------- */
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog, .modal.fade.in .modal-dialog {
    scale: 1;
    translate: 0 0;
  }
  .modal .modal-header .close:hover, body > [data-notify="container"].alert.notify > .close:hover {
    rotate: 0deg;
  }
}

/* ----- 70-stopka.css ----- */
/* ==========================================================================
   70-stopka.css – STOPKA: sekcja nocnej mięty jak KV „Stopka” (.foot) z falą biel → noc na górze
   i sznaucerem zaglądającym zza fali (KV .wave-peek), 4 kolumny (menu Zakupy / Kontakt / Konto + blok VET
   u5eZHVcA6EuUy7bNFeeGsg), pas płatności (.gray-container + blok Ok20vYmHRkqcaSkuGXH12w), dolny pasek
   (.blue-container + bloki Vb2143h0bEeJ5xgo4fsGeQ i 7iJTQ_1WmESo2IoCcw_ikA) ze znakiem KV (biały),
   pasek platformy .insert-vendero-footer (poza #wrapper: „Witryna stworzona na platformie” + link DSA).

   Bez zmian w blokach – teksty, linki i elementy prawne (VET, DSA, .powered-by) zostają widoczne.
   Kotwica: [id="wrapper"] > footer (0,1,1) – tylko stopka sklepu (nie <footer> w treści bloków), bez podbijania id.
   Reguły szablonu, które przebijamy: menu stopki L3911–3940 (do (0,5,3)), L1367, L2230–2350 (.blue/.gray-container,
   .pay-methods) oraz <style> z bloków stopki (w <body>, czyli PÓŹNIEJ niż szablon: .vet (0,1,0), .pay-methods img (0,1,1)).

   Warstwy (footer = isolation: isolate):
   – footer::before  = sznaucer (z-index 0) – dół schowany pod tłem stopki,
   – footer::after   = fala nocnej mięty (z-index 1) – przesuwa się jak w KV,
   – .container-fluid = tło nocnej mięty i cała treść (z-index 1).
   Nad falą zostaje biały pas (--psr-stopka-strefa) na głowę psa – pies nigdy nie zasłania treści strony.
   ========================================================================== */

[id="wrapper"] > footer {
  --psr-stopka-pies-w: clamp(112px, 11vw, 160px);          /* KV .peek-pet */
  /* biały pas nad falą: głowa psa (0,97 szer.) + zapas na unoszenie (9 px), minus wysokość fali */
  --psr-stopka-strefa: max(24px, calc(var(--psr-stopka-pies-w) * 0.97 + 12px - var(--psr-fala-h)));
  --psr-stopka-w: 1140px;                                  /* szerokość treści = .container szablonu bez paddingu */
  --psr-stopka-bok: max(16px, calc((100% - var(--psr-stopka-w)) / 2));
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-lift: var(--psr-lift-night);
  --psr-lift-sm: var(--psr-lift-sm-night);
  --psr-stopka-tekst: rgba(255, 255, 255, 0.8);           /* drobny tekst na nocy: 7,1:1 */
  --psr-stopka-linia: rgba(255, 255, 255, 0.14);
  position: relative;
  z-index: 0;
  isolation: isolate;
  margin-top: clamp(8px, 1.4vw, 20px);                    /* biały pas nad falą i tak daje oddech */
  padding-top: calc(var(--psr-stopka-strefa) + var(--psr-fala-h));
  background: none;
  color: var(--psr-white);
}

/* ---------- 1. Sznaucer zaglądający zza fali (KV .peek-pet: right 14%, obrót 4°, unoszenie 6 s, biały obrys 6 px) ----------
   clearfix szablonu (L1301: footer::before/::after { content:" "; display:table }) – nadpisujemy. */
[id="wrapper"] > footer::before {
  content: "";
  position: absolute;
  z-index: 0;
  right: 14%;
  /* górna krawędź psa 0,97 szer. nad dołem fali (jak w KV); dół wycinka ~0,26 szer. pod górą tła – zawsze schowany */
  top: calc(var(--psr-stopka-strefa) + var(--psr-fala-h) - var(--psr-stopka-pies-w) * 0.97);
  display: block;
  width: var(--psr-stopka-pies-w);
  aspect-ratio: 530 / 654;
  background: url("../img/psr-sznaucer-v2.png") 50% 0 / 100% auto no-repeat;
  /* biały obrys wycinka bez cienia – jak .psr-wycinek (--psr-obrys 6 px) */
  filter: drop-shadow(6px 0 0 var(--psr-white)) drop-shadow(-6px 0 0 var(--psr-white))
    drop-shadow(0 6px 0 var(--psr-white)) drop-shadow(0 -6px 0 var(--psr-white));
  rotate: 4deg;
  pointer-events: none;
  animation: psr-float-y 6s ease-in-out infinite;
}

/* ---------- 2. Fala biel → nocna mięta nad stopką (KV .wave: clamp(40px,5vw,70px), przesuw 18 s) ---------- */
[id="wrapper"] > footer::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: var(--psr-stopka-strefa);
  display: block;
  height: calc(var(--psr-fala-h) + 1px);                  /* +1 px zakładki na tło – bez szczeliny przy skalowaniu */
  clear: none;
  background: var(--psr-night);
  -webkit-mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  mask: var(--psr-svg-fala) repeat-x 0 100% / 720px 100%;
  pointer-events: none;
  animation: psr-fala 18s linear infinite;
}

/* ---------- 3. Tło i szkielet ---------- */
[id="wrapper"] > footer > .container-fluid {
  position: relative;
  z-index: 1;
  padding: clamp(14px, 2vw, 26px) 0 0;
  background: var(--psr-night);
}
[id="wrapper"] > footer > .container-fluid > .row {
  margin: 0;
}
[id="wrapper"] > footer .widget {
  padding: 0;
}
/* nagłówki kolumn: etykieta KV – wersaliki, limonka na nocy (6,1:1), rozstrzelone */
[id="wrapper"] > footer .widget .widget-header {
  margin: 0 0 14px;
  color: var(--psr-lime);
  text-transform: uppercase;
  word-wrap: normal;
}
[id="wrapper"] > footer .widget .widget-header h4 {
  padding: 0;
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0.12em;
}
/* skrypt globalny owija ostatnie słowo nagłówka w .lc – w stopce bez zmiany wielkości liter i koloru */
[id="wrapper"] > footer .widget-header .lc {
  color: inherit;
  text-transform: inherit;
}

/* ---------- 4. Rząd kolumn: Zakupy | Kontakt | Konto | VET ---------- */
[id="wrapper"] > footer > .container-fluid > .row > .container > .row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr);
  gap: 28px clamp(20px, 3vw, 44px);
  margin: 0;
}
[id="wrapper"] > footer > .container-fluid > .row > .container > .row::before,
[id="wrapper"] > footer > .container-fluid > .row > .container > .row::after {
  content: none;
}
[id="wrapper"] > footer > .container-fluid > .row > .container > .row > [class*="col-"] {
  float: none;
  width: auto;
  min-width: 0;
  padding: 0;
}

/* menu kolumn (menu platformy – zawsze rozwinięte: L3918 display:block !important – zostaje) */
[id="wrapper"] > footer .main-menu .widget-content .navbar-toggle {
  display: none;
}
[id="wrapper"] > footer .main-menu .nav-collapse .nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  background: none;
  font-size: 16px;
}
[id="wrapper"] > footer .main-menu .nav-collapse .nav::before,
[id="wrapper"] > footer .main-menu .nav-collapse .nav::after {
  content: none;
}
[id="wrapper"] > footer .main-menu .nav-collapse .nav li a {
  display: inline-block;
  padding: 4px 0;
  background: none;
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition: color var(--psr-t-fast) ease;
}
/* najechanie / fokus: limonka, bez podkreśleń (prośba właściciela 24.09.2026) */
[id="wrapper"] > footer .main-menu .nav-collapse .nav li a:is(:hover, :focus) {
  background: none;
  color: var(--psr-lime);
  text-decoration: none;
}
/* bieżąca strona – limonka (szablon: tło #4fb9bc / przezroczyste) */
[id="wrapper"] > footer .main-menu .widget-content .nav-collapse .nav li.menu-active > a {
  background: none;
  color: var(--psr-lime);
}

/* ---------- 5. Blok VET (u5eZ…): logo na białym kaflu + linki nadzoru (wymóg prawny – zawsze widoczne) ----------
   <style> bloku: .vet, .vet img { display:inline-block; max-width:180px } (0,1,0)/(0,1,1), .vet img { margin:10px }
   – przez max-width 180 px + margines logo rozpychało stronę na 768 px (kolumna 170 px). */
[id="wrapper"] > footer .custom .vet {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  max-width: 100%;
}
[id="wrapper"] > footer .custom .vet > a {
  display: block;
  flex: none;
  width: 164px;
  max-width: 100%;
  padding: 8px;
  border-radius: var(--psr-radius-sm);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
  line-height: 0;
  transition: translate var(--psr-t-fast) var(--psr-spring);
}
[id="wrapper"] > footer .custom .vet > a:hover {
  translate: 0 -3px;
}
[id="wrapper"] > footer .custom .vet img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 10px;
}
/* <center> z Worda – linki jeden pod drugim, separator „|” (tekst między linkami) wyciszony rozmiarem 0 */
[id="wrapper"] > footer .custom .vet center {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  font-size: 0;
  line-height: 1.35;
  text-align: left;
}
[id="wrapper"] > footer .custom .widget-content .vet center a {
  color: var(--psr-white);
  font-size: 15px;
  text-decoration: none;
}
[id="wrapper"] > footer .custom .widget-content .vet center a:is(:hover, :focus) {
  color: var(--psr-lime);
}

/* ---------- 6. Pas płatności (.gray-container + blok Ok20…): tekst na nocy, logotypy na białych pastylkach ----------
   <style> bloku (w <body>): .pay-methods, .pay-methods img { max-width:60px } – dlatego ≥ (0,2,x). */
[id="wrapper"] > footer .gray-container {
  clear: both;
  margin: clamp(30px, 3.4vw, 44px) 0 0;
  background: none;
  color: var(--psr-stopka-tekst);
}
[id="wrapper"] > footer .gray-container::before,
[id="wrapper"] > footer .gray-container::after {
  content: none;
}
[id="wrapper"] > footer .gray-container .row {
  margin: 0;
}
[id="wrapper"] > footer .gray-container .row::before,
[id="wrapper"] > footer .gray-container .row::after {
  content: none;
}
[id="wrapper"] > footer .gray-container .row > [class*="col-"] {
  float: none;
  width: auto;
  padding: 0;
}
[id="wrapper"] > footer .gray-container .widget-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 30px;
  padding: 18px 0 0;
  border-top: 2px solid var(--psr-stopka-linia);
}
[id="wrapper"] > footer .gray-container .pay-methods {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  font-size: 15px;
  line-height: 1.3;
}
[id="wrapper"] > footer .gray-container .pay-methods img {
  display: block;
  box-sizing: content-box;
  flex: none;
  width: auto;
  max-width: none;
  height: 24px;
  margin: 0;
  padding: 6px 14px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
[id="wrapper"] > footer .gray-container .pay-methods img[src*="PayPo" i] {
  height: 20px;
  padding-block: 8px;
}
/* logo InPost ma dużo pustego pola (słońce) – wyższe, żeby napis był tej samej wielkości co pozostałe */
[id="wrapper"] > footer .gray-container .pay-methods img[src*="inpost" i] {
  height: 30px;
  padding-block: 3px;
}

/* ---------- 7. Dolny pasek (.blue-container + bloki Vb21… i 7iJT…): znak KV | linki z kropkami | © ----------
   szablon: .blue-container { background:#65c2c4 } + float z .col-xs-12 (div jest kolumną), linki białe (0,3,1)/(0,4,1). */
[id="wrapper"] > footer .blue-container {
  float: none;
  width: auto;
  margin: 22px 0 0;
  padding: 0;
  background: none;
  color: var(--psr-white);
  font-size: 15px;
}
[id="wrapper"] > footer .blue-container::before,
[id="wrapper"] > footer .blue-container::after {
  content: none;
}
[id="wrapper"] > footer .blue-container > .row {
  margin: 0;
}
[id="wrapper"] > footer .blue-container > .row::before,
[id="wrapper"] > footer .blue-container > .row::after {
  content: none;
}
[id="wrapper"] > footer .blue-container > .row > .container > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 30px;
  margin: 0;
  padding: 20px 0 0;
  border-top: 2px solid var(--psr-stopka-linia);   /* linia na szerokość treści, jak nad płatnościami */
}
/* znak KV (biały, jednokolorowy) w miejscu clearfixa – ozdoba, bez linku (logo w nagłówku prowadzi na start) */
[id="wrapper"] > footer .blue-container > .row > .container > .row::before {
  content: "";
  display: block;
  flex: none;
  width: 176px;
  aspect-ratio: 500 / 150;
  background: var(--psr-svg-znak-bialy) 0 50% / contain no-repeat;
}
[id="wrapper"] > footer .blue-container > .row > .container > .row::after {
  content: none;
}
[id="wrapper"] > footer .blue-container > .row > .container > .row > [class*="col-"] {
  float: none;
  width: auto;
  padding: 0;
}
[id="wrapper"] > footer .blue-container > .row > .container > .row > [class*="col-"]:first-child {
  flex: 1 1 auto;
}
/* linki (Regulamin | Polityka prywatności): KV .foot-meta – kropki limonki, link biały z limonkowym podkreśleniem;
   separator „|” (tekst bloku) wyciszony rozmiarem 0 – kropki przejmują jego rolę */
[id="wrapper"] > footer [id="Vb2143h0bEeJ5xgo4fsGeQ"] .widget-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 24px;
  font-size: 0;
  line-height: 1.4;
}
[id="wrapper"] > footer .blue-container .custom .widget-content a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--psr-white);
  font-size: 15px;
  text-decoration: none;   /* bez podkreśleń – kropka limonki wystarcza (prośba właściciela) */
}
[id="wrapper"] > footer .blue-container .custom .widget-content a::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--psr-lime);
}
[id="wrapper"] > footer .blue-container .custom .widget-content a:is(:hover, :focus) {
  color: var(--psr-lime);
  text-decoration: none;
}
/* © PET SHOP RUMIA – inline text-align:right zostaje (desktop); na telefonie !important niżej */
[id="wrapper"] > footer [id="7iJTQ_1WmESo2IoCcw_ikA"] .widget-content {
  color: var(--psr-stopka-tekst);
  font-size: 15px;
  letter-spacing: 0.06em;
}

/* ---------- 8. Pasek platformy (.insert-vendero-footer, poza #wrapper) – przedłużenie nocnej stopki ----------
   bundle platformy: .powered-by (0,1,0) – Tahoma 11 px, szare logo PNG z prawej; .insert-dsa-link (0,2,0) – absolutnie
   w prawym rogu (na telefonie nachodził na „Witryna stworzona…”). Oba elementy zostają widoczne. */
body > .insert-vendero-footer {
  --psr-focus: var(--psr-white);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin: 0;
  /* boki = krawędź treści .container (1140 / 940 / 720 px) */
  padding: 22px max(16px, calc((100% - 1140px) / 2)) calc(30px + env(safe-area-inset-bottom, 0px));
  background: var(--psr-night);
  color: var(--psr-white);
}
/* „Witryna stworzona na platformie [logo vendero]” – szare logo PNG na białej pastylce (na nocy byłoby niewidoczne) */
body > .insert-vendero-footer .powered-by {
  position: relative;
  z-index: auto;
  order: 2;
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 7px 112px 7px 16px;
  border-radius: var(--psr-radius-pill);
  background-color: var(--psr-white);
  background-position: right 16px center;
  box-shadow: var(--psr-lift-sm-night);
  color: var(--psr-muted);
  font-family: var(--psr-font);
  font-size: 13px;
  line-height: 20px;
}
body > .insert-vendero-footer .powered-by:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: none;
}
/* „Zgłoś treść niezgodną z prawem” (DSA) – biały link z limonkowym podkreśleniem, w przepływie */
body > .insert-vendero-footer .insert-dsa-link {
  position: static;
  z-index: auto;
  order: 1;
  margin: 0;
  color: var(--psr-white);
  font-size: 15px;
  line-height: 1.4;
  text-decoration: none;
}
body > .insert-vendero-footer .insert-dsa-link:is(:hover, :focus) {
  color: var(--psr-lime);
}

@media (min-width: 992px) and (max-width: 1199px) {
  body > .insert-vendero-footer {
    padding-inline: calc((100% - 940px) / 2);
  }
}

/* ---------- 9. Tablet 768–991: menu w 3 kolumnach, VET w osobnym rzędzie (logo | linki) ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  body > .insert-vendero-footer {
    padding-inline: calc((100% - 720px) / 2);
  }
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row > [class*="col-"]:nth-child(4) {
    grid-column: 1 / -1;
  }
  [id="wrapper"] > footer .custom .vet {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}

/* ---------- 10. Telefon ≤767: dwie kolumny menu, VET w pełnej szerokości, pasy jeden pod drugim ---------- */
@media (max-width: 767px) {
  [id="wrapper"] > footer::before {
    right: 8%;                                    /* KV mobile: .peek-pet { right: 8%; width: 112px } */
  }
  [id="wrapper"] > footer > .container-fluid {
    padding: 10px 16px 0;
  }
  [id="wrapper"] > footer > .container-fluid > .row > .container {
    padding: 0;
  }
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 18px;
  }
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row > [class*="col-"]:nth-child(4) {
    grid-column: 1 / -1;
  }
  /* szablon ≤767: .main-menu .widget-header h4 { padding-right: 50px } (miejsce na hamburger) */
  [id="wrapper"] > footer .main-menu .widget-header h4 {
    padding: 0;
  }
  [id="wrapper"] > footer .main-menu .widget-header + .widget-content {
    margin-top: 0;
  }
  [id="wrapper"] > footer .custom .vet {
    flex-direction: row;
    align-items: center;
    gap: 16px;
  }
  [id="wrapper"] > footer .custom .vet > a {
    width: 128px;
  }
  [id="wrapper"] > footer .gray-container .container,
  [id="wrapper"] > footer .blue-container .container {
    padding: 0;
  }
  [id="wrapper"] > footer .gray-container .widget-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  [id="wrapper"] > footer .gray-container .pay-methods {
    flex-wrap: wrap;
    gap: 8px 12px;
  }
  [id="wrapper"] > footer .blue-container > .row > .container > .row {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  /* inline style="text-align: right" w bloku © – na telefonie do lewej (!important przeciw stylowi inline) */
  [id="wrapper"] > footer [id="7iJTQ_1WmESo2IoCcw_ikA"] .widget-content > div {
    text-align: left !important;
  }
  body > .insert-vendero-footer {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 16px calc(26px + env(safe-area-inset-bottom, 0px));
  }
}

/* ---------- 11. Ograniczony ruch: pies i fala stoją (globalny wyłącznik w 01-baza zatrzymuje animacje) ---------- */
@media (prefers-reduced-motion: reduce) {
  [id="wrapper"] > footer::before,
  [id="wrapper"] > footer::after {
    animation: none;
  }
}

/* ---------- 12. Wydruk: bez tła (przeglądarka go nie drukuje) – ciemny tekst, bez psa i fali ---------- */
@media print {
  [id="wrapper"] > footer {
    margin-top: 16px;
    padding-top: 0;
    color: #000;
  }
  [id="wrapper"] > footer::before,
  [id="wrapper"] > footer::after,
  [id="wrapper"] > footer .blue-container > .row > .container > .row::before {
    content: none;
  }
  [id="wrapper"] > footer > .container-fluid {
    background: none;
  }
  [id="wrapper"] > footer .widget .widget-header,
  [id="wrapper"] > footer .main-menu .nav-collapse .nav li a,
  [id="wrapper"] > footer .main-menu .widget-content .nav-collapse .nav li.menu-active > a,
  [id="wrapper"] > footer .custom .widget-content .vet center a,
  [id="wrapper"] > footer .blue-container .custom .widget-content a,
  [id="wrapper"] > footer .gray-container,
  [id="wrapper"] > footer .blue-container,
  [id="wrapper"] > footer [id="7iJTQ_1WmESo2IoCcw_ikA"] .widget-content,
  body > .insert-vendero-footer,
  body > .insert-vendero-footer .insert-dsa-link {
    color: #000;
  }
  body > .insert-vendero-footer {
    background: none;
  }
}

/* ----- 71-tresci.css ----- */
/* ==========================================================================
   71-tresci.css – STRONY TREŚCI: /kontakt, /regulamin, /politykaprywatnosci, /zwrotwymiana,
   /procedurareklamacyjna, /sklep, /dostawcy, /formyplatnosci.
   Podstawę treści z edytora (font marki wymuszony, akapity, listy, miękkie tabele, h1–h6) daje 01-baza.css;
   pola, zgoda i przycisk „Wyślij” – 02/03 (fundament). Tu: układ stron i porządek we wklejkach z Worda.

   Kotwica: klasa strony na <html> (Kontakt, Regulamin, Politykaprywatnosci, Zwrotwymiana, Procedurareklamacyjna,
   SklepStacjonarny, Dostawcy, Formyplatnosci) – stabilniejsza niż losowe id widgetów.
   !important TYLKO przeciw stylom inline z Worda (font-size, line-height, color, background, margin, text-align,
   text-indent w atrybutach style) – każde miejsce opisane. Wydruk (@media print) nietknięty: zmiany wyglądu
   formularzy do druku są w @media screen.
   ========================================================================== */

/* ---------- 1. Wklejki z Worda: regulamin, polityka, zwrot, reklamacja ---------- */
/* czytelna kolumna tekstu (KV: do ~75 znaków w wierszu); formularze do druku trochę szersze */
html:is(.Regulamin, .Politykaprywatnosci) .content .content-edit .widget-content {
  max-width: 860px;
}
html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content {
  max-width: 940px;
}
/* !important: inline z Worda – kolory (#18191a, #333), białe tła pod tekstem, sztywne interlinie (14px, 16,87px) */
html:is(.Regulamin, .Politykaprywatnosci, .Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content :is(p, span, strong, b, em, i, u, h1, h2, h3, h4, li, font)[style] {
  color: inherit !important;
  background: none !important;
  line-height: inherit !important;
}
/* !important: inline font-size 11pt/12pt/11px w akapitach – jeden stopień tekstu KV (17 px);
   odstępy numeracji z Worda (spacje 7pt po „1.”) zostają małe */
html:is(.Regulamin, .Politykaprywatnosci) .content .content-edit .widget-content :is(p, span, strong, em, li)[style*="font-size"]:not([style*="7pt"]) {
  font-size: inherit !important;
}

/* puste akapity z Worda (odstępy „Enter”) mają wysokość wiersza tylko przez p::after szablonu (L5162: inline-block
   o szerokości 0) – bez niego zwijają się do zera, odstępy robią marginesy KV. W formularzach do druku puste akapity
   w komórkach tabeli to miejsce do wpisania – zostają. */
html:is(.Regulamin, .Politykaprywatnosci) .content .content-edit .widget-content p::after,
html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content > p::after {
  content: none;
}

/* ---------- 2. Regulamin (bez nagłówka widgetu – tytuł to <h1> 12pt wyśrodkowany w treści) ---------- */
/* tytuł jak nagłówek pozostałych stron (01-baza: .widget-header h4 = --psr-fs-h2, nocna mięta, wersaliki);
   !important: inline margin:0cm; font-size:12pt; text-align:center + atrybut align="center";
   [style] w selektorze – musi przebić ogólną regułę wklejek wyżej (kolor, interlinia) */
html.Regulamin .content .content-edit .widget-content h1[style] {
  margin: 6px 0 28px !important;
  color: var(--psr-night) !important;
  font-size: var(--psr-fs-h2) !important;
  line-height: 1.05 !important;
  text-align: left !important;
  text-transform: uppercase;
}
html.Regulamin .content .content-edit .widget-content h1 span[style] {
  font-size: inherit !important;
}
/* rozdziały „I. INFORMACJE O PRZEDSIĘBIORCY” … „XIII POSTANOWIENIA KOŃCOWE” = <p><strong>…</strong></p>
   → nagłówek kafla zasady KV: 22 px nocna mięta z miętową kropką (jak h4 w 01-baza);
   !important: inline margin:0cm; font-size:12pt + ogólna reguła wklejek (kolor, interlinia) – stąd [style] w selektorze */
html.Regulamin .content .content-edit .widget-content p[style]:has(> strong:first-child) {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 34px 0 14px !important;
  color: var(--psr-night) !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
}
html.Regulamin .content .content-edit .widget-content p[style]:has(> strong:first-child)::before {
  content: "";
  flex: none;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--psr-mint);
}
html.Regulamin .content .content-edit .widget-content p[style]:has(> strong:first-child) strong {
  color: inherit;
}
/* akapity numerowane ręcznie (margin-left 36/54/72pt + text-indent −18pt) – wcięcia zostają, odstęp między punktami */
html.Regulamin .content .content-edit .widget-content p[style*="12pt"] {
  margin-bottom: 12px !important;                     /* !important: inline margin …12pt… */
}

/* ---------- 3. Polityka prywatności (akapity Arial 11pt, wyjustowane, bez odstępów) ---------- */
/* !important: inline text-align:justify (dziury między słowami), margin:0cm / margin-bottom:14px */
html.Politykaprywatnosci .content .content-edit .widget-content p[style] {
  margin: 0 0 12px !important;
  text-align: left !important;
  text-indent: 0 !important;
}
/* pierwsza lista (jeden punkt „Informacje ogólne”) pełni rolę śródtytułu */
html.Politykaprywatnosci .content .content-edit .widget-content ol:first-of-type > li:only-child {
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.25;
}

/* ---------- 4. Formularze do druku: /zwrotwymiana (tabela 1 kolumna), /procedurareklamacyjna (tabela 9 kolumn) ---------- */
@media screen {
  /* akapity pomocnicze: inline Arial 11px/11pt, justowanie */
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content p[style] {
    font-size: inherit !important;                   /* !important: inline 11px/11pt */
    text-align: left !important;                     /* !important: inline justify */
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content p[style*="center"] {
    text-align: center !important;                   /* tytuł formularza zostaje na środku */
  }
  /* podpisy pól i objaśnienia (8pt/9pt/7pt = 9–12 px) → 14 px, szary KV; !important: inline font-size */
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content span:is([style*="7pt"], [style*="8pt"], [style*="9pt"]) {
    color: var(--psr-muted) !important;
    font-size: 14px !important;
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content :is(td, th) {
    vertical-align: top;
    font-size: 16px;
    line-height: 1.5;
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content td p {
    margin: 0 0 12px;
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content td p:last-child {
    margin-bottom: 0;
  }
  /* tytuł „FORMULARZ REKLAMACJI…” – 14pt z podkreśleniem → tytuł KV 22 px bez podkreślenia (wygląda jak link) */
  html.Procedurareklamacyjna .content .content-edit .widget-content span[style*="underline"] {
    color: var(--psr-night) !important;
    text-decoration: none !important;                /* !important: inline text-decoration:underline */
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content span[style*="14pt"] {
    font-size: 22px !important;                      /* !important: inline 14pt */
    line-height: 1.2 !important;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content > p[style*="center"] {
    margin: 0 0 16px !important;                     /* !important: inline margin 0cm 0cm 6pt */
  }
  /* nagłówek tabeli „1. Dane Sprzedawcy: …” – nie drobna etykieta kolumny, tylko pierwszy wiersz formularza */
  html.Procedurareklamacyjna .content .content-edit .widget-content thead th {
    padding: 12px 16px;
    border-radius: var(--psr-radius-row);
    background: var(--psr-mint-8);
    color: var(--psr-ink);
    font-size: 16px;
    letter-spacing: 0;
    text-transform: none;
  }
  /* „o” 16pt = kratka wyboru do zakreślenia → pusty krążek jak pole wyboru KV (litera zostaje dla czytnika i wydruku) */
  html.Procedurareklamacyjna .content .content-edit .widget-content td > span[style*="16pt"] {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--psr-white) !important;         /* !important: reguła wklejek wyżej (background:none) */
    box-shadow: inset 0 0 0 2px var(--psr-check-ring);
    font-size: 0 !important;                         /* !important: inline 16pt – litera „o” schowana wizualnie */
    line-height: 0 !important;
    vertical-align: middle;
  }
}

/* ---------- 5. /kontakt: formularz w białej karcie KV + kolumna z grafiką i danymi firmy ---------- */
html.Kontakt .content .contact-form .widget-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 20px;
  padding: clamp(22px, 2.6vw, 34px) clamp(20px, 2.6vw, 34px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
html.Kontakt .content .contact-form .widget-content > .form-group:not(.consent) {
  grid-column: 1 / -1;
  margin: 0 0 16px;
}
html.Kontakt .content .contact-form .widget-content > .form-group > label {
  margin-bottom: 0;
}
html.Kontakt .content .contact-form .widget-content :is(input, textarea) {
  margin: 8px 0 0;
}
html.Kontakt .content .contact-form .widget-content textarea {
  min-height: 160px;
  resize: vertical;
}
html.Kontakt .content .contact-form .widget-content > .consent {
  grid-column: 1;
  margin: 4px 0 0;
}
html.Kontakt .content .contact-form .btn-send-message {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  max-width: none;
  margin: 4px 0 0;
}
/* strzałka „wyślij” (maska ikony KV) */
html.Kontakt .content .contact-form .btn-send-message::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--psr-i-arrow) center / contain no-repeat;
  mask: var(--psr-i-arrow) center / contain no-repeat;
  transition: translate var(--psr-t-base) var(--psr-spring);
}
html.Kontakt .content .contact-form .btn-send-message:hover::after {
  translate: 3px 0;
}
/* grafika (pies z zabawką – już w stylistyce KV): środek kolumny; rozmiar ustawia skrypt platformy (inline) */
html.Kontakt .content .gallery .galleryWidget {
  display: flex;
  justify-content: center;
}
html.Kontakt .content .gallery .galleryWidget img {
  display: block;
  max-width: 100%;
  object-fit: contain;
}
/* dane firmy: kafel mięty 8 z białymi kółkami i ikonami (jak dane kontaktowe w kolumnie listingu – KV .pd-ship) */
html.Kontakt .content .contact-data {
  margin: 8px 0 0;
  padding: 20px 20px 22px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
}
html.Kontakt .content .contact-data .widget-header {
  margin: 0 0 14px;
}
html.Kontakt .content .contact-data .widget-header h4 {
  padding: 0;
  font-size: 22px;
  line-height: 1.1;
}
/* nagłówek = nazwa sklepu „PET SHOP RUMIA” – akcent .lc skryptu (ostatnie słowo małymi literami) zamieniłby nazwę
   własną na „rumia”; w tym jednym nagłówku bez akcentu */
html.Kontakt .content .contact-data .widget-header .lc {
  color: inherit;
  text-transform: inherit;
}
html.Kontakt .content .contact-data .widget-content {
  display: grid;
  gap: 12px;
}
html.Kontakt .content .contact-data .widget-content > div {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  margin: 0;
  color: var(--psr-night);
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
html.Kontakt .content .contact-data .widget-content > div::before {
  content: "";
  grid-row: 1 / span 2;
  grid-column: 1;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm-mint-8);
}
html.Kontakt .content .contact-data .widget-content > div::after {
  content: "";
  position: absolute;
  left: 11px;
  top: calc(50% - 9px);
  width: 18px;
  height: 18px;
  background-color: var(--psr-mint-deep);
  -webkit-mask: var(--psr-ic-kontakt, var(--psr-i-info)) center / contain no-repeat;
  mask: var(--psr-ic-kontakt, var(--psr-i-info)) center / contain no-repeat;
}
html.Kontakt .content .contact-data .contact-data-company { --psr-ic-kontakt: var(--psr-i-home); }
html.Kontakt .content .contact-data .contact-data-addr { --psr-ic-kontakt: var(--psr-i-pin); }
html.Kontakt .content .contact-data .contact-data-phone { --psr-ic-kontakt: var(--psr-i-phone); }
html.Kontakt .content .contact-data .contact-data-email { --psr-ic-kontakt: var(--psr-i-mail); }
html.Kontakt .content .contact-data .widget-content > div > :not(.contact-data-label) {
  grid-column: 2;
}
html.Kontakt .content .contact-data .contact-data-label {
  grid-column: 2;
  align-self: end;
  color: var(--psr-muted);
  font-size: var(--psr-fs-label);
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
html.Kontakt .content .contact-data .widget-content a {
  color: var(--psr-mint-deep);
  text-decoration: none;
}
html.Kontakt .content .contact-data .widget-content a:is(:hover, :focus) {
  color: var(--psr-night);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}

/* ---------- 6. /sklep: mapa w białej ramce KV + „Zapraszamy do sklepu stacjonarnego” jak baner sklepu KV ----------
   (ten sam wygląd co sekcja na stronie głównej – 20-strona-glowna.css §6–7 – spójność) */
html.SklepStacjonarny .content .widget.widget-map {
  margin: 4px 0 clamp(28px, 3.4vw, 44px);
  padding: 10px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
html.SklepStacjonarny .content .widget.widget-map .widget-content {
  overflow: hidden;
  border-radius: 24px;
  background: var(--psr-stone-8);
}
html.SklepStacjonarny .content .widget.widget-map iframe {
  display: block;
  height: clamp(300px, 34vw, 440px) !important;      /* !important: inline height:350px (knockout) */
}
html.SklepStacjonarny .content .widget.content-edit {
  --psr-focus: var(--psr-white);
  --psr-accent: var(--psr-lime);
  --psr-lift: var(--psr-lift-mint-deep);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 24px clamp(28px, 4vw, 52px);
  margin: 0 0 clamp(20px, 3vw, 36px);
  padding: clamp(30px, 4vw, 48px) clamp(26px, 4vw, 48px);
  border-radius: var(--psr-radius-banner);
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(101, 194, 196, 0.55) 0, rgba(101, 194, 196, 0) 34%),
    radial-gradient(circle at 30% 108%, #1a5f61 0, rgba(26, 95, 97, 0) 42%),
    radial-gradient(circle at 96% 8%, #2f8587 0, rgba(47, 133, 135, 0) 30%),
    var(--psr-mint-deep);
  color: var(--psr-white);
}
/* pieczątka: limonkowy nieregularny krąg z sygnetem w nocnej mięcie (clearfix .widget::before przejęty) */
html.SklepStacjonarny .content .widget.content-edit::before {
  content: "";
  display: block;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  justify-self: center;
  width: clamp(120px, 12vw, 164px);
  aspect-ratio: 1;
  margin: 6px 0 10px;
  border-radius: 64% 36% 58% 42% / 44% 62% 38% 56%;
  outline: 2px dashed var(--psr-lime);
  outline-offset: 9px;
  background: var(--psr-svg-sygnet-noc) 50% 54% / 58% auto no-repeat, var(--psr-lime);
  rotate: -8deg;
  transition: rotate 900ms var(--psr-spring);
}
html.SklepStacjonarny .content .widget.content-edit:hover::before {
  rotate: 12deg;
}
html.SklepStacjonarny .content .widget.content-edit::after {
  content: none;
}
html.SklepStacjonarny .content .widget.content-edit .widget-header {
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  margin: 0;
  color: var(--psr-white);
  text-align: center;
}
html.SklepStacjonarny .content .widget.content-edit .widget-header h4 {
  padding: 0;
  color: var(--psr-white);
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 0.98;
}
html.SklepStacjonarny .content .widget.content-edit .widget-content {
  grid-column: 2;
  grid-row: 1 / span 2;
  padding: clamp(22px, 2.6vw, 32px) clamp(22px, 2.8vw, 36px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.65;
}
html.SklepStacjonarny .content .widget.content-edit .widget-content p {
  margin: 0;
}
/* „5 000 produktów” (inline podkreślenie) → zakreślacz limonką KV .mark; !important: inline text-decoration */
html.SklepStacjonarny .content .widget.content-edit .widget-content span[style*="underline"] {
  padding: 0 3px;
  background: linear-gradient(transparent 55%, var(--psr-lime) 55%);
  color: var(--psr-night);
  text-decoration: none !important;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* ---------- 7. /dostawcy: logotypy przewoźników na białych kaflach + opis ---------- */
html.Dostawcy .content .gallery .galleryWidget {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 4px 0 8px;
}
html.Dostawcy .content .gallery .galleryWidget > span {
  display: inline-grid;
  place-items: center;
  padding: 10px;
  border-radius: 24px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
html.Dostawcy .content .gallery .galleryWidget img {
  display: block;
  max-width: 100%;
  border-radius: 16px;
  object-fit: contain;
}
html.Dostawcy .content .content-edit .widget-content {
  max-width: 860px;
}

/* ---------- 8. /formyplatnosci: blok 1i-eej31_E2Svs-8jZAkXQ – tekst + logo Przelewy24 w kaflu mięty 8 ----------
   blok stopki Ok20… ma globalne .pay-methods img { max-width:60px } (w <body>, (0,1,1)) – ściskało logo do 60×20. */
html.Formyplatnosci .content [id="1i-eej31_E2Svs-8jZAkXQ"] .pay-methods {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  max-width: 860px;
  padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.6vw, 32px);
  border-radius: var(--psr-radius-note);
  background: var(--psr-mint-8);
  line-height: 1.6;
}
html.Formyplatnosci .content [id="1i-eej31_E2Svs-8jZAkXQ"] .pay-methods p {
  flex: 1 1 320px;
  margin: 0;
  color: var(--psr-ink);
  font-size: 17px;
}
html.Formyplatnosci .content [id="1i-eej31_E2Svs-8jZAkXQ"] .pay-methods img {
  display: block;
  box-sizing: content-box;
  flex: none;
  width: auto;
  max-width: none;
  height: 44px;
  margin: 0;
  padding: 12px 22px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm-mint-8);
}

/* ---------- 9a. Tablet 768–991: wąska prawa kolumna /kontakt (240 px) – ciaśniejszy kafel danych, e-mail w jednej linii ---------- */
@media (min-width: 768px) and (max-width: 991px) {
  html.Kontakt .content .contact-data {
    padding: 16px 12px 18px;
  }
  html.Kontakt .content .contact-data .widget-content > div {
    grid-template-columns: 28px minmax(0, 1fr);
    column-gap: 10px;
    font-size: 14px;
  }
  html.Kontakt .content .contact-data .widget-content > div::before {
    width: 28px;
    height: 28px;
  }
  html.Kontakt .content .contact-data .widget-content > div::after {
    left: 7px;
    width: 14px;
    height: 14px;
    top: calc(50% - 7px);
  }
}

/* ---------- 9. Telefon ≤767 ---------- */
@media (max-width: 767px) {
  /* regulamin: wcięcia numeracji z Worda (36/54/72pt = 48/72/96 px) za szerokie na 358 px; !important: inline margin/text-indent */
  html.Regulamin .content .content-edit .widget-content p[style*="36pt"] {
    margin-left: 28px !important;
    text-indent: -24px !important;
  }
  html.Regulamin .content .content-edit .widget-content p[style*="54pt"] {
    margin-left: 42px !important;
    text-indent: -24px !important;
  }
  html.Regulamin .content .content-edit .widget-content p[style*="72pt"] {
    margin-left: 52px !important;
    text-indent: -24px !important;
  }
  html.Regulamin .content .content-edit .widget-content p[style]:has(> strong:first-child) {
    margin-top: 28px !important;
    font-size: 20px !important;
  }

  /* /kontakt: jedna kolumna – zgoda, pod nią przycisk na całą szerokość */
  html.Kontakt .content .contact-form .widget-content {
    grid-template-columns: minmax(0, 1fr);
    padding: 20px 16px 22px;
    border-radius: 26px;
  }
  html.Kontakt .content .contact-form .btn-send-message {
    grid-column: 1;
    width: 100%;
    margin-top: 18px;
  }
  html.Kontakt .content .col-sm-4 {
    margin-top: 24px;
  }

  /* /sklep: baner jak na stronie głównej w telefonie – tytuł + pieczątka w rzędzie, tekst pod spodem */
  html.SklepStacjonarny .content .widget.widget-map {
    padding: 8px;
    border-radius: 26px;
  }
  html.SklepStacjonarny .content .widget.widget-map .widget-content {
    border-radius: 19px;
  }
  html.SklepStacjonarny .content .widget.content-edit {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px 16px;
    padding: 28px 16px 16px;
    border-radius: 32px;
  }
  html.SklepStacjonarny .content .widget.content-edit::before {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    width: 84px;
    margin: 12px 14px 10px 0;
    outline-offset: 6px;
  }
  html.SklepStacjonarny .content .widget.content-edit .widget-header {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    text-align: left;
  }
  html.SklepStacjonarny .content .widget.content-edit .widget-header h4 {
    font-size: 28px;
  }
  html.SklepStacjonarny .content .widget.content-edit .widget-content {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 20px 18px;
    border-radius: 24px;
    font-size: 16px;
    line-height: 1.6;
  }

  /* /formyplatnosci */
  html.Formyplatnosci .content [id="1i-eej31_E2Svs-8jZAkXQ"] .pay-methods img {
    height: 36px;
    padding: 10px 18px;
  }
}

/* ---------- 10. Tabele formularzy na ekranie (wydruk bez zmian – zostaje tabela z ramkami z 01-baza) ----------
   /procedurareklamacyjna: tabela 9 kolumn ze sztywnymi <col> (398/50/19… px) – opcje „o” lądowały w kolumnie 398 px,
   a ich opisy w wąskich kolumnach po prawej (3 wiersze po 2 słowa); na telefonie tabela 604 px przewijała się w bok.
   Na ekranie każdy wiersz = kafel mięty 8, komórki zawijają się w wierszu: etykieta pola i miejsce do wpisania
   na całą szerokość, krążek wyboru obok swojej opcji. */
@media screen {
  html.Procedurareklamacyjna .content .content-edit .widget-content :is(table, thead, tbody) {
    display: block;
    width: auto;
    overflow: visible;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content colgroup {
    display: none;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content tr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 14px;
    margin: 0 0 8px;
    padding: 14px 18px 16px;
    border-radius: var(--psr-radius-row);
    background: var(--psr-mint-8);
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content :is(td, th) {
    display: block;
    flex: 0 1 auto;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    background: none;
    overflow-wrap: anywhere;
  }
  /* etykieta pola (colspan 2) i nagłówek – cały wiersz */
  html.Procedurareklamacyjna .content .content-edit .widget-content :is(th, td[colspan="2"], td[colspan="9"]) {
    flex-basis: 100%;
  }
  /* treść / miejsce do wpisania – reszta wiersza (pusta komórka z &nbsp; za nią nie spada do nowej linii) */
  html.Procedurareklamacyjna .content .content-edit .widget-content td:is([colspan="6"], [colspan="7"], [colspan="8"]) {
    flex: 1 1 0%;
  }
  /* „7. Miejscowość i data” | „8. Podpis” obok siebie */
  html.Procedurareklamacyjna .content .content-edit .widget-content td[colspan="5"] {
    flex: 1 1 50%;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content td:has(> span[style*="16pt"]) {
    align-self: center;
  }
  /* miejsca do wpisania (puste akapity) – na ekranie najwyżej dwie linie; wydruk bez zmian */
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content td > p:empty {
    margin: 0;
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content td > p:empty + p:empty ~ p:empty {
    display: none;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content thead th {
    padding: 0;
    background: none;
  }
}
/* telefon: też /zwrotwymiana (1 kolumna) – bez przewijania w bok z 01-baza; kropki „……” i ciągi twardych spacji
   (miejsca do wpisania) zawijają się w komórce */
@media screen and (max-width: 767px) {
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content :is(table, tbody, tr) {
    display: block;
    width: auto;
    overflow: visible;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content tr {
    display: flex;
    padding: 12px 16px 14px;
  }
  html.Zwrotwymiana .content .content-edit .widget-content tr {
    margin: 0 0 8px;
  }
  html.Zwrotwymiana .content .content-edit .widget-content tr[style] {
    height: auto !important;                         /* !important: inline height:27pt */
  }
  html:is(.Zwrotwymiana, .Procedurareklamacyjna) .content .content-edit .widget-content td {
    display: block;
    overflow-wrap: anywhere;
  }
  html.Procedurareklamacyjna .content .content-edit .widget-content td[colspan="5"] {
    flex-basis: 100%;
  }
}

/* ----- 72-info.css ----- */
/* ==========================================================================
   72-info.css – wspólna rama stron informacyjnych (24.09.2026): /kontakt, /dostawcy, /formyplatnosci,
   /zwrotwymiana, /procedurareklamacyjna, /regulamin, /politykaprywatnosci.
   Blok „Własny” <div class="psr-blok psr-info psr-info--<strona>"> na całą szerokość okna:
   – .psr-info-hero: scena w mięcie głębokiej sprzężona z nagłówkiem (bez fali między nimi – reguła w 10-naglowek.css),
     tekst | zdjęcie w kształcie z KV (kleks / naklejka / koło), na dole fala w kolorze następnej sekcji;
   – .psr-info-sekcja [--jasna | --lilac | --lime]: sekcje treści; .psr-info-fala-nad = fala u góry w kolorze sekcji powyżej;
   – komponenty: karty, kroki, pytania (details), ramka „ważne”, arkusz do druku, dokument ze spisem treści;
   – .psr-info-cta: zakończenie w mięcie 20, stopka (pas ze sznaucerem) w tym samym kolorze – bez twardej krawędzi.
   Wygląd poszczególnych stron: 73-info-strony.css.
   ========================================================================== */

.widget.custom:has(> .widget-content > .psr-info) {
  padding: 0;
}
.widget.custom:has(> .widget-content > .psr-info) > .widget-header {
  display: none;                        /* tytuł widgetu z panelu – stronę tytułuje hero */
}
/* scena wchodzi pod pas fali nagłówka (jak hero strony głównej i /sklep) */
[id="wrapper"] > header + .content:has(.psr-info-hero) {
  padding-top: 0;
}
/* treść dochodzi do stopki bez odstępów; pas stopki (sznaucer nad falą) ma kolor ostatniej sekcji */
[id="wrapper"]:has(.psr-info-cta) > .content .container-fluid > .row,
[id="wrapper"]:has(.psr-info-cta) > .content .container-fluid > .row > .container,
[id="wrapper"]:has(.psr-info-cta) > .content .container-fluid > .row > .container > .row {
  margin-bottom: 0;
  padding-bottom: 0;
}
[id="wrapper"]:has(.psr-info-cta) > footer {
  margin-top: 0;
  background: var(--psr-mint-20);
}

.psr-blok.psr-info {
  --psr-info-w: 1140px;
  --psr-info-bok: max(16px, calc((100vw - var(--psr-info-w)) / 2));
  max-width: none;
  margin-inline: calc(50% - 50vw);
  color: var(--psr-ink);
}
@media (max-width: 1199px) {
  .psr-blok.psr-info { --psr-info-w: 940px; }
}
@media (max-width: 991px) {
  .psr-blok.psr-info { --psr-info-w: 720px; }
}

/* ---------- 1. Hero ---------- */
.psr-blok.psr-info .psr-info-hero {
  --psr-b1: #3f9a9c;                   /* ciemniejsza niż na /sklep – biały tekst na plamie zostaje czytelny */
  --psr-b2: #2a7c7e;
  --psr-b3: #256f71;
  --psr-b4: #2c8385;
  --psr-lift: var(--psr-lift-mint-deep);
  --psr-lift-sm: var(--psr-lift-sm-mint-deep);
  --psr-info-hero-fala: clamp(40px, 5.4vw, 76px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: calc(var(--psr-nag-fala-h) + clamp(14px, 2vw, 30px)) var(--psr-info-bok) calc(var(--psr-info-hero-fala) + clamp(18px, 2.4vw, 36px));
  background: var(--psr-mint-deep);   /* przedłużenie nagłówka */
  color: var(--psr-white);
}
/* górny pas sceny w czystym kolorze nagłówka – plamy zaczynają się niżej, styk jest niewidoczny */
.psr-blok.psr-info .psr-info-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: clamp(90px, 10vw, 150px);
  background: linear-gradient(var(--psr-mint-deep) 18%, rgba(51, 140, 142, 0));
  pointer-events: none;
}
.psr-blok.psr-info .psr-info-scena {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
}
.psr-blok.psr-info .psr-info-hero-tresc {
  display: grid;
  justify-items: start;
  gap: 16px;
  min-width: 0;
}
.psr-blok.psr-info .psr-info-kicker {
  background: var(--psr-night);
}
.psr-blok.psr-info .psr-info-tytul {
  margin: 0;
  color: var(--psr-white);
  font-size: clamp(38px, 4.4vw, 60px);
  line-height: 1;
  text-transform: uppercase;
}
/* akcent: limonka (kontekst .psr-na-kolorze) z rysowanym podkreśleniem w kolorze tekstu – jak hero strony głównej */
.psr-blok.psr-info .psr-info-tytul .lc {
  position: relative;
  display: inline-block;
}
.psr-blok.psr-info .psr-info-tytul .lc::after {
  content: "";
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: -0.16em;
  height: 0.2em;
  background: currentColor;
  -webkit-mask: var(--psr-svg-podkreslenie) center / 100% 100% no-repeat;
  mask: var(--psr-svg-podkreslenie) center / 100% 100% no-repeat;
  animation: psr-sg-kreska 1.1s var(--psr-smooth) 0.9s both;
}
.psr-blok.psr-info .psr-info-lead {
  margin: 0;
  color: var(--psr-white);
  font-size: var(--psr-fs-lead);
  line-height: 1.5;
}
.psr-blok.psr-info .psr-info-lead strong {
  color: var(--psr-lime);
  font-weight: 400;
}
/* skróty w scenie: pastylki na półprzezroczystej bieli (linki do sekcji albo same fakty) */
.psr-blok.psr-info .psr-info-skroty {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-info-skroty li {
  margin: 0;
  padding: 0;
}
.psr-blok.psr-info .psr-info-skroty li::before {
  content: none;
}
.psr-blok.psr-info .psr-info-skroty > li > :is(a, span) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 8px 16px 9px;
  border-radius: var(--psr-radius-pill);
  background: rgba(255, 255, 255, 0.12);
  color: var(--psr-white);
  font-size: 15.5px;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--psr-t-fast) ease, translate var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-info .psr-info-skroty > li > a:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.22);
  color: var(--psr-white);
  translate: 0 -2px;
}
.psr-blok.psr-info .psr-info-skroty .psr-ic {
  --psr-ic-size: 18px;
  color: var(--psr-lime);
}
.psr-blok.psr-info .psr-info-akcje {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 4px;
}

/* zdjęcie w scenie: kształty z KV (kleks, naklejka, koło) + dymek */
.psr-blok.psr-info .psr-info-foto {
  position: relative;
  z-index: 2;
  justify-self: center;
  width: min(100%, 360px);
  margin: 0;
  animation: psr-pet-in 800ms var(--psr-spring) 0.3s both;
}
.psr-blok.psr-info .psr-info-foto img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.psr-blok.psr-info .psr-info-foto-ramka {
  overflow: hidden;
  background: var(--psr-mint-20);
}
.psr-blok.psr-info .psr-info-foto--kleks .psr-info-foto-ramka {
  aspect-ratio: 1 / 1.05;
  border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%;
  box-shadow: 0 0 0 9px var(--psr-white), var(--psr-lift);
  animation: psr-morph 14s ease-in-out infinite;
}
.psr-blok.psr-info .psr-info-foto--kolo .psr-info-foto-ramka {
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 0 0 0 9px var(--psr-white), var(--psr-lift);
}
.psr-blok.psr-info .psr-info-foto--naklejka {
  padding: 12px;
  border-radius: 30px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  rotate: -4deg;
  transition: rotate var(--psr-t-big) var(--psr-spring);
}
.psr-blok.psr-info .psr-info-foto--naklejka:hover {
  rotate: 1deg;
}
.psr-blok.psr-info .psr-info-foto--naklejka .psr-info-foto-ramka {
  aspect-ratio: 4 / 5;
  border-radius: 20px;
}
.psr-blok.psr-info .psr-info-foto--prosto {
  rotate: 3deg;
}
.psr-blok.psr-info .psr-info-dymek {
  --psr-rot: -5deg;
  --psr-d: 1s;
  position: absolute;
  z-index: 3;
  left: -18px;
  top: -8px;
  margin: 0;
  padding: 11px 18px 13px;
  font-size: 19px;
  line-height: 1.15;
  white-space: nowrap;
}
.psr-blok.psr-info .psr-info-dymek--prawy {
  left: auto;
  right: -14px;
  --psr-rot: 5deg;
}
.psr-blok.psr-info .psr-info-dymek--dol {
  top: auto;
  bottom: 6%;
}
.psr-blok.psr-info .psr-info-iskra {
  --psr-doodle-w: 30px;
  right: 6%;
  top: 22%;
}
.psr-blok.psr-info .psr-info-hero-fala {
  z-index: 5;
  height: var(--psr-info-hero-fala);
}

/* ---------- 2. Sekcje ---------- */
.psr-blok.psr-info .psr-info-sekcja {
  --psr-info-tlo: var(--psr-white);
  position: relative;
  padding: clamp(40px, 5vw, 72px) var(--psr-info-bok);
  background: var(--psr-info-tlo);
}
.psr-blok.psr-info .psr-info-sekcja--jasna {
  --psr-info-tlo: var(--psr-mint-8);
  --psr-lift: var(--psr-lift-mint-8);
  --psr-lift-sm: var(--psr-lift-sm-mint-8);
}
.psr-blok.psr-info .psr-info-sekcja--lilac {
  --psr-info-tlo: var(--psr-lilac-8);
  --psr-lift: var(--psr-lift-lilac-8);
  --psr-lift-sm: var(--psr-lift-sm-lilac-8);
}
.psr-blok.psr-info .psr-info-sekcja--lime {
  --psr-info-tlo: var(--psr-lime-8);
  --psr-lift: var(--psr-lift-lime-8);
  --psr-lift-sm: var(--psr-lift-sm-lime-8);
}
/* fala u góry sekcji w kolorze sekcji powyżej (--psr-fala-nad); kształt: zwykła / --falbanka / --wolna / --szybka */
.psr-blok.psr-info .psr-info-fala-nad {
  --psr-info-fala-ksztalt: var(--psr-svg-fala-gora);
  --psr-info-fala-kafel: 720px;
  --psr-info-fala-czas: 18s;
  padding-top: calc(var(--psr-fala-h) + clamp(22px, 3vw, 44px));
}
.psr-blok.psr-info .psr-info-fala-nad::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: var(--psr-fala-h);
  background: var(--psr-fala-nad, var(--psr-white));
  -webkit-mask: var(--psr-info-fala-ksztalt) repeat-x 0 0 / var(--psr-info-fala-kafel) 100%;
  mask: var(--psr-info-fala-ksztalt) repeat-x 0 0 / var(--psr-info-fala-kafel) 100%;
  animation: psr-fala var(--psr-info-fala-czas) linear infinite;
  pointer-events: none;
}
.psr-blok.psr-info .psr-info-fala-nad--falbanka {
  --psr-info-fala-ksztalt: var(--psr-svg-falbanka-gora);
  --psr-info-fala-kafel: 120px;
  --psr-info-fala-czas: 10s;
}
.psr-blok.psr-info .psr-info-fala-nad--wolna {
  --psr-info-fala-czas: 28s;
  --psr-info-fala-kafel: 1080px;
}
.psr-blok.psr-info .psr-info-fala-nad--szybka {
  --psr-info-fala-czas: 10s;
  --psr-info-fala-kafel: 540px;
}
.psr-blok.psr-info .psr-info-glowa {
  display: grid;
  justify-items: start;
  gap: 10px;
  margin-bottom: clamp(22px, 2.6vw, 34px);
}
.psr-blok.psr-info .psr-info-glowa--srodek {
  justify-items: center;
  text-align: center;
}
.psr-blok.psr-info .psr-info-h2 {
  margin: 0;
  color: var(--psr-night);
  font-size: clamp(32px, 3.6vw, 50px);
  line-height: 1;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-info-podtytul {
  margin: 0;
  color: var(--psr-muted);
  font-size: 17px;
  line-height: 1.55;
}
.psr-blok.psr-info .psr-info-h3 {
  margin: 0;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.15;
}
.psr-blok.psr-info p {
  margin: 0;
}
.psr-blok.psr-info .psr-nw {
  white-space: nowrap;                  /* „e-mail”, numery, kwoty – bez łamania na łączniku */
}
.psr-blok.psr-info a:not(.psr-btn) {
  color: var(--psr-mint-deep);
  text-decoration: none;
  transition: color var(--psr-t-fast) ease;
}
.psr-blok.psr-info a:not(.psr-btn):is(:hover, :focus-visible) {
  color: var(--psr-night);
}
.psr-blok.psr-info .psr-info-hero a:not(.psr-btn) {
  color: var(--psr-white);
}

/* ---------- 3. Karty (sposoby dostawy, płatności, kontakt) ---------- */
.psr-blok.psr-info .psr-info-karty {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-info-karty--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.psr-blok.psr-info .psr-info-karty--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.psr-blok.psr-info .psr-info-karta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: clamp(22px, 2.4vw, 30px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  transition: translate var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-info .psr-info-karta::before {
  content: none;
}
.psr-blok.psr-info .psr-info-karta:hover {
  translate: 0 -4px;
}
.psr-blok.psr-info .psr-info-karta--wyrozniona {
  outline: 3px solid var(--psr-lime);
  outline-offset: -3px;
}
.psr-blok.psr-info .psr-info-ikona {
  --psr-ic-size: 26px;
  display: grid;
  flex: none;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: var(--psr-radius-sm);
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  rotate: -4deg;
  transition: rotate var(--psr-t-base) var(--psr-spring), border-radius var(--psr-t-base) ease;
}
.psr-blok.psr-info .psr-info-karta:hover .psr-info-ikona {
  rotate: 6deg;
  border-radius: 50%;
}
.psr-blok.psr-info .psr-info-ikona--lilac { background: var(--psr-lilac-deep); }
.psr-blok.psr-info .psr-info-ikona--night { background: var(--psr-night); }
.psr-blok.psr-info .psr-info-ikona--lime { background: var(--psr-lime); color: var(--psr-night); }
.psr-blok.psr-info .psr-info-karta-tytul {
  margin: 4px 0 0;
  color: var(--psr-night);
  font-size: 23px;
  line-height: 1.15;
}
.psr-blok.psr-info .psr-info-karta-tekst {
  margin: 0;
  color: var(--psr-muted);
  font-size: 15.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-info-karta-dol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin-top: auto;
  padding-top: 6px;
}
/* cena w karcie: duża, nocna mięta; obok pastylka „0 zł od 199 zł” */
.psr-blok.psr-info .psr-info-cena {
  color: var(--psr-night);
  font-size: 34px;
  line-height: 1;
  white-space: nowrap;
}
.psr-blok.psr-info .psr-info-cena sup {
  position: relative;
  top: -0.78em;
  margin-left: 0.04em;
  font-size: 0.5em;
  line-height: 0;
  vertical-align: baseline;
}
.psr-blok.psr-info .psr-info-plakietka {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px 6px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-lime);
  color: var(--psr-night);
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}
.psr-blok.psr-info .psr-info-plakietka--mint {
  background: var(--psr-mint-20);
}
.psr-blok.psr-info .psr-info-plakietka--lilac {
  background: var(--psr-lilac-deep);
  color: var(--psr-white);
}
.psr-blok.psr-info .psr-info-logo {
  display: block;
  width: auto;
  max-width: 150px;
  height: 40px;
  object-fit: contain;
  object-position: left center;
}
/* lista cech w karcie: znaczek ✓ w kółku */
.psr-blok.psr-info .psr-info-cechy {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-info-cechy li {
  position: relative;
  margin: 0;
  padding: 0 0 0 28px;
  color: var(--psr-ink);
  font-size: 15.5px;
  line-height: 1.4;
}
.psr-blok.psr-info .psr-info-cechy li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: var(--psr-mint-20) var(--psr-i-check) center / 12px no-repeat;
}

/* przypis pod kartami */
.psr-blok.psr-info .psr-info-przypis {
  margin-top: clamp(18px, 2vw, 26px);
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.55;
}

/* ---------- 4. Kroki (ol) – numer w kółku, przerywana linia między krokami ---------- */
.psr-blok.psr-info .psr-info-kroki {
  counter-reset: psr-krok;
  display: grid;
  grid-template-columns: repeat(var(--psr-info-kroki, 4), minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 30px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-info-kroki > li {
  counter-increment: psr-krok;
  position: relative;
  display: grid;
  align-content: start;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.psr-blok.psr-info .psr-info-kroki > li::before {
  content: counter(psr-krok);
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 8px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: 0 4px 0 var(--psr-sole-mint);
  color: var(--psr-white);
  font-size: 28px;
  line-height: 1;
}
.psr-blok.psr-info .psr-info-kroki > li:nth-child(4n+2)::before { background: var(--psr-lilac-deep); box-shadow: 0 4px 0 var(--psr-heart-sole-lilac); }
.psr-blok.psr-info .psr-info-kroki > li:nth-child(4n+3)::before { background: var(--psr-lime); box-shadow: 0 4px 0 var(--psr-heart-sole-lime); color: var(--psr-night); }
.psr-blok.psr-info .psr-info-kroki > li:nth-child(4n+4)::before { background: var(--psr-night); box-shadow: 0 4px 0 var(--psr-heart-sole-night); }
.psr-blok.psr-info .psr-info-kroki > li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 28px;
  left: 76px;
  right: -12px;
  border-top: 3px dashed rgba(51, 140, 142, 0.3);
}
.psr-blok.psr-info .psr-info-kroki strong {
  color: var(--psr-night);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2;
}
.psr-blok.psr-info .psr-info-kroki span {
  color: var(--psr-muted);
  font-size: 15.5px;
  line-height: 1.5;
}

/* ---------- 5. Pytania (details/summary) ---------- */
.psr-blok.psr-info .psr-info-faq {
  display: grid;
  gap: 12px;
}
.psr-blok.psr-info .psr-info-faq details {
  border-radius: 24px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
.psr-blok.psr-info .psr-info-faq summary {
  --psr-focus: var(--psr-night);
  position: relative;
  display: block;
  padding: 18px 64px 18px 24px;
  border-radius: 24px;
  color: var(--psr-night);
  font-size: 19px;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}
.psr-blok.psr-info .psr-info-faq summary::-webkit-details-marker {
  display: none;
}
.psr-blok.psr-info .psr-info-faq summary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  border-radius: 50%;
  background: var(--psr-mint-20) var(--psr-i-plus) center / 16px no-repeat;
  transition: rotate var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
}
.psr-blok.psr-info .psr-info-faq details[open] summary::after {
  rotate: 45deg;
  background-color: var(--psr-lime);
}
.psr-blok.psr-info .psr-info-faq summary:hover {
  color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-info-faq .psr-info-odp {
  display: grid;
  gap: 10px;
  padding: 0 24px 22px;
  color: var(--psr-ink);
  font-size: 16px;
  line-height: 1.6;
}

/* ---------- 6. Ramka „dobrze wiedzieć” / „ważne” ---------- */
.psr-blok.psr-info .psr-info-ramka {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  padding: 22px 26px;
  border-radius: var(--psr-radius-tile);
  background: var(--psr-lime-8);
  box-shadow: inset 0 0 0 2px rgba(217, 226, 73, 0.55);
}
.psr-blok.psr-info .psr-info-ramka--lilac {
  background: var(--psr-lilac-8);
  box-shadow: inset 0 0 0 2px rgba(162, 111, 179, 0.25);
}
.psr-blok.psr-info .psr-info-ramka--mint {
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
}
.psr-blok.psr-info .psr-info-ramka > .psr-info-ikona {
  width: 50px;
  height: 50px;
  rotate: 0deg;
}
.psr-blok.psr-info .psr-info-ramka-tresc {
  display: grid;
  gap: 6px;
  color: var(--psr-ink);
  font-size: 16px;
  line-height: 1.55;
}
.psr-blok.psr-info .psr-info-ramka-tresc strong {
  color: var(--psr-night);
  font-size: 19px;
  font-weight: 400;
  line-height: 1.25;
}

/* ---------- 7. Układ „dwie kolumny” (tekst | karta) ---------- */
.psr-blok.psr-info .psr-info-dwie {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(24px, 3.4vw, 52px);
}
.psr-blok.psr-info .psr-info-stos {
  display: grid;
  gap: 16px;
  align-content: start;
}

/* ---------- 8. Arkusz do druku (formularz odstąpienia, reklamacji) ---------- */
.psr-blok.psr-info .psr-druk {
  display: grid;
  gap: 18px;
}
.psr-blok.psr-info .psr-druk-arkusz {
  position: relative;
  display: grid;
  gap: 18px;
  padding: clamp(26px, 3.4vw, 48px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  color: var(--psr-ink);
  font-size: 16px;
  line-height: 1.55;
}
.psr-blok.psr-info .psr-druk-arkusz::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 20px;
  width: 64px;
  aspect-ratio: 1620 / 1418;
  background: var(--psr-svg-sygnet) center / contain no-repeat;
  opacity: 0.9;
}
.psr-blok.psr-info .psr-druk-tytul {
  margin: 0;
  padding-right: 80px;
  color: var(--psr-night);
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.1;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-druk-adresat {
  padding: 14px 18px;
  border-radius: 18px;
  background: var(--psr-mint-8);
  font-size: 15.5px;
}
.psr-blok.psr-info .psr-druk-pole {
  display: grid;
  gap: 4px;
}
.psr-blok.psr-info .psr-druk-etykieta {
  color: var(--psr-night);
  font-size: 15px;
  line-height: 1.35;
}
.psr-blok.psr-info .psr-druk-linia {
  display: block;
  min-height: 34px;
  border-bottom: 2px dotted #9fb5b5;
}
.psr-blok.psr-info .psr-druk-linia--2 { min-height: 68px; }
.psr-blok.psr-info .psr-druk-linia--3 { min-height: 102px; }
.psr-blok.psr-info .psr-druk-linia--2,
.psr-blok.psr-info .psr-druk-linia--3 {
  background: repeating-linear-gradient(transparent 0 32px, #9fb5b5 32px 34px);
  border-bottom: 0;
  -webkit-mask: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 6px);
  mask: repeating-linear-gradient(90deg, #000 0 3px, transparent 3px 6px);
}
.psr-blok.psr-info .psr-druk-rzad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
}
.psr-blok.psr-info .psr-druk-wybor {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-druk-wybor li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.psr-blok.psr-info .psr-druk-wybor li::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  border: 2px solid var(--psr-night);
  border-radius: 6px;
}
.psr-blok.psr-info .psr-druk-przypis {
  color: var(--psr-muted);
  font-size: 13.5px;
  line-height: 1.45;
}
.psr-blok.psr-info .psr-druk-podpisy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 12px;
}
.psr-blok.psr-info .psr-druk-podpisy .psr-druk-linia {
  min-height: 46px;
}
.psr-blok.psr-info .psr-druk-akcje {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- 9. Dokument (regulamin, polityka): spis treści przyklejony z boku | treść ---------- */
.psr-blok.psr-info .psr-dok {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  align-items: start;
  gap: clamp(26px, 3.6vw, 56px);
}
.psr-blok.psr-info .psr-dok-spis {
  position: sticky;
  top: calc(var(--psr-naglowek-lepki-h, 0px) + 24px);
  max-height: calc(100vh - var(--psr-naglowek-lepki-h, 0px) - 48px);
  overflow: auto;
  padding: 22px 16px 22px 22px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  overscroll-behavior: contain;
}
.psr-blok.psr-info .psr-dok-spis summary {
  --psr-focus: var(--psr-night);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
  list-style: none;
  pointer-events: none;                  /* na komputerze spis jest zawsze otwarty */
}
.psr-blok.psr-info .psr-dok-spis summary::-webkit-details-marker {
  display: none;
}
.psr-blok.psr-info .psr-dok-spis ol {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-dok-spis li {
  margin: 0;
  padding: 0;
}
.psr-blok.psr-info .psr-dok-spis li::before {
  content: none;
}
.psr-blok.psr-info .psr-dok-spis a {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 6px;
  padding: 7px 10px;
  border-radius: 14px;
  color: var(--psr-ink);
  font-size: 15px;
  line-height: 1.3;
}
.psr-blok.psr-info .psr-dok-spis a:is(:hover, :focus-visible) {
  background: var(--psr-mint-8);
  color: var(--psr-night);
}
.psr-blok.psr-info .psr-dok-spis a span {
  color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-dok-tresc {
  display: grid;
  gap: clamp(18px, 2vw, 26px);
  min-width: 0;
}
.psr-blok.psr-info .psr-dok-rozdzial {
  scroll-margin-top: calc(var(--psr-naglowek-lepki-h, 0px) + 20px);
  padding: clamp(24px, 3vw, 40px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
.psr-blok.psr-info .psr-dok-rozdzial h2 {
  margin: 0 0 16px;
  color: var(--psr-night);
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.15;
}
.psr-blok.psr-info .psr-dok-nr {
  margin-right: 0.45em;
  color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-dok-rozdzial h3 {
  margin: 18px 0 8px;
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1.25;
}
.psr-blok.psr-info .psr-dok-rozdzial :is(p, li) {
  color: var(--psr-ink);
  font-size: 16.5px;
  line-height: 1.65;
}
.psr-blok.psr-info .psr-dok-rozdzial p + p {
  margin-top: 10px;
}
/* numeracja ustępów: 1. 2. 3. w miętowym kółku; podpunkty a) b) c) */
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-ust {
  counter-reset: psr-ust;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-ust > li {
  counter-increment: psr-ust;
  position: relative;
  margin: 0;
  padding: 0 0 0 42px;
}
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-ust > li::before {
  content: counter(psr-ust);
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--psr-mint-20);
  color: var(--psr-night);
  font-size: 15px;
  line-height: 1;
}
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-pkt {
  counter-reset: psr-pkt;
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-pkt > li {
  counter-increment: psr-pkt;
  position: relative;
  margin: 0;
  padding: 0 0 0 28px;
}
.psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-pkt > li::before {
  content: counter(psr-pkt, lower-alpha) ")";
  position: absolute;
  left: 2px;
  top: 0;
  color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-dok-rozdzial ul {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-dok-rozdzial ul > li {
  position: relative;
  margin: 0;
  padding: 0 0 0 22px;
}
.psr-blok.psr-info .psr-dok-rozdzial ul > li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--psr-lime);
}
.psr-blok.psr-info .psr-dok-rozdzial a {
  overflow-wrap: anywhere;
}
/* tabela w dokumencie (cele przetwarzania danych) */
.psr-blok.psr-info .psr-dok-tabela {
  width: 100%;
  margin: 8px 0 0;
  border-collapse: separate;
  border-spacing: 0 8px;
  font-size: 15.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-dok-tabela th {
  padding: 4px 14px;
  color: var(--psr-muted);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-dok-tabela td {
  padding: 12px 14px;
  background: var(--psr-mint-8);
  color: var(--psr-ink);
  vertical-align: top;
}
.psr-blok.psr-info .psr-dok-tabela td:first-child {
  border-radius: 16px 0 0 16px;
  color: var(--psr-night);
}
.psr-blok.psr-info .psr-dok-tabela td:last-child {
  border-radius: 0 16px 16px 0;
}
/* „w skrócie” na górze dokumentu */
.psr-blok.psr-info .psr-dok-skrot {
  display: grid;
  gap: 14px;
  padding: clamp(22px, 2.6vw, 32px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-lilac-8);
  box-shadow: inset 0 0 0 2px rgba(162, 111, 179, 0.2);
}
.psr-blok.psr-info .psr-dok-skrot-lista {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-dok-skrot-lista li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: 0;
  padding: 0;
  color: var(--psr-ink);
  font-size: 15.5px;
  line-height: 1.45;
}
.psr-blok.psr-info .psr-dok-skrot-lista li::before {
  content: none;
}
.psr-blok.psr-info .psr-dok-skrot-lista .psr-info-ikona {
  --psr-ic-size: 18px;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  rotate: 0deg;
}
.psr-blok.psr-info .psr-dok-skrot-lista strong {
  display: block;
  color: var(--psr-night);
  font-size: 17px;
  font-weight: 400;
}
.psr-blok.psr-info .psr-dok-meta {
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.5;
}

/* ---------- 10. Zakończenie: mięta 20, przechodzi w pas stopki ---------- */
.psr-blok.psr-info .psr-info-cta {
  --psr-info-tlo: var(--psr-mint-20);
  position: relative;
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: calc(var(--psr-fala-h) + clamp(18px, 2.4vw, 30px)) var(--psr-info-bok) clamp(8px, 1.4vw, 20px);
  background: var(--psr-mint-20);
  text-align: center;
}
.psr-blok.psr-info .psr-info-cta::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: var(--psr-fala-h);
  background: var(--psr-fala-nad, var(--psr-white));
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  animation: psr-fala 21s linear infinite;
  pointer-events: none;
}
.psr-blok.psr-info .psr-info-cta-tytul {
  margin: 0;
  color: var(--psr-night);
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.05;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-info-cta-lead {
  margin: 0;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.55;
}
.psr-blok.psr-info .psr-info-cta-akcje {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 4px;
}

/* ---------- 11. Tablet ---------- */
@media (max-width: 991px) {
  .psr-blok.psr-info .psr-info-scena {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-info-karty,
  .psr-blok.psr-info .psr-info-karty--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .psr-blok.psr-info .psr-info-kroki {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .psr-blok.psr-info .psr-info-kroki > li:nth-child(2n)::after {
    content: none;
  }
  .psr-blok.psr-info .psr-info-dwie {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-dok {
    grid-template-columns: minmax(0, 1fr);
  }
  /* spis treści: rozwijany na górze */
  .psr-blok.psr-info .psr-dok-spis {
    position: static;
    max-height: none;
    padding: 0;
  }
  .psr-blok.psr-info .psr-dok-spis summary {
    justify-content: space-between;
    margin: 0;
    padding: 18px 22px;
    pointer-events: auto;
    cursor: pointer;
  }
  .psr-blok.psr-info .psr-dok-spis summary::after {
    content: "";
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--psr-mint-20) var(--psr-i-chevron) center / 16px no-repeat;
    transition: rotate var(--psr-t-base) var(--psr-spring);
  }
  .psr-blok.psr-info .psr-dok-spis[open] summary::after {
    rotate: 180deg;
  }
  .psr-blok.psr-info .psr-dok-spis ol {
    padding: 0 12px 18px;
  }
}

/* ---------- 12. Telefon ---------- */
@media (max-width: 767px) {
  .psr-blok.psr-info .psr-info-hero {
    padding: calc(var(--psr-nag-fala-h) + 12px) 16px calc(var(--psr-info-hero-fala) + 14px);
  }
  .psr-blok.psr-info .psr-info-scena {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .psr-blok.psr-info .psr-info-hero-tresc {
    justify-items: center;
    text-align: center;
  }
  .psr-blok.psr-info .psr-info-tytul {
    font-size: 36px;
  }
  .psr-blok.psr-info .psr-info-lead {
    font-size: 16.5px;
  }
  .psr-blok.psr-info .psr-info-skroty {
    justify-content: center;
  }
  .psr-blok.psr-info .psr-info-skroty > li > :is(a, span) {
    min-height: 38px;
    padding: 7px 13px 8px;
    font-size: 14.5px;
  }
  .psr-blok.psr-info .psr-info-akcje {
    justify-content: center;
    width: 100%;
  }
  .psr-blok.psr-info .psr-info-akcje .psr-btn {
    flex: 1 1 100%;
  }
  .psr-blok.psr-info .psr-info-foto {
    width: min(64%, 240px);
  }
  .psr-blok.psr-info .psr-info-dymek {
    left: -26px;
    font-size: 16px;
  }
  .psr-blok.psr-info .psr-info-dymek--prawy {
    left: auto;
    right: -22px;
  }
  .psr-blok.psr-info .psr-info-iskra {
    display: none;
  }
  .psr-blok.psr-info .psr-info-sekcja {
    padding: 36px 16px;
  }
  .psr-blok.psr-info .psr-info-fala-nad {
    padding-top: calc(var(--psr-fala-h) + 22px);
  }
  .psr-blok.psr-info .psr-info-karty,
  .psr-blok.psr-info .psr-info-karty--2,
  .psr-blok.psr-info .psr-info-karty--4 {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-info-kroki {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .psr-blok.psr-info .psr-info-kroki > li {
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 4px;
  }
  .psr-blok.psr-info .psr-info-kroki > li::before {
    grid-row: span 2;
    width: 52px;
    height: 52px;
    margin: 0;
    font-size: 24px;
  }
  .psr-blok.psr-info .psr-info-kroki > li:not(:last-child)::after {
    content: "";
    top: 62px;
    bottom: -14px;
    left: 25px;
    right: auto;
    border-top: 0;
    border-left: 3px dashed rgba(51, 140, 142, 0.3);
  }
  .psr-blok.psr-info .psr-info-faq summary {
    padding: 16px 58px 16px 18px;
    font-size: 17px;
  }
  .psr-blok.psr-info .psr-info-faq .psr-info-odp {
    padding: 0 18px 18px;
    font-size: 15.5px;
  }
  .psr-blok.psr-info .psr-info-ramka {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  .psr-blok.psr-info .psr-info-ramka > .psr-info-ikona {
    --psr-ic-size: 20px;
    width: 42px;
    height: 42px;
    border-radius: 14px;
  }
  .psr-blok.psr-info .psr-info-ramka-tresc {
    font-size: 15.5px;
  }
  .psr-blok.psr-info .psr-info-ramka-tresc strong {
    font-size: 18px;
  }
  /* karta: ikona obok tytułu, reszta pod spodem */
  .psr-blok.psr-info .psr-info-karta {
    flex-flow: row wrap;
    align-items: center;
    gap: 12px 14px;
    padding: 20px;
    border-radius: 28px;
  }
  .psr-blok.psr-info .psr-info-karta > :not(.psr-info-ikona, .psr-info-karta-tytul) {
    flex: 0 0 100%;
  }
  .psr-blok.psr-info .psr-info-karta > .psr-info-logo {
    height: 50px;
    max-width: 150px;
  }
  .psr-blok.psr-info .psr-info-karta > .psr-info-logo + .psr-info-karta-tytul {
    flex: 0 0 100%;                     /* logo ma max-width – tytuł schodzi pod nie */
  }
  .psr-blok.psr-info .psr-info-karta .psr-info-ikona {
    --psr-ic-size: 22px;
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }
  .psr-blok.psr-info .psr-info-karta-tytul {
    flex: 1 1 0;
    margin: 0;
    font-size: 21px;
  }
  .psr-blok.psr-info .psr-druk-rzad,
  .psr-blok.psr-info .psr-druk-podpisy {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-druk-arkusz::before {
    width: 46px;
    top: 16px;
    right: 16px;
  }
  .psr-blok.psr-info .psr-druk-tytul {
    padding-right: 54px;
  }
  .psr-blok.psr-info .psr-dok-rozdzial {
    padding: 22px 18px;
    border-radius: 26px;
  }
  .psr-blok.psr-info .psr-dok-rozdzial :is(p, li) {
    font-size: 16px;
  }
  .psr-blok.psr-info .psr-dok-rozdzial ol.psr-dok-ust > li {
    padding-left: 38px;
  }
  .psr-blok.psr-info .psr-dok-skrot-lista {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-dok-tabela,
  .psr-blok.psr-info .psr-dok-tabela tbody,
  .psr-blok.psr-info .psr-dok-tabela tr,
  .psr-blok.psr-info .psr-dok-tabela td {
    display: block;
  }
  .psr-blok.psr-info .psr-dok-tabela thead {
    display: none;
  }
  .psr-blok.psr-info .psr-dok-tabela tr {
    margin-bottom: 10px;
    padding: 12px 14px;
    border-radius: 16px;
    background: var(--psr-mint-8);
  }
  .psr-blok.psr-info .psr-dok-tabela td,
  .psr-blok.psr-info .psr-dok-tabela td:first-child,
  .psr-blok.psr-info .psr-dok-tabela td:last-child {
    padding: 3px 0;
    border-radius: 0;
    background: none;
  }
  .psr-blok.psr-info .psr-dok-tabela td[data-etykieta]::before {
    content: attr(data-etykieta) ": ";
    color: var(--psr-muted);
  }
  .psr-blok.psr-info .psr-info-cta-akcje .psr-btn {
    flex: 1 1 100%;
  }
}

/* ---------- 13. Wydruk ----------
   strona z formularzem (zwroty, reklamacje): drukuje się sam arkusz – ukryte jest wszystko, co go nie zawiera
   i nie leży w nim, a przodkowie arkusza tracą odstępy i tła; dokument (regulamin, polityka): sama treść bez sceny i spisu. */
@media print {
  html:has(.psr-druk-arkusz) body :not(:has(.psr-druk-arkusz), .psr-druk-arkusz, .psr-druk-arkusz *) {
    display: none !important;
  }
  html:has(.psr-druk-arkusz) body :has(.psr-druk-arkusz) {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }
  html:has(.psr-druk-arkusz) body :has(.psr-druk-arkusz)::before,
  html:has(.psr-druk-arkusz) body :has(.psr-druk-arkusz)::after {
    content: none !important;
  }
  .psr-blok.psr-info .psr-druk-arkusz {
    gap: 12pt;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 11pt;
  }
  .psr-blok.psr-info .psr-druk-arkusz::before {
    top: 0;
    right: 0;
    width: 46px;
  }
  .psr-blok.psr-info .psr-druk-tytul {
    min-height: 40px;
    padding-right: 60px;
  }
  .psr-blok.psr-info .psr-druk-linia {
    min-height: 24px;
  }
  .psr-blok.psr-info .psr-druk-linia--2 {
    min-height: 48px;
  }
  .psr-blok.psr-info .psr-druk-linia--3 {
    min-height: 72px;
  }
  .psr-blok.psr-info :is(.psr-druk-linia--2, .psr-druk-linia--3) {
    background: repeating-linear-gradient(transparent 0 22px, #9fb5b5 22px 24px);
  }
  .psr-blok.psr-info .psr-druk-podpisy {
    margin-top: 4pt;
  }
  /* kartka A4 jest węższa niż 767 px – pola obok siebie jak na komputerze */
  .psr-blok.psr-info :is(.psr-druk-rzad, .psr-druk-podpisy) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .psr-blok.psr-info .psr-druk-akcje {
    display: none;
  }
  html:has(.psr-dok) [id="wrapper"] > :is(header, footer),
  html:has(.psr-dok) :is(.psr-info-hero, .psr-dok-spis, .psr-info-cta, .psr-info-akcje) {
    display: none !important;
  }
  html:has(.psr-dok) [id="wrapper"] > .content {
    padding: 0 !important;
  }
  .psr-blok.psr-info .psr-info-dok-sekcja {
    padding: 0;
    background: none;
  }
  .psr-blok.psr-info :is(.psr-dok, .psr-dok-tresc, .psr-dok-ust, .psr-dok-pkt),
  .psr-blok.psr-info .psr-dok-rozdzial ul {
    display: block;
  }
  .psr-blok.psr-info .psr-dok-rozdzial {
    margin: 0 0 14pt;
    padding: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }
  .psr-blok.psr-info .psr-dok-rozdzial h2 {
    break-after: avoid;
  }
  .psr-blok.psr-info .psr-dok-rozdzial li {
    margin-bottom: 5pt;
  }
  .psr-blok.psr-info .psr-dok-rozdzial :is(p, li) {
    font-size: 10.5pt;
    line-height: 1.5;
  }
  .psr-blok.psr-info .psr-dok-skrot {
    margin-bottom: 14pt;
    box-shadow: none;
  }
}

/* ----- 73-info-strony.css ----- */
/* ==========================================================================
   73-info-strony.css – szczegóły poszczególnych stron informacyjnych (rama: 72-info.css), 24.09.2026
   ========================================================================== */

/* cele kotwic nie chowają się pod przypiętym menu */
.psr-blok.psr-info [id] {
  scroll-margin-top: calc(var(--psr-naglowek-lepki-h, 0px) + 16px);
}

/* ---------- /dostawcy ---------- */
.psr-blok.psr-info .psr-info-prog {
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  margin-top: clamp(22px, 2.6vw, 32px);
}
.psr-blok.psr-info .psr-info-kroki-ramka {
  margin-top: clamp(26px, 3vw, 40px);
}
.psr-info--dostawa .psr-info-foto-ramka img {
  object-position: 50% 40%;
}
/* ---------- /formyplatnosci ---------- */
.psr-info--platnosci .psr-info-foto-ramka img {
  object-position: 50% 30%;
}
/* logo operatora zajmuje tyle miejsca co kafel ikony – tytuły kart w jednej linii */
.psr-blok.psr-info .psr-info-karta .psr-info-logo {
  height: 58px;
  max-width: 170px;
  padding: 8px 0;
}

/* ---------- /zwrotwymiana ---------- */
.psr-info--zwroty .psr-info-foto-ramka img {
  object-position: 50% 30%;
}
.psr-info--zwroty .psr-info-dymek {
  top: 2%;
}

/* ---------- /procedurareklamacyjna ---------- */
.psr-info--reklamacje .psr-info-foto-ramka img {
  object-position: 42% 50%;
}

/* ---------- /kontakt: siatka treści – hero (blok 1) na całą szerokość, pod nim formularz platformy | blok 2 ----------
   kolumny Bootstrapa znikają z układu (display: contents), widgety same wybierają pole siatki – kolejność w panelu
   nie ma znaczenia. Pas pod formularzem (mięta 8) = ::before wiersza na całą szerokość okna. */
html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 360px);
  grid-template-areas:
    "hero hero"
    "form bok";
  column-gap: clamp(24px, 3.4vw, 52px);
  margin: 0;
}
html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row > [class*="col-"] {
  display: contents;
}
html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row::before {
  content: "";
  display: block;
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0 calc(50% - 50vw);
  background: var(--psr-mint-8);
}
html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row::after {
  content: none;
}
html.Kontakt .content .widget.custom:has(> .widget-content > .psr-info--kontakt) {
  grid-area: hero;
}
html.Kontakt .content .widget.contact-form {
  position: relative;
  grid-area: form;
  align-self: start;
  padding: clamp(18px, 2vw, 30px) 0 clamp(40px, 5vw, 70px);
}
html.Kontakt .content .widget.custom:has(> .widget-content > .psr-info-kbok) {
  position: relative;
  grid-area: bok;
  align-self: start;
  padding: clamp(18px, 2vw, 30px) 0 clamp(40px, 5vw, 70px);
}
/* koniec treści = pas mięty 8, stopka (sznaucer) w tym samym kolorze */
html.Kontakt [id="wrapper"]:has(.psr-info--kontakt) > .content .container-fluid > .row,
html.Kontakt [id="wrapper"]:has(.psr-info--kontakt) > .content .container-fluid > .row > .container {
  margin-bottom: 0;
  padding-bottom: 0;
}
html.Kontakt [id="wrapper"]:has(.psr-info--kontakt) > footer {
  margin-top: 0;
  background: var(--psr-mint-8);
}
/* nagłówek formularza jak tytuł sekcji */
html.Kontakt .content:has(.psr-info--kontakt) .contact-form .widget-header {
  margin: 0 0 18px;
}
html.Kontakt .content:has(.psr-info--kontakt) .contact-form .widget-header h4 {
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.05;
}
html.Kontakt .content:has(.psr-info--kontakt) .contact-form .widget-content {
  --psr-lift: var(--psr-lift-mint-8);
}

.psr-blok.psr-info .psr-info-kontakt-karty {
  padding-bottom: calc(var(--psr-fala-h) + clamp(30px, 4vw, 56px));
}
.psr-blok.psr-info .psr-info-kontakt-karty .psr-info-karty {
  margin-top: calc(-1 * clamp(10px, 1.6vw, 22px));
}
.psr-blok.psr-info .psr-info-wartosc {
  color: var(--psr-night);
  font-size: clamp(18px, 1.8vw, 24px);   /* e-mail mieści się w jednej linii także przy 992–1199 px */
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.psr-blok.psr-info a.psr-info-wartosc:is(:hover, :focus-visible) {
  color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-info-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
}
.psr-blok.psr-info .psr-info-link .psr-ic {
  --psr-ic-size: 16px;
  transition: translate var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-info .psr-info-link:hover .psr-ic {
  translate: 3px 0;
}
.psr-blok.psr-info .psr-info-kotwica {
  display: block;
  height: 0;
}
.psr-info--kontakt .psr-info-foto-ramka img {
  object-position: 45% 30%;
}
/* blok 2: dane firmy + skróty */
.psr-blok.psr-info-kbok {
  display: grid;
  gap: 18px;
}
.psr-blok.psr-info-kbok .psr-info-kbok-karta {
  display: grid;
  gap: 10px;
  padding: 24px 24px 26px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift-mint-8);
  color: var(--psr-ink);
  font-size: 15.5px;
  line-height: 1.5;
}
.psr-blok.psr-info-kbok .psr-info-kbok-karta--jasna {
  background: var(--psr-mint-20);
  box-shadow: none;
}
.psr-blok.psr-info-kbok p {
  margin: 0;
}
.psr-blok.psr-info-kbok .psr-info-kbok-tytul {
  margin: 0 0 2px;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.15;
  text-transform: uppercase;
}
.psr-blok.psr-info-kbok .psr-info-kbok-firma {
  color: var(--psr-night);
  font-size: 17px;
}
.psr-blok.psr-info-kbok .psr-info-kbok-numery {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 14px;
  margin: 4px 0 0;
}
.psr-blok.psr-info-kbok .psr-info-kbok-numery dt {
  color: var(--psr-muted);
  font-weight: 400;
  letter-spacing: 0.06em;
}
.psr-blok.psr-info-kbok .psr-info-kbok-numery dd {
  margin: 0;
  color: var(--psr-night);
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki li {
  margin: 0;
  padding: 0;
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki li::before {
  content: none;
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki a {
  --psr-focus: var(--psr-night);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 16px;
  color: var(--psr-night);
  font-size: 16.5px;
  text-decoration: none;
  transition: background-color var(--psr-t-fast) ease, translate var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki a:is(:hover, :focus-visible) {
  background: var(--psr-white);
  translate: 4px 0;
}
.psr-blok.psr-info-kbok .psr-info-kbok-linki .psr-ic {
  --psr-ic-size: 20px;
  color: var(--psr-mint-deep);
}
@media (max-width: 991px) {
  html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "hero"
      "form"
      "bok";
  }
  html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container > .row::before {
    grid-row: 2 / 4;
  }
  html.Kontakt .content .widget.contact-form {
    padding-bottom: 8px;
  }
  .psr-blok.psr-info-kbok {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
@media (max-width: 767px) {
  html.Kontakt [id="wrapper"] > .content:has(.psr-info--kontakt) .container-fluid > .row > .container {
    padding-inline: 16px;               /* ten sam margines co karty bloku (16 px) */
  }
  .psr-blok.psr-info-kbok {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-info-wartosc {
    font-size: 21px;
  }
}

/* ---------- /regulamin, /politykaprywatnosci ---------- */
.psr-info--regulamin .psr-info-foto-ramka img {
  object-position: 50% 26%;
}
.psr-info--polityka .psr-info-foto-ramka img {
  object-position: 70% 40%;
}
.psr-blok.psr-info .psr-info-dok-sekcja {
  padding-top: clamp(24px, 3vw, 40px);
  padding-bottom: calc(var(--psr-fala-h) + clamp(30px, 4vw, 56px));
}

@media (max-width: 767px) {
  .psr-blok.psr-info .psr-info-prog {
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
  }
  .psr-blok.psr-info .psr-info-prog-btn {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
}

/* ----- 74-kalkulator.css ----- */
/* ==========================================================================
   74-kalkulator.css – strona /kalkulator (html.Kalkulator), blok bloki/strona-kalkulator.html (24.09.2026).
   Rama strony (hero, sekcje, kroki, pytania, zakończenie): 72-info.css. Tu: formularz w krokach (białe karty),
   wybory jako pastylki, skala BCS, karty karm, panel wyniku w mięcie głębokiej (przyklejony obok formularza),
   pasek wyniku na telefonie i wydruk samego wyniku. Pola tekstowe i listy mają wygląd KV z 03-formularze.css.
   ========================================================================== */

.psr-blok.psr-info .psr-kalk-sekcja {
  padding-top: clamp(24px, 3vw, 40px);
}
.psr-blok.psr-info .psr-kalk {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(20px, 2.6vw, 36px);
}
.psr-blok.psr-info .psr-kalk [hidden] {
  display: none !important;
}

/* ---------- 1. Kroki formularza ---------- */
.psr-blok.psr-info .psr-kalk-forma {
  display: grid;
  gap: 18px;
  min-width: 0;
  margin: 0;
}
.psr-blok.psr-info .psr-kalk-krok {
  min-width: 0;
  margin: 0;
  padding: clamp(22px, 2.6vw, 32px);
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
.psr-blok.psr-info .psr-kalk-krok-tytul {
  float: left;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  color: var(--psr-night);
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.15;
}
.psr-blok.psr-info .psr-kalk-nr {
  display: grid;
  flex: none;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: 0 3px 0 var(--psr-sole-mint);
  color: var(--psr-white);
  font-size: 22px;
  line-height: 1;
}
.psr-blok.psr-info .psr-kalk-krok:nth-child(2) .psr-kalk-nr { background: var(--psr-lilac-deep); box-shadow: 0 3px 0 var(--psr-heart-sole-lilac); }
.psr-blok.psr-info .psr-kalk-krok:nth-child(3) .psr-kalk-nr { background: var(--psr-lime); box-shadow: 0 3px 0 var(--psr-heart-sole-lime); color: var(--psr-night); }
.psr-blok.psr-info .psr-kalk-krok:nth-child(4) .psr-kalk-nr { background: var(--psr-night); box-shadow: 0 3px 0 var(--psr-heart-sole-night); }
.psr-blok.psr-info .psr-kalk-krok-tresc {
  clear: both;
  display: grid;
  gap: 20px;
  min-width: 0;
}
.psr-blok.psr-info .psr-kalk-grupa {
  display: grid;
  gap: 20px;
}
.psr-blok.psr-info .psr-kalk-rzad {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}

/* ---------- 2. Pola ---------- */
.psr-blok.psr-info .psr-kalk-pole {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}
.psr-blok.psr-info .psr-kalk-etykieta {
  padding-inline: 4px;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.25;
}
.psr-blok.psr-info .psr-kalk-opcjonalne {
  color: var(--psr-muted);
  font-size: 14px;
}
.psr-blok.psr-info .psr-kalk-podpowiedz {
  padding-inline: 4px;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk :is(input[type="text"], select) {
  width: 100%;
  margin: 0;
}
/* pole z jednostką po prawej (kg, %, g, mies.) */
.psr-blok.psr-info .psr-kalk-jednostka {
  position: relative;
}
.psr-blok.psr-info .psr-kalk-jednostka input[type="text"] {
  padding-right: 64px;
}
.psr-blok.psr-info .psr-kalk-jednostka > span {
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  color: var(--psr-muted);
  font-size: 16px;
  pointer-events: none;
}
/* energia: liczba + jednostka w jednym rzędzie */
.psr-blok.psr-info .psr-kalk-energia {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 10px;
}
.psr-blok.psr-info .psr-kalk-energia select {
  padding-left: 18px;
  padding-right: 42px;
  background-position: right 14px center;
}

/* ---------- 3. Wybory jako pastylki (radio ukryte, etykieta = pastylka) ---------- */
.psr-blok.psr-info .psr-kalk-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}
.psr-blok.psr-info .psr-kalk-segment {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.psr-blok.psr-info .psr-kalk-opcja {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  margin: 0;
  padding: 10px 20px 11px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
  color: var(--psr-night);
  font-size: 16.5px;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, box-shadow var(--psr-t-base) ease, color var(--psr-t-fast) ease, translate var(--psr-t-base) var(--psr-spring);
}
.psr-blok.psr-info .psr-kalk-opcja:hover {
  box-shadow: inset 0 0 0 2px var(--psr-mint-40);
}
.psr-blok.psr-info .psr-kalk-radio:checked + .psr-kalk-opcja {
  background: var(--psr-mint-deep);
  box-shadow: 0 3px 0 var(--psr-sole-mint);
  color: var(--psr-white);
  translate: 0 -2px;
}
.psr-blok.psr-info .psr-kalk-radio:focus-visible + :is(.psr-kalk-opcja, .psr-kalk-bcs-st) {
  outline: 3px solid var(--psr-night);
  outline-offset: 3px;
}
.psr-blok.psr-info .psr-kalk-opcja .psr-ic {
  --psr-ic-size: 24px;
}
.psr-blok.psr-info .psr-kalk-segment--duzy .psr-kalk-opcja {
  flex: 1 1 0;
  min-height: 64px;
  font-size: 21px;
}
.psr-blok.psr-info .psr-kalk-opcja--kwadrat {
  min-width: 52px;
  padding-inline: 12px;
}
/* zakładki metody: jaśniejsze, wybrana liliowa */
.psr-blok.psr-info .psr-kalk-segment--zakladki .psr-kalk-radio:checked + .psr-kalk-opcja {
  background: var(--psr-lilac-deep);
  box-shadow: 0 3px 0 var(--psr-heart-sole-lilac);
}

/* ---------- 4. Skala BCS ---------- */
.psr-blok.psr-info .psr-kalk-bcs {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 6px;
}
.psr-blok.psr-info .psr-kalk-bcs-st {
  --psr-bcs: var(--psr-mint-20);
  display: grid;
  place-items: center;
  height: 48px;
  margin: 0;
  border-radius: 14px;
  background: var(--psr-bcs);
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
.psr-blok.psr-info .psr-kalk-bcs-st--chudy { --psr-bcs: var(--psr-lilac-20, #eadff0); }
.psr-blok.psr-info .psr-kalk-bcs-st--ok { --psr-bcs: var(--psr-mint-20); }
.psr-blok.psr-info .psr-kalk-bcs-st--nadwaga { --psr-bcs: var(--psr-lime-20, #f3f6c8); }
.psr-blok.psr-info .psr-kalk-bcs-st--otylosc { --psr-bcs: var(--psr-coral-20, #f8dcdc); }
.psr-blok.psr-info .psr-kalk-bcs-st:hover {
  translate: 0 -2px;
}
.psr-blok.psr-info .psr-kalk-radio:checked + .psr-kalk-bcs-st {
  background: var(--psr-night);
  box-shadow: 0 3px 0 var(--psr-sole-mint);
  color: var(--psr-white);
  translate: 0 -3px;
}
.psr-blok.psr-info .psr-kalk-bcs-skala {
  display: grid;
  grid-template-columns: 3fr 2fr 2fr 2fr;
  gap: 6px;
  color: var(--psr-muted);
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
}
.psr-blok.psr-info .psr-kalk-bcs-opis {
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--psr-mint-8);
  color: var(--psr-ink);
  font-size: 15px;
  line-height: 1.5;
}

/* ---------- 5. Karty karm ---------- */
.psr-blok.psr-info .psr-kalk-karma {
  display: grid;
  gap: 18px;
  padding: clamp(18px, 2vw, 24px);
  border-radius: var(--psr-radius-tile);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
}
.psr-blok.psr-info .psr-kalk-karma--druga {
  background: var(--psr-lilac-8);
  box-shadow: inset 0 0 0 2px rgba(162, 111, 179, 0.2);
}
.psr-blok.psr-info .psr-kalk-karma-tytul {
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1.2;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-kalk-karma :is(input[type="text"], select) {
  background-color: var(--psr-white);
}
.psr-blok.psr-info .psr-kalk-karma .psr-kalk-opcja {
  background: var(--psr-white);
}
.psr-blok.psr-info .psr-kalk-metoda {
  display: grid;
  gap: 14px;
}
.psr-blok.psr-info .psr-kalk-sklad {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  gap: 14px 12px;
}
.psr-blok.psr-info .psr-kalk-sklad input[type="text"] {
  padding-left: 18px;
  padding-right: 40px;
}
.psr-blok.psr-info .psr-kalk-sklad .psr-kalk-jednostka > span {
  right: 18px;
}
.psr-blok.psr-info .psr-kalk-sklad .psr-kalk-etykieta {
  font-size: 15.5px;
}
.psr-blok.psr-info .psr-kalk-wyliczenie:not(:empty) {
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--psr-white);
  color: var(--psr-night);
  font-size: 15.5px;
  line-height: 1.45;
}
.psr-blok.psr-info .psr-kalk-przelacznik {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1.3;
  cursor: pointer;
}
.psr-blok.psr-info .psr-kalk-przelacznik input {
  flex: none;
  margin: 0;
}
.psr-blok.psr-info .psr-kalk-dwie {
  display: grid;
  gap: 18px;
}
.psr-blok.psr-info .psr-kalk-udzial input[type="range"] {
  width: 100%;
  margin: 6px 0 0;
  accent-color: var(--psr-mint-deep);
}
.psr-blok.psr-info .psr-kalk-udzial-opis {
  padding-inline: 4px;
  color: var(--psr-night);
  font-size: 15.5px;
}
.psr-blok.psr-info .psr-kalk-reset {
  justify-self: start;
  padding: 6px 4px;
  border: 0;
  background: none;
  color: var(--psr-muted);
  font-family: var(--psr-font);
  font-size: 15px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.psr-blok.psr-info .psr-kalk-reset:hover {
  color: var(--psr-night);
}

/* ---------- 6. Wynik ---------- */
.psr-blok.psr-info .psr-kalk-wynik {
  --psr-lift: var(--psr-lift-mint-deep);
  position: sticky;
  top: calc(var(--psr-naglowek-lepki-h, 0px) + 24px);
  max-height: calc(100vh - var(--psr-naglowek-lepki-h, 0px) - 48px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.35) transparent;
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: clamp(24px, 2.6vw, 32px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-mint-deep) radial-gradient(60% 50% at 100% 0%, rgba(101, 194, 196, 0.45), rgba(101, 194, 196, 0) 70%);
  box-shadow: 0 24px 50px -30px rgba(27, 80, 82, 0.6);
  color: var(--psr-white);
}
.psr-blok.psr-info .psr-kalk-wynik-tytul {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: var(--psr-white);
  font-size: 24px;
  line-height: 1.1;
  text-transform: uppercase;
}
.psr-blok.psr-info .psr-kalk-wynik-tytul::before {
  content: "";
  width: 34px;
  aspect-ratio: 1620 / 1418;
  background: var(--psr-svg-sygnet-bialy) center / contain no-repeat;
}
.psr-blok.psr-info [data-wynik] {
  display: grid;
  gap: 14px;
}
.psr-blok.psr-info .psr-kalk-wynik-pusty {
  padding: 18px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--psr-white);
  font-size: 17px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk-wynik-kto {
  color: rgba(255, 255, 255, 0.85);
  font-size: 16px;
}
.psr-blok.psr-info .psr-kalk-porcja {
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.1);
}
.psr-blok.psr-info .psr-kalk-porcja-nazwa {
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
}
.psr-blok.psr-info .psr-kalk-porcja-g {
  color: var(--psr-white);
  font-size: 24px;
  line-height: 1;
}
.psr-blok.psr-info .psr-kalk-porcja-g strong {
  color: var(--psr-lime);
  font-size: clamp(52px, 4.6vw, 68px);
  font-weight: 400;
  line-height: 0.95;
}
.psr-blok.psr-info .psr-kalk-porcja-g span {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.85);
}
.psr-blok.psr-info .psr-kalk-porcja-dod {
  color: var(--psr-white);
  font-size: 16.5px;
  line-height: 1.4;
}
.psr-blok.psr-info .psr-kalk-wynik-lista {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-info .psr-kalk-wynik-lista li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2px 12px;
  margin: 0;
  padding: 10px 2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.85);
  font-size: 15.5px;
  line-height: 1.35;
}
.psr-blok.psr-info .psr-kalk-wynik-lista li::before {
  content: none;
}
.psr-blok.psr-info .psr-kalk-wynik-lista strong {
  color: var(--psr-white);
  font-weight: 400;
  text-align: right;
}
.psr-blok.psr-info .psr-kalk-woda {
  color: rgba(255, 255, 255, 0.85);
  font-size: 14.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk-plan {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--psr-lime);
  color: var(--psr-night);
  font-size: 15px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk-plan strong {
  font-size: 17px;
  font-weight: 400;
}
.psr-blok.psr-info .psr-kalk-plan p {
  color: var(--psr-night);
}
.psr-blok.psr-info .psr-kalk-uwaga {
  position: relative;
  padding: 12px 14px 12px 44px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: var(--psr-white);
  font-size: 14.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk-uwaga::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 13px;
  width: 20px;
  height: 20px;
  background: var(--psr-lime);
  -webkit-mask: var(--psr-i-info) center / contain no-repeat;
  mask: var(--psr-i-info) center / contain no-repeat;
}
.psr-blok.psr-info .psr-kalk-szczegoly {
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.1);
}
.psr-blok.psr-info .psr-kalk-szczegoly summary {
  --psr-focus: var(--psr-white);
  padding: 12px 16px;
  color: var(--psr-white);
  font-size: 16px;
  cursor: pointer;
}
/* rozwijane: zamiast systemowego trójkąta kółko z plusem jak w pytaniach (72-info.css) */
.psr-blok.psr-info :is(.psr-kalk-szczegoly, .psr-kalk-tabela) summary {
  position: relative;
  padding-right: 56px;
  list-style: none;
}
.psr-blok.psr-info :is(.psr-kalk-szczegoly, .psr-kalk-tabela) summary::-webkit-details-marker {
  display: none;
}
.psr-blok.psr-info :is(.psr-kalk-szczegoly, .psr-kalk-tabela) summary::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  border-radius: 50%;
  background: var(--psr-mint-20) var(--psr-i-plus) center / 14px no-repeat;
  transition: rotate var(--psr-t-base) var(--psr-spring), background-color var(--psr-t-fast) ease;
}
.psr-blok.psr-info :is(.psr-kalk-szczegoly, .psr-kalk-tabela)[open] summary::after {
  rotate: 45deg;
  background-color: var(--psr-lime);
}
.psr-blok.psr-info .psr-kalk-szczegoly-tresc {
  display: grid;
  gap: 8px;
  padding: 0 16px 14px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 1.55;
}
.psr-blok.psr-info .psr-kalk-szczegoly-tresc p {
  color: inherit;
}
.psr-blok.psr-info .psr-kalk-zastrzezenie {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13.5px;
  line-height: 1.5;
}
.psr-blok.psr-info .psr-kalk-wynik-akcje {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.psr-blok.psr-info .psr-kalk-wynik a:not(.psr-btn) {
  color: var(--psr-lime);
}

/* ---------- 7. Pasek wyniku (telefon i tablet, gdy panel wyniku jest poza ekranem) ---------- */
.psr-blok.psr-info .psr-kalk-mini {
  display: none;
}
@media (max-width: 991px) {
  .psr-blok.psr-info .psr-kalk-mini:not([hidden]) {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 1020;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 10px 10px 18px;
    border-radius: 22px;
    background: var(--psr-night);
    box-shadow: 0 16px 34px -14px rgba(14, 48, 49, 0.6);
    color: var(--psr-white);
    font-size: 15.5px;
    line-height: 1.3;
    animation: psr-nag-zjazd var(--psr-t-big) var(--psr-spring) both;
  }
  .psr-blok.psr-info .psr-kalk-mini-link {
    flex: none;
    padding: 10px 16px;
    border-radius: var(--psr-radius-pill);
    background: var(--psr-lime);
    color: var(--psr-night);
    font-size: 15px;
    text-decoration: none;
  }
  .psr-blok.psr-info .psr-kalk-mini-link:is(:hover, :focus-visible) {
    color: var(--psr-night);
  }
}

/* ---------- 8. Jak liczymy – tabela współczynników, pytania ze zdjęciem ---------- */
.psr-blok.psr-info .psr-kalk-tabela {
  margin-top: clamp(24px, 3vw, 36px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-mint-8);
  box-shadow: inset 0 0 0 2px var(--psr-mint-20);
}
.psr-blok.psr-info .psr-kalk-tabela summary {
  --psr-focus: var(--psr-night);
  padding: 20px 26px;
  color: var(--psr-night);
  font-size: 20px;
  cursor: pointer;
}
.psr-blok.psr-info .psr-kalk-tabela-tresc {
  padding: 0 clamp(16px, 2vw, 26px) 22px;
  overflow-x: auto;
}
.psr-blok.psr-info .psr-kalk-tabela .psr-dok-tabela td {
  background: var(--psr-white);
}
.psr-blok.psr-info .psr-kalk-faq {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
  align-items: start;
  gap: clamp(24px, 4vw, 64px);
}
.psr-blok.psr-info .psr-kalk-faq-foto {
  position: sticky;
  top: calc(var(--psr-naglowek-lepki-h, 0px) + 40px);
  margin-top: 40px;
}
.psr-blok.psr-info .psr-kalk-faq-foto .psr-info-foto-ramka img {
  object-position: 50% 30%;
}
.psr-info--kalkulator .psr-info-hero .psr-info-foto-ramka img {
  object-position: 50% 32%;
}

/* ---------- 9. Tablet i telefon ---------- */
@media (max-width: 991px) {
  .psr-blok.psr-info .psr-kalk {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-kalk-wynik {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .psr-blok.psr-info .psr-kalk-faq {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-kalk-faq-foto {
    display: none;
  }
}
@media (max-width: 767px) {
  .psr-blok.psr-info .psr-kalk-krok {
    padding: 20px 16px;
    border-radius: 26px;
  }
  .psr-blok.psr-info .psr-kalk-krok-tytul {
    font-size: 21px;
  }
  .psr-blok.psr-info .psr-kalk-nr {
    width: 38px;
    height: 38px;
    font-size: 19px;
  }
  .psr-blok.psr-info .psr-kalk-rzad {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-info .psr-kalk-opcja {
    min-height: 46px;
    padding: 9px 16px 10px;
    font-size: 15.5px;
  }
  .psr-blok.psr-info .psr-kalk-segment:not(.psr-kalk-segment--duzy) .psr-kalk-opcja:not(.psr-kalk-opcja--kwadrat) {
    flex: 1 1 auto;
  }
  .psr-blok.psr-info .psr-kalk-bcs {
    gap: 4px;
  }
  .psr-blok.psr-info .psr-kalk-bcs-st {
    height: 42px;
    border-radius: 12px;
    font-size: 16px;
  }
  .psr-blok.psr-info .psr-kalk-bcs-skala {
    font-size: 11.5px;
  }
  .psr-blok.psr-info .psr-kalk-karma {
    padding: 16px 14px;
  }
  .psr-blok.psr-info .psr-kalk-energia {
    grid-template-columns: minmax(0, 1fr) 142px;
  }
  .psr-blok.psr-info .psr-kalk-sklad {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .psr-blok.psr-info .psr-kalk-wynik {
    padding: 22px 18px;
    border-radius: 26px;
  }
  .psr-blok.psr-info .psr-kalk-wynik-akcje .psr-btn {
    flex: 1 1 100%;
  }
}

/* ---------- 10. Wydruk: sam wynik ---------- */
@media print {
  html:has(.psr-kalk) [id="wrapper"] > :is(header, footer),
  html:has(.psr-kalk) .psr-info--kalkulator > section:not(.psr-kalk-sekcja),
  html:has(.psr-kalk) :is(.psr-kalk-forma, .psr-kalk-mini, .psr-kalk-wynik-akcje, .insert-vendero-footer),
  .psr-blok.psr-info .psr-kalk-szczegoly summary::after {
    display: none !important;
  }
  html:has(.psr-kalk) [id="wrapper"] > .content {
    padding: 0 !important;
  }
  .psr-blok.psr-info .psr-kalk-sekcja {
    padding: 0;
    background: none;
  }
  .psr-blok.psr-info .psr-kalk {
    display: block;
  }
  .psr-blok.psr-info .psr-kalk-wynik {
    position: static;
    padding: 0;
    background: none;
    box-shadow: none;
    color: var(--psr-ink);
  }
  .psr-blok.psr-info .psr-kalk-wynik :is(.psr-kalk-wynik-tytul, .psr-kalk-wynik-kto, .psr-kalk-porcja-g, .psr-kalk-porcja-g span, .psr-kalk-porcja-dod, .psr-kalk-porcja-nazwa, .psr-kalk-wynik-lista li, .psr-kalk-wynik-lista strong, .psr-kalk-woda, .psr-kalk-uwaga, .psr-kalk-szczegoly summary, .psr-kalk-szczegoly-tresc, .psr-kalk-zastrzezenie) {
    color: var(--psr-ink);
  }
  .psr-blok.psr-info .psr-kalk-porcja-g strong {
    color: var(--psr-night);
  }
  .psr-blok.psr-info .psr-kalk-wynik-tytul::before {
    background-image: var(--psr-svg-sygnet);
  }
  .psr-blok.psr-info :is(.psr-kalk-porcja, .psr-kalk-uwaga, .psr-kalk-szczegoly) {
    background: var(--psr-mint-8);
  }
  .psr-blok.psr-info .psr-kalk-wynik-lista li {
    border-bottom-color: var(--psr-mint-20);
  }
}

/* ----- 75-stopka-v2.css ----- */
/* ==========================================================================
   75-stopka-v2.css – nowy układ stopki (24.09.2026, za zgodą właściciela) – nadpisuje układ z 70-stopka.css:
   – pierwsza, szersza kolumna: znak + opis + kontakt (nowy blok bloki/stopka-marka.html w kolumnie „Zakupy”),
   – obok menu Zakupy | Kontakt | Konto, pod nimi wąski pas VET (logo + linki w jednej linii),
   – dolny pasek bez drugiego znaku (jest w kolumnie marki), linki bez podkreśleń.
   Kolumny platformy (.col-sm-3) dostają display: contents – widgety stają się bezpośrednio polami siatki.
   ========================================================================== */

[id="wrapper"] > footer > .container-fluid > .row > .container > .row:has(.psr-stopka-marka) {
  grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(0, 1fr));
  grid-template-areas:
    "marka zakupy kontakt konto"
    "marka vet vet vet";
  align-items: start;
  gap: 26px clamp(20px, 3vw, 44px);
}
[id="wrapper"] > footer > .container-fluid > .row > .container > .row:has(.psr-stopka-marka) > [class*="col-"] {
  display: contents;
}
[id="wrapper"] > footer .row:has(.psr-stopka-marka) > [class*="col-"]:nth-child(1) > .main-menu { grid-area: zakupy; }
[id="wrapper"] > footer .row:has(.psr-stopka-marka) > [class*="col-"]:nth-child(2) > .widget { grid-area: kontakt; }
[id="wrapper"] > footer .row:has(.psr-stopka-marka) > [class*="col-"]:nth-child(3) > .widget { grid-area: konto; }
[id="wrapper"] > footer .row:has(.psr-stopka-marka) > [class*="col-"]:nth-child(4) > .widget { grid-area: vet; }
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .widget.custom:has(> .widget-content > .psr-stopka-marka) { grid-area: marka; }

/* ---------- kolumna marki ---------- */
[id="wrapper"] > footer .psr-blok.psr-stopka-marka {
  display: grid;
  justify-items: start;
  gap: 14px;
  max-width: 380px;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-znak {
  display: block;
  width: 196px;
  aspect-ratio: 500 / 150;
  background: var(--psr-svg-znak-bialy) 0 50% / contain no-repeat;
  transition: translate var(--psr-t-base) var(--psr-spring);
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-znak:hover {
  translate: 0 -3px;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-opis {
  margin: 0;
  color: var(--psr-stopka-tekst);
  font-size: 15.5px;
  line-height: 1.55;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt {
  display: grid;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt li::before {
  content: none;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt .psr-ic {
  --psr-ic-size: 18px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background-color: var(--psr-lime);
  -webkit-mask: none;
  mask: none;
  position: relative;
}
/* ikona nocną miętą w limonkowym kółku: kółko = tło spanu, ikona = ::after z maską */
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt .psr-ic::after {
  content: "";
  position: absolute;
  inset: 8px;
  background: var(--psr-night);
  -webkit-mask: var(--psr-ic) center / contain no-repeat;
  mask: var(--psr-ic) center / contain no-repeat;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt a {
  color: var(--psr-white);
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  transition: color var(--psr-t-fast) ease;
}
[id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-kontakt a:is(:hover, :focus) {
  color: var(--psr-lime);
}

/* ---------- pas VET pod menu: logo małe + dwa linki w jednej linii, cienka linia nad ---------- */
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .custom .vet {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  padding-top: 20px;
  border-top: 2px solid var(--psr-stopka-linia);
}
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .custom .vet > a {
  width: 128px;
  padding: 6px;
}
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .custom .vet center {
  flex: 1 1 260px;
  gap: 4px;
}
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .custom .widget-content .vet center a {
  color: var(--psr-stopka-tekst);
  font-size: 14.5px;
}
[id="wrapper"] > footer .row:has(.psr-stopka-marka) .custom .widget-content .vet center a:is(:hover, :focus) {
  color: var(--psr-lime);
}

/* ---------- dolny pasek: bez drugiego znaku (jest w kolumnie marki) ---------- */
[id="wrapper"] > footer:has(.psr-stopka-marka) .blue-container > .row > .container > .row::before {
  content: none;
}

/* ---------- tablet: marka na całą szerokość, menu w 3 kolumnach, VET pod nimi ---------- */
@media (max-width: 991px) {
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row:has(.psr-stopka-marka) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "marka marka marka"
      "zakupy kontakt konto"
      "vet vet vet";
  }
  [id="wrapper"] > footer .psr-blok.psr-stopka-marka {
    max-width: 520px;
  }
}
/* ---------- telefon: marka, menu w 2 kolumnach, VET ---------- */
@media (max-width: 767px) {
  [id="wrapper"] > footer > .container-fluid > .row > .container > .row:has(.psr-stopka-marka) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "marka marka"
      "zakupy kontakt"
      "konto konto"
      "vet vet";
    gap: 24px 18px;
  }
  [id="wrapper"] > footer .psr-blok.psr-stopka-marka .psr-stopka-znak {
    width: 170px;
  }
}

/* ---------- Sznaucer zza fali + dymek „Wpadaj częściej!” (KV .wave-peek / .peek-bubble), 24.09.2026 ----------
   Fala płynie: grzbiet sięga 18 % wysokości pasa fali, dolina 82 %. Pies stoi tak, że przy grzbiecie widać 82 % jego
   szerokości (cała głowa z pyskiem) – fala nigdy nie zasłania pyska. Wycinek w pełnej wysokości (727/530 = 1,372 szer.),
   więc jego dolna krawędź jest zawsze ≥ ~30 px pod doliną fali (bez białej kreski obrysu), także przy unoszeniu (−9 px).
   Dymek: body = .container-fluid::after, ogonek = .container-fluid > .row::before (oba liczone od góry .container-fluid,
   która zaczyna się pod pasem fali: stopka-strefa + fala). */
[id="wrapper"] > footer {
  --psr-stopka-widac: 0.82;
  --psr-stopka-strefa: max(24px, calc(var(--psr-stopka-pies-w) * var(--psr-stopka-widac) + 15px - var(--psr-fala-h) * 0.18));
  --psr-stopka-pies-prawo: 14%;
}
[id="wrapper"] > footer::before {
  top: calc(var(--psr-stopka-strefa) + var(--psr-fala-h) * 0.18 - var(--psr-stopka-pies-w) * var(--psr-stopka-widac));
  aspect-ratio: 530 / 727;
  right: var(--psr-stopka-pies-prawo);
  background-image: url("../img/psr-sznaucer-v2.png");
}
[id="wrapper"] > footer > .container-fluid::after {
  content: "Wpadaj częściej!";
  position: absolute;
  z-index: 3;
  right: calc(var(--psr-stopka-pies-prawo) + var(--psr-stopka-pies-w) - 10px);
  /* dół dymka na wysokości uszu psa (0,3 szer. od czubka głowy), nie na oczach */
  bottom: calc(100% + var(--psr-fala-h) * 0.82 + var(--psr-stopka-pies-w) * (var(--psr-stopka-widac) - 0.3));
  display: block;
  padding: 10px 18px 12px;
  border-radius: var(--psr-radius-bubble);
  background: var(--psr-lime);
  color: var(--psr-night);
  font-family: var(--psr-font);
  font-size: 20px;
  line-height: 1.1;
  white-space: nowrap;
  rotate: -4deg;
  transform-origin: 100% 100%;
  pointer-events: none;
}
[id="wrapper"] > footer > .container-fluid > .row::before {
  content: "";
  position: absolute;
  z-index: 3;
  display: block;
  right: calc(var(--psr-stopka-pies-prawo) + var(--psr-stopka-pies-w) - 10px + 22px);
  bottom: calc(100% + var(--psr-fala-h) * 0.82 + var(--psr-stopka-pies-w) * (var(--psr-stopka-widac) - 0.3) - 14px);
  width: 26px;
  height: 18px;
  background: var(--psr-lime);
  clip-path: var(--psr-dymek-ogonek);
  transform: scaleX(-1);
  pointer-events: none;
}
@media (max-width: 767px) {
  [id="wrapper"] > footer {
    --psr-stopka-pies-prawo: 8%;
  }
  [id="wrapper"] > footer::before {
    right: var(--psr-stopka-pies-prawo);
  }
  [id="wrapper"] > footer > .container-fluid::after {
    padding: 8px 14px 10px;
    font-size: 17px;
  }
}
@media print {
  [id="wrapper"] > footer > .container-fluid::after,
  [id="wrapper"] > footer > .container-fluid > .row::before {
    content: none;
  }
}

/* ----- 76-aktualnosci.css ----- */
/* ==========================================================================
   76-aktualnosci.css – widget „Aktualności” (.widget-news), 24.09.2026
   Platforma wypisuje pełne wpisy (tytuł, data, miniatura, cała treść + JSON-LD), bez osobnych adresów wpisów.
   – strona główna: 3 kafelki (zdjęcie, data, tytuł, wstęp) → link do wpisu na /aktualnosci#wpis-… (skrypt globalny),
     przycisk „Wszystkie porady” zamiast stronicowania,
   – /aktualnosci (html.Aktualnosci): karty wpisów zwinięte do wstępu, „Czytaj cały artykuł” rozwija na całą szerokość.
   Bez skryptu: wpisy rozwinięte, stronicowanie platformy zostaje.
   Markup wpisu: .widget-news-item > .widget-news-title-container (p.widget-news-title, p.widget-news-date)
                 + .widget-news-content-container (img.widget-news-article-thumbnail, div.widget-news-description)
   ========================================================================== */

/* ---------- wspólne: reset wpisu szablonu, kolejność elementów, typografia treści ---------- */
.widget.widget-news .widget-news-item,
.widget.widget-news .widget-news-item.withUpperLine {
  position: relative;
  float: none;
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  overflow: hidden;
}
.widget.widget-news .widget-news-item::before,
.widget.widget-news .widget-news-item::after {
  content: none;
}
.widget.widget-news .widget-news-title-container,
.widget.widget-news .widget-news-content-container {
  display: contents;
}
.widget.widget-news .widget-news-article-thumbnail {
  order: 1;
  display: block;
  width: calc(100% - 16px);
  max-width: none;
  height: auto;
  max-height: none;          /* szablon: max-height 160 px spłaszczał zdjęcie */
  aspect-ratio: 3 / 2;       /* zdjęcia wpisów mają 3:2 – bez przycinania */
  margin: 8px 8px 0;
  float: none;
  object-fit: cover;
  object-position: 50% 35%;
  border-radius: 24px;
  background: var(--psr-mint-8);
}
.widget.widget-news .widget-news-date {
  order: 2;
  align-self: flex-start;
  margin: 18px 22px 0;
  padding: 4px 12px 5px;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-20);
  color: var(--psr-night);
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.widget.widget-news .widget-news-title {
  order: 3;
  margin: 10px 22px 0;
  color: var(--psr-night);
  font-size: 22px;
  line-height: 1.15;
}
.widget.widget-news .widget-news-description {
  order: 4;
  min-width: 0;
  margin: 10px 22px 0;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.7;
}
.widget.widget-news .psr-wpis-przelacz,
.widget.widget-news .psr-wpis-dalej {
  order: 5;
}

/* treść wklejona z edytora ma inline font-family: Times / font-size: medium – font marki i nasze stopnie */
.widget.widget-news .widget-news-description :is(p, li, span, a, strong, b, em, i, h1, h2, h3, h4, h5, h6, td, th, blockquote, div) {
  font-family: var(--psr-font) !important;
  font-weight: 400;
}
.widget.widget-news .widget-news-description :is(p, li, td, th, span, div)[style*="font-size"] {
  font-size: inherit !important;
}
.widget.widget-news .widget-news-description p {
  margin: 0 0 14px;
}
.widget.widget-news .widget-news-description :is(h1, h2) {
  margin: 30px 0 10px;
  padding: 0;
  color: var(--psr-night);
  font-size: clamp(23px, 2.2vw, 28px) !important;
  line-height: 1.15;
  text-transform: none;
}
.widget.widget-news .widget-news-description :is(h3, h4) {
  margin: 24px 0 8px;
  padding: 0;
  color: var(--psr-night);
  font-size: 21px !important;
  line-height: 1.2;
}
.widget.widget-news .widget-news-description :is(strong, b) {
  color: var(--psr-night);
}
.widget.widget-news .widget-news-description a {
  color: var(--psr-mint-deep);
  text-decoration: underline 2px var(--psr-mint-40);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
}
.widget.widget-news .widget-news-description a:hover {
  color: var(--psr-night);
  text-decoration-color: var(--psr-lime);
}
/* listy: serduszka zamiast kropek, numery w kółkach */
.widget.widget-news .widget-news-description :is(ul, ol) {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.widget.widget-news .widget-news-description li {
  position: relative;
  margin: 0 0 8px;
  padding-left: 30px;
}
.widget.widget-news .widget-news-description ul > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.45em;
  width: 16px;
  height: 14px;
  background: var(--psr-lilac-deep);
  -webkit-mask: var(--psr-svg-serce) center / contain no-repeat;
  mask: var(--psr-svg-serce) center / contain no-repeat;
}
.widget.widget-news .widget-news-description ol {
  counter-reset: psr-wpis;
}
.widget.widget-news .widget-news-description ol > li {
  counter-increment: psr-wpis;
}
.widget.widget-news .widget-news-description ol > li::before {
  content: counter(psr-wpis);
  position: absolute;
  left: 0;
  top: 0.15em;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  color: var(--psr-white);
  font-size: 13px;
  line-height: 1;
}
.widget.widget-news .widget-news-description img {
  max-width: 100%;
  height: auto;
  border-radius: 20px;
}
.widget.widget-news .widget-news-description blockquote {
  margin: 18px 0;
  padding: 16px 20px;
  border: 0;
  border-radius: 24px;
  background: var(--psr-lilac-8);
  color: var(--psr-ink);
}
.widget.widget-news .widget-news-description table {
  width: 100%;
  margin: 0 0 16px;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 20px;
  overflow: hidden;
  background: var(--psr-mint-8);
  font-size: 15.5px;
}
.widget.widget-news .widget-news-description :is(td, th) {
  padding: 10px 14px;
  border: 0;
  border-bottom: 2px solid var(--psr-white);
  text-align: left;
}

/* ==========================================================================
   STRONA GŁÓWNA: 3 kafelki z ostatnimi wpisami
   ========================================================================== */
html.StronaGlowna .widget.widget-news {
  max-width: var(--psr-sg-kontener);
  margin: clamp(10px, 2vw, 24px) auto clamp(44px, 5vw, 72px);
  padding: 0;
}
html.StronaGlowna .widget.widget-news > .widget-content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(18px, 2vw, 28px);
}
html.StronaGlowna .widget.widget-news > .widget-content::before,
html.StronaGlowna .widget.widget-news > .widget-content::after {
  content: none;
}
/* kafelek: tylko wstęp (pierwszy akapit, 3 linie) – reszta wpisu jest na /aktualnosci */
html.StronaGlowna .widget.widget-news .widget-news-item {
  padding-bottom: 20px;
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease;
}
html.StronaGlowna .widget.widget-news .widget-news-item:hover {
  translate: 0 -4px;
}
html.StronaGlowna .widget.widget-news .widget-news-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 21px;
}
html.StronaGlowna .widget.widget-news .widget-news-description {
  margin-bottom: 14px;
  color: var(--psr-muted);
  font-size: 15.5px;
  line-height: 1.55;
}
html.StronaGlowna .widget.widget-news .widget-news-description > * {
  display: none;
}
html.StronaGlowna .widget.widget-news .widget-news-description > :first-child {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  color: inherit;
  font-size: inherit !important;
}
/* cały kafelek klikalny: link w tytule (skrypt) rozciągnięty na kartę */
html.StronaGlowna .widget.widget-news .psr-wpis-link {
  color: inherit;
  text-decoration: none;
}
html.StronaGlowna .widget.widget-news .psr-wpis-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}
html.StronaGlowna .widget.widget-news .psr-wpis-link:focus-visible {
  outline: none;
}
html.StronaGlowna .widget.widget-news .psr-wpis-link:focus-visible::after {
  outline: 3px solid var(--psr-focus);
  outline-offset: -3px;
}
html.StronaGlowna .widget.widget-news .psr-wpis-dalej {
  align-self: flex-start;
  margin: auto 22px 0;
  color: var(--psr-mint-deep);
  font-size: 16px;
}
/* strzałkę dorysowuje .psr-btn-link – ikona ze skryptu byłaby drugą */
html.StronaGlowna .widget.widget-news .psr-wpis-dalej .psr-ic {
  display: none;
}
/* stronicowanie platformy zbędne, gdy jest przycisk „Wszystkie porady” (skrypt) */
html.psr-js.StronaGlowna .widget.widget-news .pagination {
  display: none;
}
html.StronaGlowna .widget.widget-news .psr-wpisy-wszystkie {
  display: flex;
  justify-content: center;
  margin-top: clamp(24px, 2.8vw, 36px);
}
@media (max-width: 991px) {
  html.StronaGlowna .widget.widget-news .widget-news-title {
    font-size: 19px;
  }
}
/* telefon: kafelki w przewijanym rzędzie (82% szerokości, przyciąganie) zamiast trzech wysokich kart */
@media (max-width: 767px) {
  html.StronaGlowna .widget.widget-news > .widget-content {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 82%;
    gap: 14px;
    margin: 0 calc(50% - 50vw);   /* do krawędzi ekranu (kolumna ma tylko 10 px paddingu – −16 px wystawało poza ekran) */
    padding: 6px 16px 26px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
  }
  html.StronaGlowna .widget.widget-news > .widget-content::-webkit-scrollbar {
    display: none;
  }
  html.StronaGlowna .widget.widget-news .widget-news-item {
    scroll-snap-align: start;
  }
  html.StronaGlowna .widget.widget-news .widget-news-item:hover {
    translate: none;
  }
  html.StronaGlowna .widget.widget-news .psr-wpisy-wszystkie {
    margin-top: 4px;
  }
}

/* ==========================================================================
   /aktualnosci: nagłówek strony + karty wpisów (zwinięte do wstępu, rozwijane)
   ========================================================================== */
html.Aktualnosci .widget.widget-news {
  max-width: 1140px;
  margin: 0 auto clamp(44px, 5vw, 72px);
  padding: 0;
}
html.Aktualnosci .widget.widget-news .widget-header {
  margin: clamp(8px, 2vw, 24px) 0 clamp(22px, 3vw, 36px);
}
html.Aktualnosci .widget.widget-news .widget-header h4 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
}
/* lead pod tytułem strony */
html.Aktualnosci .widget.widget-news .widget-header::after {
  content: "Porady o żywieniu, pielęgnacji i codzienności z psem i kotem – od nas, z Rumi.";
  display: block;
  margin-top: 12px;
  color: var(--psr-ink);
  font-size: 18px;
  line-height: 1.55;
  letter-spacing: 0;
  text-transform: none;
}
html.Aktualnosci .widget.widget-news > .widget-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(20px, 2.4vw, 32px);
}
html.Aktualnosci .widget.widget-news > .widget-content::before,
html.Aktualnosci .widget.widget-news > .widget-content::after {
  content: none;
}
html.Aktualnosci .widget.widget-news .widget-news-item {
  padding-bottom: 24px;
  scroll-margin-top: 104px;   /* przyklejony nagłówek (64–80 px) + oddech */
}
/* rozwinięty wpis (i wszystkie wpisy bez skryptu): zdjęcie jako baner, tytuł duży, treść w wygodnej szerokości */
/* rozwinięty wpis: pełny kadr 3:2 w szerokości kolumny tekstu (szeroki baner ucinał głowy zwierzaków) */
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .widget-news-article-thumbnail {
  width: min(calc(100% - 16px), 760px);
  margin: 8px auto 0;
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) :is(.widget-news-date, .widget-news-title, .widget-news-description) {
  width: calc(100% - 44px);
  max-width: 760px;
  margin-inline: auto;
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .widget-news-date {
  width: auto;
  align-self: auto;
  margin-inline: max(22px, calc((100% - 760px) / 2)) auto;
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .widget-news-title {
  margin-top: 12px;
  font-size: clamp(30px, 3.6vw, 44px);
  line-height: 1.05;
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .widget-news-description {
  margin-top: 18px;
}
/* ze skryptem: siatka 2 kolumn kart zwiniętych, rozwinięta karta na całą szerokość */
@media (min-width: 992px) {
  html.psr-js.Aktualnosci .widget.widget-news > .widget-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  html.psr-js.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) {
    grid-column: 1 / -1;
  }
}
html.Aktualnosci .widget.widget-news .widget-news-item.psr-zwiniety .widget-news-description > * {
  display: none;
}
html.Aktualnosci .widget.widget-news .widget-news-item.psr-zwiniety .widget-news-description > :first-child {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  margin: 0;
  color: var(--psr-muted);
}
html.Aktualnosci .widget.widget-news .widget-news-item.psr-zwiniety .widget-news-title {
  font-size: 24px;
}
html.Aktualnosci .widget.widget-news .psr-wpis-przelacz {
  align-self: flex-start;
  margin: 20px 22px 0;
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .psr-wpis-przelacz {
  --psr-btn-bg: var(--psr-white);
  --psr-btn-fg: var(--psr-night);
  --psr-btn-sole: var(--psr-sole-white);
  margin-inline: max(22px, calc((100% - 760px) / 2)) auto;
}
html.Aktualnosci .widget.widget-news .psr-wpis-przelacz .psr-ic {
  transition: rotate var(--psr-t-base) var(--psr-spring);
}
html.Aktualnosci .widget.widget-news .widget-news-item:not(.psr-zwiniety) .psr-wpis-przelacz .psr-ic {
  rotate: 180deg;
}
@media (max-width: 767px) {
  html.Aktualnosci .widget.widget-news .widget-header::after {
    font-size: 16px;
  }
  html.Aktualnosci .widget.widget-news .widget-news-item.psr-zwiniety .widget-news-title {
    font-size: 21px;
  }
  html.Aktualnosci .widget.widget-news .widget-news-description {
    font-size: 16px;
  }
}

/* ---------- „Polecane produkty” poza stroną główną (np. pod aktualnościami): stronicowanie KV na jasnym tle ---------- */
html:not(.StronaGlowna) .list-products-recommended .pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: clamp(22px, 2.6vw, 32px) 0 0;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1;
}
html:not(.StronaGlowna) .list-products-recommended .pagination :is(.current-page, .offer-paging-item, .arrow-left, .arrow-right) {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--psr-mint-8);
  color: var(--psr-night);
  font-size: 17px;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--psr-t-fast) ease, scale var(--psr-t-base) var(--psr-spring);
}
html:not(.StronaGlowna) .list-products-recommended .pagination :is(.offer-paging-item, .arrow-left, .arrow-right):is(:hover, :focus) {
  background: var(--psr-mint-20);
  scale: 1.08;
}
html:not(.StronaGlowna) .list-products-recommended .pagination .current-page {
  background: var(--psr-lime);
  cursor: default;
}
html:not(.StronaGlowna) .list-products-recommended .pagination :is(.arrow-left, .arrow-right) {
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
}
html:not(.StronaGlowna) .list-products-recommended .pagination :is(.arrow-left, .arrow-right)::before {
  content: "";
  position: absolute;
  inset: 11px;
  border: 0;
  background-color: var(--psr-night);
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
}
html:not(.StronaGlowna) .list-products-recommended .pagination .arrow-left::before {
  scale: -1 1;
}

/* ----- 77-sklep.css ----- */
/* ==========================================================================
   77-sklep.css – strona /sklep (html.SklepStacjonarny), blok bloki/strona-sklep.html (24.09.2026)
   Rytm: scena w nocnej mięcie (wyżeł zza leniwej fali) → biel: dojazd + mapa → mięta 8 z falbanką: 4 serca
   → mięta 20 z falą: „Zamów online”. Treść bloku na całą szerokość okna (sekcje), treść sekcji w szerokości .container.
   ========================================================================== */

.widget.custom:has(> .widget-content > .psr-sk) {
  padding: 0;
}
/* scena wchodzi pod pas fali nagłówka (jak hero strony głównej) */
html.SklepStacjonarny [id="wrapper"] > header + .content:has(.psr-sk) {
  padding-top: 0;
}
.psr-blok.psr-sk {
  --psr-sk-w: 1140px;
  --psr-sk-bok: max(16px, calc((100vw - var(--psr-sk-w)) / 2));
  max-width: none;
  margin-inline: calc(50% - 50vw);
}
@media (max-width: 1199px) {
  .psr-blok.psr-sk { --psr-sk-w: 940px; }
}
@media (max-width: 991px) {
  .psr-blok.psr-sk { --psr-sk-w: 720px; }
}
.psr-blok.psr-sk .psr-sk-h2 {
  font-size: clamp(34px, 3.8vw, 52px);
  line-height: 1;
}

/* ---------- 1. Scena: mięta głęboka jak nagłówek (sprzężona z nim), treść | wyżeł z dymkiem, leniwa fala na dole ---------- */
.psr-blok.psr-sk .psr-sk-hero {
  --psr-b1: #65c2c4;
  --psr-b2: #2a7c7e;
  --psr-b3: #256f71;
  --psr-b4: #2c8385;
  --psr-lift: var(--psr-lift-mint-deep);
  --psr-lift-sm: var(--psr-lift-sm-mint-deep);
  --psr-sk-fala: clamp(46px, 7vw, 96px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: calc(clamp(34px, 3.9vw, 56px) + clamp(22px, 2.6vw, 38px)) var(--psr-sk-bok) 0;
  background: var(--psr-mint-deep);   /* przedłużenie nagłówka – bez fali między nimi */
  color: var(--psr-white);
}
.psr-blok.psr-sk .psr-sk-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: clamp(90px, 10vw, 150px);
  background: linear-gradient(var(--psr-mint-deep) 18%, rgba(51, 140, 142, 0));
  pointer-events: none;
}
.psr-blok.psr-sk .psr-sk-iskra {
  --psr-doodle-w: 30px;
  right: 9%;
  top: 20%;
}
.psr-blok.psr-sk .psr-sk-hero-scena {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(20px, 3vw, 48px);
}
.psr-blok.psr-sk .psr-sk-hero-tresc {
  display: grid;
  justify-items: start;
  gap: 16px;
  align-self: center;
  padding-bottom: calc(var(--psr-sk-fala) + 30px);
}
.psr-blok.psr-sk .psr-sk-kicker {
  background: var(--psr-night);
}
.psr-blok.psr-sk .psr-sk-tytul {
  margin: 0;
  color: var(--psr-white);
  font-size: clamp(38px, 4.4vw, 62px);
  line-height: 1;
  text-transform: uppercase;
}
.psr-blok.psr-sk .psr-sk-tytul .lc {
  display: inline-block;
}
.psr-blok.psr-sk .psr-sk-lead {
  margin: 0;
  color: var(--psr-white);
  font-size: 18px;
  line-height: 1.6;
}
/* liczby: trzy białe pastylki-karty (biel na nocy – cień w tonie tła) */
.psr-blok.psr-sk .psr-sk-liczby {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-sk .psr-sk-liczby li {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 10px 16px 11px;
  border-radius: 20px;
  background: var(--psr-white);
  box-shadow: var(--psr-lift-sm);
}
.psr-blok.psr-sk .psr-sk-liczby li::before {
  content: none;
}
.psr-blok.psr-sk .psr-sk-liczby strong {
  color: var(--psr-mint-deep);
  font-size: 24px;
  line-height: 1;
}
.psr-blok.psr-sk .psr-sk-liczby span {
  color: var(--psr-muted);
  font-size: 14px;
  line-height: 1.25;
}
/* godziny w scenie: pastylka na nocy (biały tekst, ikona limonką) */
.psr-blok.psr-sk .psr-sk-godziny-pasek {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 0;
  padding: 8px 16px 9px;
  border-radius: var(--psr-radius-pill);
  background: rgba(255, 255, 255, 0.12);
  color: var(--psr-white);
  font-size: 15.5px;
  line-height: 1.3;
}
.psr-blok.psr-sk .psr-sk-godziny-pasek .psr-ic {
  --psr-ic-size: 18px;
  color: var(--psr-lime);
}
.psr-blok.psr-sk .psr-sk-godziny-pasek .psr-sk-sep {
  color: var(--psr-lime);
}
.psr-blok.psr-sk .psr-sk-godziny-pasek .psr-sk-g {
  white-space: nowrap;
}
.psr-blok.psr-sk .psr-sk-godziny-pasek .psr-sk-g--1 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.psr-blok.psr-sk .psr-sk-akcje {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 6px;
}
/* wyżeł: biały obrys, bez cienia; dół wycinka schowany pod falą (min. 40 px pod jej górą) */
.psr-blok.psr-sk .psr-sk-pies {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: end;
  margin: 0;
  animation: psr-pet-in 800ms var(--psr-spring) 0.35s both;
}
.psr-blok.psr-sk .psr-sk-pies-unosi {
  display: flex;
  justify-content: center;
  width: 100%;
  animation: psr-float-y 6s ease-in-out infinite;
}
.psr-blok.psr-sk .psr-sk-pies-foto {
  --psr-obrys: 10px;
  display: block;
  width: min(86%, 330px);
  max-width: none;
  height: auto;
  margin-bottom: -18px;
  rotate: 3deg;
  transform-origin: bottom center;
}
/* dymek nad głową, ogonek w stronę pyska (lewa strona) – nie zasłania oczu */
.psr-blok.psr-sk .psr-sk-dymek {
  --psr-rot: -4deg;
  --psr-d: 1.1s;
  align-self: flex-start;
  margin: 0 0 18px;
  padding: 12px 18px 14px;
  font-size: 19px;
  line-height: 1.15;
  white-space: normal;
}
.psr-blok.psr-sk .psr-sk-hero-fala {
  --psr-fala-kafel: 1080px;
  --psr-fala-czas: 28s;
  z-index: 5;
  height: var(--psr-sk-fala);
}

/* ---------- 2. Dojazd: dane w białej karcie | mapa w karcie z pieczątką ---------- */
.psr-blok.psr-sk .psr-sk-dojazd {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 60px);
  padding: clamp(30px, 4vw, 60px) var(--psr-sk-bok) clamp(44px, 5vw, 76px);
  background: var(--psr-white);
}
.psr-blok.psr-sk .psr-sk-dojazd-tresc {
  display: grid;
  justify-items: stretch;
  gap: 14px;
}
.psr-blok.psr-sk .psr-sk-dane {
  display: grid;
  gap: 18px;
  margin: 8px 0 0;
  padding: clamp(20px, 2.4vw, 28px);
  list-style: none;
}
.psr-blok.psr-sk .psr-sk-dane li {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
}
.psr-blok.psr-sk .psr-sk-dane li::before {
  content: none;
}
.psr-blok.psr-sk .psr-sk-ikona {
  --psr-ic-size: 22px;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  color: var(--psr-white);
}
.psr-blok.psr-sk .psr-sk-ikona--lilac {
  background: var(--psr-lilac-deep);
}
.psr-blok.psr-sk .psr-sk-ikona--night {
  background: var(--psr-night);
}
.psr-blok.psr-sk .psr-sk-ikona--lime {
  background: var(--psr-lime);
  color: var(--psr-night);
}
.psr-blok.psr-sk .psr-sk-dane li > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.psr-blok.psr-sk .psr-sk-dane strong {
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.psr-blok.psr-sk .psr-sk-dane small {
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.35;
}
/* godziny otwarcia w karcie: dzień | godziny, niedziela wyciszona */
.psr-blok.psr-sk .psr-sk-godziny {
  align-items: start;
}
.psr-blok.psr-sk .psr-sk-godziny-lista {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: start;
  gap: 3px 18px;
  margin: 4px 0 0;
  font-size: 15.5px;
  line-height: 1.35;
}
.psr-blok.psr-sk .psr-sk-godziny-lista dt {
  margin: 0;
  color: var(--psr-muted);
  font-weight: 400;
}
.psr-blok.psr-sk .psr-sk-godziny-lista dd {
  margin: 0;
  color: var(--psr-night);
}
.psr-blok.psr-sk .psr-sk-godziny-lista .psr-sk-zamkniete {
  color: var(--psr-muted);
}
.psr-blok.psr-sk .psr-sk-dane a {
  color: inherit;
  text-decoration: none;
}
.psr-blok.psr-sk .psr-sk-dane a:hover strong {
  color: var(--psr-mint-deep);
}
.psr-blok.psr-sk .psr-sk-mapa {
  position: relative;
  margin: 0;
  padding: 10px;
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
  rotate: 1.2deg;
}
.psr-blok.psr-sk .psr-sk-mapa iframe {
  display: block;
  width: 100%;
  height: clamp(320px, 32vw, 440px);
  border: 0;
  border-radius: 24px;
  background: var(--psr-mint-8);
}
.psr-blok.psr-sk .psr-sk-pieczatka {
  position: absolute;
  z-index: 2;
  right: -26px;
  top: -34px;
  width: clamp(92px, 8.5vw, 124px);
  aspect-ratio: 1;
  border-radius: 64% 36% 58% 42% / 44% 62% 38% 56%;
  outline: 2px dashed var(--psr-lime);
  outline-offset: 7px;
  background: var(--psr-svg-sygnet-noc) 50% 54% / 58% auto no-repeat, var(--psr-lime);
  rotate: -10deg;
  transition: rotate 900ms var(--psr-spring);
  pointer-events: none;
}
.psr-blok.psr-sk .psr-sk-mapa:hover .psr-sk-pieczatka {
  rotate: 14deg;
}

/* ---------- 3. Zalety: mięta 8, falbanka nad sekcją, 4 serca w białej karcie ---------- */
.psr-blok.psr-sk .psr-sk-zalety {
  --psr-lift: var(--psr-lift-mint-8);
  position: relative;
  padding: calc(var(--psr-fala-h) + clamp(18px, 2.4vw, 32px)) var(--psr-sk-bok) clamp(44px, 5vw, 72px);
  background: var(--psr-mint-8);
}
.psr-blok.psr-sk .psr-sk-zalety::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: var(--psr-fala-h);
  background: var(--psr-white);
  -webkit-mask: var(--psr-svg-falbanka-gora) repeat-x 0 0 / 120px 100%;
  mask: var(--psr-svg-falbanka-gora) repeat-x 0 0 / 120px 100%;
  animation: psr-fala 10s linear infinite;
  --psr-fala-kafel: 120px;
  pointer-events: none;
}
.psr-blok.psr-sk .psr-sk-zalety-wnetrze {
  display: grid;
  justify-items: start;
  gap: 14px;
}
.psr-blok.psr-sk .psr-sk-serca {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 26px);
  width: 100%;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.psr-blok.psr-sk .psr-sk-serca > li {
  gap: 14px;
  margin: 0;
  padding: clamp(22px, 2.4vw, 30px) clamp(16px, 1.8vw, 22px);
  border-radius: var(--psr-radius-card);
  background: var(--psr-white);
  box-shadow: var(--psr-lift);
}
/* podeszwa serca (::before fundamentu, top 5 px od góry elementu) – serce stoi pod paddingiem karty */
.psr-blok.psr-sk .psr-sk-serca > li::before {
  top: calc(clamp(22px, 2.4vw, 30px) + 5px);
}
.psr-blok.psr-sk .psr-sk-opis {
  display: grid;
  gap: 6px;
}
.psr-blok.psr-sk .psr-sk-opis strong {
  color: var(--psr-night);
  font-size: 20px;
  line-height: 1.15;
}
.psr-blok.psr-sk .psr-sk-opis span {
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.45;
}

/* ---------- 4. „Zamów online”: mięta 20, zwykła fala nad sekcją ---------- */
.psr-blok.psr-sk .psr-sk-cta {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: calc(var(--psr-fala-h) + clamp(18px, 2.4vw, 30px)) var(--psr-sk-bok) clamp(40px, 5vw, 64px);
  background: var(--psr-mint-20);
  text-align: center;
}
.psr-blok.psr-sk .psr-sk-cta::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  height: var(--psr-fala-h);
  background: var(--psr-mint-8);
  -webkit-mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  mask: var(--psr-svg-fala-gora) repeat-x 0 0 / 720px 100%;
  animation: psr-fala 18s linear infinite;
  pointer-events: none;
}
.psr-blok.psr-sk .psr-sk-cta-tytul {
  margin: 0;
  color: var(--psr-night);
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.05;
  text-transform: uppercase;
}
.psr-blok.psr-sk .psr-sk-cta-lead {
  margin: 0;
  color: var(--psr-ink);
  font-size: 17px;
  line-height: 1.55;
}
/* sekcja CTA przechodzi w stopkę bez krawędzi: pas nad falą stopki (sznaucer) ma kolor sekcji CTA (mięta 20) */
html.SklepStacjonarny [id="wrapper"]:has(.psr-sk) > footer {
  margin-top: 0;
  background: var(--psr-mint-20);
}
html.SklepStacjonarny [id="wrapper"]:has(.psr-sk) > .content .container-fluid > .row,
html.SklepStacjonarny [id="wrapper"]:has(.psr-sk) > .content .container-fluid > .row > .container,
html.SklepStacjonarny [id="wrapper"]:has(.psr-sk) > .content .container-fluid > .row > .container > .row {
  margin-bottom: 0;
  padding-bottom: 0;
}
.psr-blok.psr-sk .psr-sk-cta {
  padding-bottom: clamp(8px, 1.4vw, 20px);
}

/* ---------- tablet ---------- */
@media (max-width: 991px) {
  .psr-blok.psr-sk .psr-sk-dojazd {
    grid-template-columns: minmax(0, 1fr);
  }
  .psr-blok.psr-sk .psr-sk-mapa {
    rotate: 0deg;
    margin-right: 14px;
  }
  .psr-blok.psr-sk .psr-sk-serca {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* ---------- telefon: treść nad wyżłem, serca w wierszach ---------- */
@media (max-width: 767px) {
  .psr-blok.psr-sk .psr-sk-hero {
    padding: calc(24px + 26px) 16px 0;
  }
  .psr-blok.psr-sk .psr-sk-hero-scena {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .psr-blok.psr-sk .psr-sk-hero-tresc {
    justify-items: center;
    padding-bottom: 8px;
    text-align: center;
  }
  .psr-blok.psr-sk .psr-sk-tytul {
    font-size: 34px;
  }
  .psr-blok.psr-sk .psr-sk-lead {
    font-size: 16px;
  }
  .psr-blok.psr-sk .psr-sk-liczby {
    justify-content: center;
  }
  /* godziny: „Pon–pt …” w pierwszej linii, „sob. … • nd. …” w drugiej, wyśrodkowane */
  .psr-blok.psr-sk .psr-sk-godziny-pasek {
    justify-content: center;
    padding: 9px 18px 10px;
    border-radius: 24px;
    font-size: 15px;
  }
  .psr-blok.psr-sk .psr-sk-godziny-pasek .psr-sk-sep--1 {
    display: none;
  }
  .psr-blok.psr-sk .psr-sk-godziny-pasek .psr-sk-g--1 {
    flex-basis: 100%;
    justify-content: center;
  }
  .psr-blok.psr-sk .psr-sk-liczby li {
    padding: 8px 12px 9px;
  }
  .psr-blok.psr-sk .psr-sk-liczby strong {
    font-size: 20px;
  }
  .psr-blok.psr-sk .psr-sk-liczby span {
    font-size: 12.5px;
  }
  .psr-blok.psr-sk .psr-sk-akcje {
    justify-content: center;
    width: 100%;
  }
  .psr-blok.psr-sk .psr-sk-akcje .psr-btn {
    --psr-btn-h: 54px;
    --psr-btn-fs: 17px;
    flex: 1 1 100%;
  }
  .psr-blok.psr-sk .psr-sk-pies-foto {
    --psr-obrys: 7px;
    width: min(62%, 250px);
  }
  .psr-blok.psr-sk .psr-sk-dymek {
    align-self: center;
    margin-bottom: 12px;
    font-size: 16px;
  }
  .psr-blok.psr-sk .psr-sk-iskra {
    display: none;
  }
  .psr-blok.psr-sk .psr-sk-dane {
    padding: 18px 16px;
  }
  .psr-blok.psr-sk .psr-sk-dane strong {
    font-size: 16.5px;
  }
  .psr-blok.psr-sk .psr-sk-mapa {
    padding: 8px;
    border-radius: 26px;
  }
  .psr-blok.psr-sk .psr-sk-mapa iframe {
    height: 280px;
    border-radius: 19px;
  }
  .psr-blok.psr-sk .psr-sk-pieczatka {
    right: -10px;
    top: -26px;
    width: 78px;
    outline-offset: 5px;
  }
  .psr-blok.psr-sk .psr-sk-serca {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .psr-blok.psr-sk .psr-sk-serca > li {
    --psr-heart-w: 68px;
    grid-template-columns: 68px minmax(0, 1fr);
    justify-items: start;
    align-items: center;
    column-gap: 16px;
    padding: 16px 18px;
    text-align: left;
  }
  .psr-blok.psr-sk .psr-sk-serca > li::before {
    left: 52px;
    top: calc(50% - 31px + 5px);
  }
}

/* ----- 80-js.css ----- */
/* ==========================================================================
   80-js.css – MODUŁ SKRYPT: wygląd elementów i stanów, które dokłada skrypt globalny
   (bloki/skrypt-globalny.html – blok „Własny” w stopce). Bez skryptu nic z tego nie występuje.
   Kontrakty (PLAN.md): .psr-fx (iskry, lecące serduszko), .psr-bump na widgecie .cart, .is-loading / .psr-dodano
   na przyciskach „Do koszyka”, .psr-tilt + .psr-poswiata na kartach produktów, .psr-dostawa (pasek darmowej
   dostawy), sup.psr-gr (grosze w cenach promocyjnych). Style klas psr-malo, psr-open, .selected, .lc –
   w modułach 30/40/10/01 (skrypt je tylko przełącza).
   Wzorce KV: C2 wybuch serc, C3 przechył + odblask, C11 serduszko do koszyka + podskok, P5 ślad łapek,
   P6 „Dodane!”, B3 pasek darmowej dostawy z łapką (.ck-free), okno/mini-koszyk .ov-free.
   Ruch: animacje wyłącza globalny wyłącznik z 01-baza.css (prefers-reduced-motion) – skrypt przy tym
   ustawieniu i tak nie tworzy iskier, lotu ani przechyłu.
   ========================================================================== */

/* ---------- 0. Blok skryptu w stopce – sam skrypt, bez treści: widget niewidoczny ---------- */
.widget.custom:has(> .widget-content > .psr-skrypt) {
  display: none;
}

/* ---------- 1. Warstwa efektów .psr-fx (KV .fx) – nad oknami, powiadomieniami i nakładką ładowania ----------
   z-index ponad #overlay platformy (100000, pokazywany przy każdym AJAX-ie), pod spinnerem spin.js (2e9). */
.psr-fx {
  position: fixed;
  inset: 0;
  z-index: 100001;
  overflow: hidden;
  pointer-events: none;
}
/* iskry: serduszko / iskra / łapka 12–24 px, rozlot 850 ms (KV C2) – kolory z palety na jasnym */
.psr-fx .psr-iskra {
  position: absolute;
  width: var(--psr-iskra-r, 18px);
  height: var(--psr-iskra-r, 18px);
  translate: -50% -50%;
  background: var(--psr-iskra-kolor, var(--psr-coral-deep));
  -webkit-mask: var(--psr-d-heart) center / contain no-repeat;
  mask: var(--psr-d-heart) center / contain no-repeat;
  animation: psr-fly 850ms var(--psr-smooth) forwards;
}
.psr-fx .psr-iskra--iskra {
  -webkit-mask-image: var(--psr-d-sparkle);
  mask-image: var(--psr-d-sparkle);
}
.psr-fx .psr-iskra--lapka {
  -webkit-mask-image: var(--psr-d-paw);
  mask-image: var(--psr-d-paw);
}
/* lecące serduszko: koralowe kółko 44 px z białym sercem 22 px (KV .fly-dot) – płaskie, bez cienia */
.psr-fx .psr-lot {
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  border-radius: 50%;
  background: var(--psr-coral-deep);
  will-change: transform;
}
.psr-fx .psr-lot::before {
  content: "";
  position: absolute;
  inset: 11px;
  background: var(--psr-white);
  -webkit-mask: var(--psr-d-heart) center / contain no-repeat;
  mask: var(--psr-d-heart) center / contain no-repeat;
}

/* ---------- 2. Podskok koszyka w nagłówku po dolocie serduszka (KV .cart.bump: 1,3× i −10°, 500 ms sprężyna) ----------
   Klasa na widgecie .cart, animowany przycisk .cart-info (skala i obrót – nie koliduje z translate najechania).
   Nie animujemy samego widgetu: w nagłówku przypiętym (10-naglowek, psr-nag-lepki) jego .widget-content ma position:fixed. */
.widget.cart.psr-bump .widget-content .cart-info {
  animation: psr-bump 500ms var(--psr-spring);
}

/* ---------- 3. Przyciski „Do koszyka” platformy: w trakcie (ślad łapek) i „Dodane!” ----------
   Wygląd bazowy (pastylka, podeszwa, kolory) – 02-przyciski.css. Selektory :root body button.….stan (0,3,2) – ponad
   stanami fundamentu :hover/:focus (.widget button:not(…):is(:hover, :focus) = (0,3,1)); po kliknięciu przycisk ma fokus. */
/* w trakcie (KV P5): napis i wózek znikają, idą trzy łapki w kolorze napisu; przycisk nie reaguje na kliknięcia */
:root body button.btn-add-to-cart.is-loading,
:root body button.btn-variant-add-to-cart.is-loading,
:root body button.btn-units-add-to-cart.is-loading {
  position: relative;
  color: transparent;
  cursor: progress;
  pointer-events: none;
  translate: 0 0;
  /* napis znika od razu (fundament przejście koloru 180 ms – napis prześwitywałby przez łapki) */
  transition: translate var(--psr-t-base) var(--psr-spring), box-shadow var(--psr-t-base) ease, background-color var(--psr-t-fast) ease;
}
:root body button.btn-add-to-cart.is-loading::after,
:root body button.btn-variant-add-to-cart.is-loading::after,
:root body button.btn-units-add-to-cart.is-loading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 64px;
  height: 24px;
  margin: -12px 0 0 -32px;
  background: var(--psr-btn-fg, var(--psr-white));
  -webkit-mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  mask: var(--psr-svg-lapka-trop) 0 100% / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 50% 0 / 18px 18px no-repeat, var(--psr-svg-lapka-trop) 100% 100% / 18px 18px no-repeat;
  animation: psr-lapki 1.5s step-end infinite;
}
/* „Dodane!” (KV P6 .is-added): nocna mięta, ptaszek zamiast wózka; napis platformy ukryty (font-size 0),
   „Dodane!” dopisuje ::after – tekst przycisku w DOM zostaje bez zmian */
:root body button.btn-add-to-cart.psr-dodano,
:root body button.btn-variant-add-to-cart.psr-dodano,
:root body button.btn-units-add-to-cart.psr-dodano {
  --psr-btn-bg: var(--psr-night);
  --psr-btn-fg: var(--psr-white);
  --psr-btn-sole: var(--psr-sole-night);
  font-size: 0;
}
:root body button.btn-add-to-cart.psr-dodano::before,
:root body button.btn-variant-add-to-cart.psr-dodano::before,
:root body button.btn-units-add-to-cart.psr-dodano::before {
  -webkit-mask-image: var(--psr-i-check);
  mask-image: var(--psr-i-check);
  animation: psr-heart-beat 450ms var(--psr-spring);
}
:root body button.btn-add-to-cart.psr-dodano::after,
:root body button.btn-variant-add-to-cart.psr-dodano::after,
:root body button.btn-units-add-to-cart.psr-dodano::after {
  content: "Dodane!";
  display: inline-block;
  font-size: var(--psr-btn-fs, 18px);
  line-height: 1.1;
  vertical-align: middle;
}

/* ---------- 4. Przechył 3D kart produktów (KV C3 .tilt / .glare) ----------
   Karta: .list-products … .product-item-container (30-kafelki.css) ma transition: transform 500 ms – powrót po zjechaniu.
   Transformacja tylko w trakcie ruchu kursora (is-tilting) – w spoczynku karta bez transform (bez warstw i kontekstów).
   (0,4,0) bije kartę (0,3,0). Przechył maks. ±5°, poświata: miękki biały odblask 14% za kursorem. */
.product-item .product-item-container.psr-tilt.is-tilting {
  transform: perspective(900px) rotateX(var(--psr-rx, 0deg)) rotateY(var(--psr-ry, 0deg));
  transition: transform 80ms linear;
}
.product-item-container.psr-tilt > .psr-poswiata {
  position: absolute;
  inset: 0;
  z-index: 5;
  border-radius: inherit;
  background: radial-gradient(circle at var(--psr-gx, 50%) var(--psr-gy, 50%), rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 45%);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--psr-t-base) ease;
}
.product-item-container.psr-tilt.is-tilting > .psr-poswiata {
  opacity: 1;
}

/* ---------- 5. Grosze w indeksie górnym na cenówkach promocyjnych („15⁹⁹ zł”) – jak sup w .psr-price-tag (04) ---------- */
sup.psr-gr {
  position: relative;
  top: -0.7em;
  margin-left: 0.04em;
  font-size: 0.55em;
  line-height: 0;
  vertical-align: baseline;
}

/* ---------- 6. Pasek darmowej dostawy .psr-dostawa ----------
   Koszyk /Basket (KV B3 .ck-free): pole mięta 8, białe kółko z ciężarówką, tytuł + opis, tor 12 px z łapką jadącą
   na końcu wypełnienia (obrót −20°→+20° z postępem). Odblokowana (.psr-dostawa--darmowa): limonka 20 / 40, łapka
   limonkowa z podskokiem. Miejsce w siatce koszyka – 50-koszyk.css (obszar „free”).
   Dymek koszyka w nagłówku (KV .ov-free, .psr-dostawa--mini): ciężarówka + „Jeszcze X zł do darmowej dostawy”
   (kwota z limonkowym zakreśleniem) i tor 10 px.
   Zmienne ze skryptu: --psr-p (postęp, %), --psr-k (0…1). Selektory :root body … (0,2,1) – ponad regułami
   szablonu dla p/span w koszyku i dymku. */
:root body .psr-dostawa {
  --psr-p: 0%;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 4px 14px;
  align-items: center;
  margin: 0;
  padding: 14px 22px 22px 14px;
  border: 0;
  border-radius: 26px;
  background: var(--psr-mint-8);
  color: var(--psr-night);
  font-family: var(--psr-font);
  font-weight: 400;
  text-align: left;
  text-transform: none;
  transition: background-color var(--psr-t-base) ease;
}
:root body .psr-dostawa[hidden] {
  display: none;
}
:root body .psr-dostawa .psr-dostawa-ikona {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--psr-white);
  color: var(--psr-mint-deep);
  transition: background-color var(--psr-t-base) ease, color var(--psr-t-base) ease, rotate var(--psr-t-big) var(--psr-spring);
}
:root body .psr-dostawa .psr-dostawa-ikona::before {
  content: "";
  width: 24px;
  height: 24px;
  background: currentColor;
  -webkit-mask: var(--psr-i-truck) center / contain no-repeat;
  mask: var(--psr-i-truck) center / contain no-repeat;
}
:root body .psr-dostawa .psr-dostawa-tekst {
  min-width: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: 18px;
  line-height: 1.25;
}
:root body .psr-dostawa .psr-dostawa-tytul {
  display: block;
  color: var(--psr-night);
  font-size: 18px;
  line-height: 1.25;
}
:root body .psr-dostawa .psr-dostawa-opis {
  display: block;
  margin-top: 2px;
  color: var(--psr-muted);
  font-size: 14.5px;
  line-height: 1.4;
}
:root body .psr-dostawa .psr-dostawa-pasek {
  position: relative;
  grid-column: 1 / -1;
  height: 12px;
  margin: 16px 6px 0;
  border-radius: var(--psr-radius-pill);
  background: var(--psr-mint-20);
  transition: background-color var(--psr-t-base) ease;
}
:root body .psr-dostawa .psr-dostawa-wypelnienie {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--psr-p);
  max-width: 100%;
  border-radius: inherit;
  background: var(--psr-mint-deep);
  transition: width 800ms var(--psr-spring);
}
/* łapka na końcu wypełnienia: kółko 34 px, biała obwódka 4 px (oddziela od toru – nie cień) */
:root body .psr-dostawa .psr-dostawa-lapka {
  position: absolute;
  top: 50%;
  left: clamp(17px, var(--psr-p), calc(100% - 17px));
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--psr-mint-deep);
  box-shadow: 0 0 0 4px var(--psr-white);
  color: var(--psr-white);
  translate: -50% -50%;
  rotate: calc(var(--psr-k, 0) * 40deg - 20deg);
  transition: left 800ms var(--psr-spring), rotate 800ms var(--psr-spring), background-color var(--psr-t-base) ease, color var(--psr-t-base) ease;
}
:root body .psr-dostawa .psr-dostawa-lapka::before {
  content: "";
  position: absolute;
  inset: 7.5px;
  background: currentColor;
  -webkit-mask: var(--psr-d-paw) center / contain no-repeat;
  mask: var(--psr-d-paw) center / contain no-repeat;
}
/* odblokowana: limonka, ikona i łapka limonkowe z nocną miętą (na limonce tekst nocną miętą) */
:root body .psr-dostawa.psr-dostawa--darmowa {
  background: var(--psr-lime-20);
}
:root body .psr-dostawa.psr-dostawa--darmowa .psr-dostawa-ikona {
  background: var(--psr-lime);
  color: var(--psr-night);
  rotate: -8deg;
}
:root body .psr-dostawa.psr-dostawa--darmowa .psr-dostawa-pasek {
  background: var(--psr-lime-40);
}
:root body .psr-dostawa.psr-dostawa--darmowa .psr-dostawa-lapka {
  background: var(--psr-lime);
  color: var(--psr-night);
  animation: psr-bump 600ms var(--psr-spring);
}
/* wąsko (telefon, KV @container ≤540): mniejsze kółko i tytuł */
@media (max-width: 540px) {
  :root body .psr-dostawa {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 4px 12px;
    padding: 12px 16px 20px 12px;
  }
  :root body .psr-dostawa .psr-dostawa-ikona {
    width: 44px;
    height: 44px;
  }
  :root body .psr-dostawa .psr-dostawa-tytul {
    font-size: 16.5px;
  }
}

/* wersja w dymku koszyka (KV .ov-free): jedna linia z ciężarówką, tor 10 px bez łapki */
:root body .psr-dostawa.psr-dostawa--mini {
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin: 0 0 14px;
  padding: 12px 16px 14px;
  border-radius: var(--psr-radius-row);
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-tekst {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.3;
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-ikona {
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 0;
  background: none;
  rotate: none;
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-ikona::before {
  width: 22px;
  height: 22px;
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-napis {
  min-width: 0;
}
/* kwota z limonkowym zakreśleniem od 58% wysokości (KV .ov-free b) */
:root body .psr-dostawa .psr-dostawa-kwota {
  padding: 0 3px;
  background: linear-gradient(transparent 58%, var(--psr-lime) 58%);
  white-space: nowrap;
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-pasek {
  height: 10px;
  margin: 0;
  overflow: hidden;
}
:root body .psr-dostawa.psr-dostawa--mini .psr-dostawa-wypelnienie {
  transition-duration: 700ms;
}
:root body .psr-dostawa.psr-dostawa--mini.psr-dostawa--darmowa .psr-dostawa-ikona {
  background: none;
  color: var(--psr-night);
}

/* ----- 90-poprawki.css ----- */
/* =====================================================================
   90 – poprawki integracyjne (po włączeniu okruszków i wtyczki EAA, 24.09.2026)
   ===================================================================== */

/* ---------- Okruszki chleba (widget „Okruszki chleba” w układzie Nasza Oferta) – KV .sh-crumbs ----------
   markup: div.widget.breadcrumbs > .widget-content > .breadcrumbs-nav > a + span.sep + a …
   ostatni link = bieżąca strona (na produkcie i w wyszukiwaniu z pustym href) */
.widget.breadcrumbs {
  margin: 0 0 14px;
  padding: 0;
  background: none;
  border: 0;
  font-size: 15.5px;
  line-height: 1.3;
}
.widget.breadcrumbs .widget-content {
  padding: 0;
  background: none;
  border: 0;
}
.breadcrumbs .breadcrumbs-nav {
  display: flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}
.breadcrumbs .breadcrumbs-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  padding: 3px 9px;
  border-radius: var(--psr-radius-pill);
  color: var(--psr-muted);
  text-decoration: none;
  white-space: nowrap;
  word-wrap: normal;
  transition: background-color var(--psr-t-fast) ease, color var(--psr-t-fast) ease;
}
.breadcrumbs .breadcrumbs-nav a:first-child {
  margin-left: -9px;
}
.breadcrumbs .breadcrumbs-nav a:first-child::before {
  content: "";
  flex: none;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: var(--psr-i-home) center / contain no-repeat;
  mask: var(--psr-i-home) center / contain no-repeat;
}
.breadcrumbs .breadcrumbs-nav a:hover {
  background: var(--psr-mint-20);
  color: var(--psr-night);
}
/* bieżąca strona – nocna mięta, bez pastylki, ucinana wielokropkiem */
.breadcrumbs .breadcrumbs-nav a:last-child {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--psr-night);
  pointer-events: none;
}
.breadcrumbs .breadcrumbs-nav a:first-child:last-child {
  pointer-events: auto;
}
/* separator: strzałka KV zamiast „»” z szablonu */
.breadcrumbs .breadcrumbs-nav .sep {
  flex: none;
  width: 16px;
  height: 16px;
  margin: 0 3px;
  background: #9aa8a8;
  -webkit-mask: var(--psr-i-chevron-right) center / contain no-repeat;
  mask: var(--psr-i-chevron-right) center / contain no-repeat;
}
.breadcrumbs .breadcrumbs-nav .sep::before {
  content: none;
}
@media (max-width: 767px) {
  .widget.breadcrumbs {
    font-size: 14px;
    margin-bottom: 10px;
  }
  /* na telefonie środkowe „Nasza Oferta” zajmuje miejsce nazwie kategorii/produktu */
  .breadcrumbs .breadcrumbs-nav a:first-child + .sep + a:not(:last-child),
  .breadcrumbs .breadcrumbs-nav a:first-child + .sep + a:not(:last-child) + .sep {
    display: none;
  }
}

/* platforma przewija kartę produktu do #szczegolyProduktu, które stoi POD okruszkami –
   kotwica wyżej o wysokość okruszków, żeby ścieżka była widoczna po wejściu na produkt */
html.page-product-details #szczegolyProduktu {
  top: calc(-1 * (var(--psr-naglowek-lepki-h, 0px) + 20px + 44px));
}

/* ---------- Wtyczka EAA: pusty „Zapytanie ofertowe” w kafelkach to teraz div.letter-of-enquiry-empty ---------- */
.letter-of-enquiry-empty {
  display: none;
}

/* ---------- Wyszukiwarka: na węższych ekranach sama strzałka – odstęp po ukrytym (font-size 0) napisie „Szukaj”
   przesuwał ją o 4 px w prawo ---------- */
@media (max-width: 1199px) {
  [id="wrapper"] > header .search-widget button.btn-search {
    gap: 0;
  }
}

/* ---------- iOS Safari: białe prostokąty pod zdjęciami produktów (24.09.2026) ----------
   psr-hill animuje też rotate/translate → na iOS pagórek trafia na osobną warstwę GPU (nawet wstrzymany),
   zdjęcie leżące nad nim dostaje własną warstwę i mix-blend-mode nie ma z czym mieszać (zostaje biel).
   Pagórek faluje więc tylko kształtem (border-radius) – bez warstwy GPU. */
@keyframes psr-hill-ksztalt {
  0%, 100% { border-radius: 42% 58% 55% 45% / 45% 40% 60% 55%; }
  33% { border-radius: 58% 42% 40% 60% / 55% 60% 40% 45%; }
  66% { border-radius: 45% 55% 62% 38% / 38% 52% 48% 62%; }
}
.list-products .product-item .product-item-container .product-image-container::before,
html.page-product-details .widget-product-details .product-details-slider #carousel::before {
  animation-name: psr-hill-ksztalt;
}

/* ---------- Fale: cztery warianty z KV („Fale między sekcjami”) zamiast jednej wszędzie (24.09.2026) ----------
   zwykła (720 px, 18 s) – nagłówek, nad „Sztos”, stopka; leniwa (1080 px, 28 s) – dół sceny głównej i sklepu;
   szybka (480 px, 10 s) – pod „Sztos”; falbanka (półkola 120 px, 10 s) – nad markami i nad sklepem.
   Kafel = przesunięcie animacji (--psr-fala-kafel), więc pętla jest płynna. */
.psr-blok.psr-hero .psr-hero-fala {
  --psr-fala-kafel: 1080px;
  --psr-fala-czas: 28s;
}
.psr-blok.psr-marki::before,
.psr-blok.psr-sklep::before {
  --psr-fala-kafel: 120px;
  -webkit-mask: var(--psr-svg-falbanka-gora) repeat-x 0 0 / 120px 100%;
  mask: var(--psr-svg-falbanka-gora) repeat-x 0 0 / 120px 100%;
  animation-duration: 10s;
}
html.StronaGlowna .widget.list-products-recommended::after {
  --psr-fala-kafel: 480px;
  -webkit-mask-size: 480px 100%;
  mask-size: 480px 100%;
  animation-duration: 10s;
}
.psr-blok.psr-sklep::after {
  --psr-fala-kafel: 1080px;
  -webkit-mask-size: 1080px 100%;
  mask-size: 1080px 100%;
  animation-duration: 28s;
}

/* ---------- Opis produktu: punkty list z wklejonym padding: 5px 0 (inline) nachodziły na serduszko ---------- */
html.page-product-details #description .item-description ul > li[style] {
  padding-left: 28px !important;   /* nadpisuje inline padding z wklejonego opisu */
  text-align: left !important;
}

/* ---------- Szczegóły produktu: platforma daje th (nazwa) + td (wartość) z ramkami Bootstrapa .table-bordered ---------- */
html.page-product-details #details .table-bordered,
html.page-product-details #details .table-bordered > tbody > tr > :is(th, td) {
  border: 0;
}
html.page-product-details #details th {
  width: 38%;
  padding: 11px 16px;
  border: 0;
  border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row);
  background: var(--psr-mint-8);
  color: var(--psr-muted);
  font-size: 15px;
  line-height: 1.35;
  text-align: left;
  vertical-align: middle;
}
html.page-product-details #details th + td {
  border-radius: 0 var(--psr-radius-row) var(--psr-radius-row) 0;
}
html.page-product-details #details td:first-child:not(:last-child) {
  border-radius: var(--psr-radius-row) 0 0 var(--psr-radius-row);
}
@media (max-width: 767px) {
  html.page-product-details #details th {
    padding: 10px 12px;
    font-size: 14.5px;
  }
}

/* ---------- Naklejka „Polecany” w liliowym głębokim (prośba właściciela 24.09.2026) – kafelki i karta produktu ---------- */
.list-products .product-item .product-item-container .product-image-container > .recommended-label:not(:empty),
html.page-product-details .widget-product-details .product-details-image-container .recommended-label:not(:empty),
html.page-product-details .widget-product-details .product-details-data-container .recommended-label:not(:empty) {
  background: var(--psr-lilac-deep);
}

