/* Пакет легаси-витрины: собран tools/build-legacy-assets.py — править исходники, не этот файл. */

@import url('https://fonts.googleapis.com/css?family=Roboto');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);

/* ==== /lib/fancybox/source/jquery.fancybox.css ==== */
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
	padding: 0;
	margin: 0;
	border: 0;
	outline: none;
	vertical-align: top;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	position: relative;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 15px;
	white-space: nowrap;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('/lib/fancybox/source/fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8060;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('/lib/fancybox/source/fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	text-decoration: none;
	background: transparent url('/lib/fancybox/source/blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 10px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 10px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -99999px;
	left: -99999px;
	visibility: hidden;
	max-width: 99999px;
	max-height: 99999px;
	overflow: visible !important;
}

/* Overlay helper */

.fancybox-lock {
    overflow: hidden !important;
    width: auto;
}

.fancybox-lock body {
    overflow: hidden !important;
}

.fancybox-lock-test {
    overflow-y: hidden !important;
}

.fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: url('/lib/fancybox/source/fancybox_overlay.png');
}

.fancybox-overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

.fancybox-lock .fancybox-overlay {
	overflow: auto;
	overflow-y: scroll;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8050;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	padding-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
	   only screen and (min--moz-device-pixel-ratio: 1.5),
	   only screen and (min-device-pixel-ratio: 1.5){

	#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
		background-image: url('/lib/fancybox/source/fancybox_sprite@2x.png');
		background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
	}

	#fancybox-loading div {
		background-image: url('/lib/fancybox/source/fancybox_loading@2x.gif');
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}

/* ==== /lib/fancybox/source/helpers/jquery.fancybox-buttons.css ==== */
#fancybox-buttons {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 8050;
}

#fancybox-buttons.top {
	top: 10px;
}

#fancybox-buttons.bottom {
	bottom: 10px;
}

#fancybox-buttons ul {
	display: block;
	width: 166px;
	height: 30px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	border: 1px solid #111;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
	   -moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
	        box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
	background: rgb(50,50,50);
	background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51)));
	background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
	background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
	background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
	background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 );
}

#fancybox-buttons ul li {
	float: left;
	margin: 0;
	padding: 0;
}

#fancybox-buttons a {
	display: block;
	width: 30px;
	height: 30px;
	text-indent: -9999px;
	background-color: transparent;
	background-image: url('/lib/fancybox/source/helpers/fancybox_buttons.png');
	background-repeat: no-repeat;
	outline: none;
	opacity: 0.8;
}

#fancybox-buttons a:hover {
	opacity: 1;
}

#fancybox-buttons a.btnPrev {
	background-position: 5px 0;
}

#fancybox-buttons a.btnNext {
	background-position: -33px 0;
	border-right: 1px solid #3e3e3e;
}

#fancybox-buttons a.btnPlay {
	background-position: 0 -30px;
}

#fancybox-buttons a.btnPlayOn {
	background-position: -30px -30px;
}

#fancybox-buttons a.btnToggle {
	background-position: 3px -60px;
	border-left: 1px solid #111;
	border-right: 1px solid #3e3e3e;
	width: 35px
}

#fancybox-buttons a.btnToggleOn {
	background-position: -27px -60px;
}

#fancybox-buttons a.btnClose {
	border-left: 1px solid #111;
	width: 35px;
	background-position: -56px 0;
}

#fancybox-buttons a.btnDisabled {
	opacity : 0.4;
	cursor: default;
}

/* ==== /lib/fancybox/source/helpers/jquery.fancybox-thumbs.css ==== */
#fancybox-thumbs {
	position: fixed;
	left: 0;
	width: 100%;
	overflow: hidden;
	z-index: 8050;
}

#fancybox-thumbs.bottom {
	bottom: 2px;
}

#fancybox-thumbs.top {
	top: 2px;
}

#fancybox-thumbs ul {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

#fancybox-thumbs ul li {
	float: left;
	padding: 1px;
	opacity: 0.5;
}

#fancybox-thumbs ul li.active {
	opacity: 0.75;
	padding: 0;
	border: 1px solid #fff;
}

#fancybox-thumbs ul li:hover {
	opacity: 1;
}

#fancybox-thumbs ul li a {
	display: block;
	position: relative;
	overflow: hidden;
	border: 1px solid #222;
	background: #111;
	outline: none;
}

#fancybox-thumbs ul li img {
	display: block;
	position: relative;
	border: 0;
	padding: 0;
	max-width: none;
}

/* ==== /css/font-awesome.min.css ==== */
/*!
 *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face {
    font-family: 'FontAwesome';
    src: url('/fonts/fontawesome-webfont.eot?v=4.6.3');
    src: url('/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), url('/fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'), url('/fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'), url('/fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), url('/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal
}

.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    color: #ffa900;
}

.fa-heart-o {
    font: normal normal normal 22px/1 FontAwesome;
}

.fa-heart {
    font: normal normal normal 22px/1 FontAwesome;
}

.fa-plus {
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
}

.fa-minus {
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
}

.fa-lg {
    font-size: 1.33333333em;
    line-height: .75em;
    vertical-align: -15%
}

.fa-2x {
    font-size: 2em
}

.fa-3x {
    font-size: 3em
}

.fa-4x {
    font-size: 4em
}

.fa-5x {
    font-size: 5em
}

.fa-fw {
    width: 1.28571429em;
    text-align: center
}

.fa-ul {
    padding-left: 0;
    margin-left: 2.14285714em;
    list-style-type: none
}

.fa-ul>li {
    position: relative
}

.fa-li {
    position: absolute;
    left: -2.14285714em;
    width: 2.14285714em;
    top: .14285714em;
    text-align: center
}

.fa-li.fa-lg {
    left: -1.85714286em
}

.fa-border {
    padding: .2em .25em .15em;
    border: solid .08em #eee;
    border-radius: .1em
}

.fa-pull-left {
    float: left
}

.fa-pull-right {
    float: right
}

.fa.fa-pull-left {
    margin-right: .3em
}

.fa.fa-pull-right {
    margin-left: .3em
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.fa.pull-left {
    margin-right: .3em
}

.fa.pull-right {
    margin-left: .3em
}

.fa-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear
}

.fa-pulse {
    -webkit-animation: fa-spin 1s infinite steps(8);
    animation: fa-spin 1s infinite steps(8)
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.fa-rotate-90 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}

.fa-rotate-180 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

.fa-rotate-270 {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg)
}

.fa-flip-horizontal {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.fa-flip-vertical {
    -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
    -webkit-transform: scale(1, -1);
    -ms-transform: scale(1, -1);
    transform: scale(1, -1)
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
    filter: none
}

.fa-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle
}

.fa-stack-1x,
.fa-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center
}

.fa-stack-1x {
    line-height: inherit
}

.fa-stack-2x {
    font-size: 2em
}

.fa-inverse {
    color: #fff
}

.fa-glass:before {
    content: "\f000"
}

.fa-music:before {
    content: "\f001"
}

.fa-search:before {
    content: "\f002"
}

.fa-envelope-o:before {
    content: "\f003"
}

.fa-heart:before {
    content: "\f004"
}

.fa-star:before {
    content: "\f005"
}

.fa-star-o:before {
    content: "\f006"
}

.fa-user:before {
    content: "\f007"
}

.fa-film:before {
    content: "\f008"
}

.fa-th-large:before {
    content: "\f009"
}

.fa-th:before {
    content: "\f00a"
}

.fa-th-list:before {
    content: "\f00b"
}

.fa-check:before {
    content: "\f00c"
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
    content: "\f00d"
}

.fa-search-plus:before {
    content: "\f00e"
}

.fa-search-minus:before {
    content: "\f010"
}

.fa-power-off:before {
    content: "\f011"
}

.fa-signal:before {
    content: "\f012"
}

.fa-gear:before,
.fa-cog:before {
    content: "\f013"
}

.fa-trash-o:before {
    content: "\f014"
}

.fa-home:before {
    content: "\f015"
}

.fa-file-o:before {
    content: "\f016"
}

.fa-clock-o:before {
    content: "\f017"
}

.fa-road:before {
    content: "\f018"
}

.fa-download:before {
    content: "\f019"
}

.fa-arrow-circle-o-down:before {
    content: "\f01a"
}

.fa-arrow-circle-o-up:before {
    content: "\f01b"
}

.fa-inbox:before {
    content: "\f01c"
}

.fa-play-circle-o:before {
    content: "\f01d"
}

.fa-rotate-right:before,
.fa-repeat:before {
    content: "\f01e"
}

.fa-refresh:before {
    content: "\f021"
}

.fa-list-alt:before {
    content: "\f022"
}

.fa-lock:before {
    content: "\f023"
}

.fa-flag:before {
    content: "\f024"
}

.fa-headphones:before {
    content: "\f025"
}

.fa-volume-off:before {
    content: "\f026"
}

.fa-volume-down:before {
    content: "\f027"
}

.fa-volume-up:before {
    content: "\f028"
}

.fa-qrcode:before {
    content: "\f029"
}

.fa-barcode:before {
    content: "\f02a"
}

.fa-tag:before {
    content: "\f02b"
}

.fa-tags:before {
    content: "\f02c"
}

.fa-book:before {
    content: "\f02d"
}

.fa-bookmark:before {
    content: "\f02e"
}

.fa-print:before {
    content: "\f02f"
}

.fa-camera:before {
    content: "\f030"
}

.fa-font:before {
    content: "\f031"
}

.fa-bold:before {
    content: "\f032"
}

.fa-italic:before {
    content: "\f033"
}

.fa-text-height:before {
    content: "\f034"
}

.fa-text-width:before {
    content: "\f035"
}

.fa-align-left:before {
    content: "\f036"
}

.fa-align-center:before {
    content: "\f037"
}

.fa-align-right:before {
    content: "\f038"
}

.fa-align-justify:before {
    content: "\f039"
}

.fa-list:before {
    content: "\f03a"
}

.fa-dedent:before,
.fa-outdent:before {
    content: "\f03b"
}

.fa-indent:before {
    content: "\f03c"
}

.fa-video-camera:before {
    content: "\f03d"
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
    content: "\f03e"
}

.fa-pencil:before {
    content: "\f040"
}

.fa-map-marker:before {
    content: "\f041"
}

.fa-adjust:before {
    content: "\f042"
}

.fa-tint:before {
    content: "\f043"
}

.fa-edit:before,
.fa-pencil-square-o:before {
    content: "\f044"
}

.fa-share-square-o:before {
    content: "\f045"
}

.fa-check-square-o:before {
    content: "\f046"
}

.fa-arrows:before {
    content: "\f047"
}

.fa-step-backward:before {
    content: "\f048"
}

.fa-fast-backward:before {
    content: "\f049"
}

.fa-backward:before {
    content: "\f04a"
}

.fa-play:before {
    content: "\f04b"
}

.fa-pause:before {
    content: "\f04c"
}

.fa-stop:before {
    content: "\f04d"
}

.fa-forward:before {
    content: "\f04e"
}

.fa-fast-forward:before {
    content: "\f050"
}

.fa-step-forward:before {
    content: "\f051"
}

.fa-eject:before {
    content: "\f052"
}

.fa-chevron-left:before {
    content: "\f053"
}

.fa-chevron-right:before {
    content: "\f054"
}

.fa-plus-circle:before {
    content: "\f055"
}

.fa-minus-circle:before {
    content: "\f056"
}

.fa-times-circle:before {
    content: "\f057"
}

.fa-check-circle:before {
    content: "\f058"
}

.fa-question-circle:before {
    content: "\f059"
}

.fa-info-circle:before {
    content: "\f05a"
}

.fa-crosshairs:before {
    content: "\f05b"
}

.fa-times-circle-o:before {
    content: "\f05c"
}

.fa-check-circle-o:before {
    content: "\f05d"
}

.fa-ban:before {
    content: "\f05e"
}

.fa-arrow-left:before {
    content: "\f060"
}

.fa-arrow-right:before {
    content: "\f061"
}

.fa-arrow-up:before {
    content: "\f062"
}

.fa-arrow-down:before {
    content: "\f063"
}

.fa-mail-forward:before,
.fa-share:before {
    content: "\f064"
}

.fa-expand:before {
    content: "\f065"
}

.fa-compress:before {
    content: "\f066"
}

.fa-plus:before {
    content: "\f067"
}

.fa-minus:before {
    content: "\f068"
}

.fa-asterisk:before {
    content: "\f069"
}

.fa-exclamation-circle:before {
    content: "\f06a"
}

.fa-gift:before {
    content: "\f06b"
}

.fa-leaf:before {
    content: "\f06c"
}

.fa-fire:before {
    content: "\f06d"
}

.fa-eye:before {
    content: "\f06e"
}

.fa-eye-slash:before {
    content: "\f070"
}

.fa-warning:before,
.fa-exclamation-triangle:before {
    content: "\f071"
}

.fa-plane:before {
    content: "\f072"
}

.fa-calendar:before {
    content: "\f073"
}

.fa-random:before {
    content: "\f074"
}

.fa-comment:before {
    content: "\f075"
}

.fa-magnet:before {
    content: "\f076"
}

.fa-chevron-up:before {
    content: "\f077"
}

.fa-chevron-down:before {
    content: "\f078"
}

.fa-retweet:before {
    content: "\f079"
}

.fa-shopping-cart:before {
    content: "\f07a"
}

.fa-folder:before {
    content: "\f07b"
}

.fa-folder-open:before {
    content: "\f07c"
}

.fa-arrows-v:before {
    content: "\f07d"
}

.fa-arrows-h:before {
    content: "\f07e"
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
    content: "\f080"
}

.fa-twitter-square:before {
    content: "\f081"
}

.fa-facebook-square:before {
    content: "\f082"
}

.fa-camera-retro:before {
    content: "\f083"
}

.fa-key:before {
    content: "\f084"
}

.fa-gears:before,
.fa-cogs:before {
    content: "\f085"
}

.fa-comments:before {
    content: "\f086"
}

.fa-thumbs-o-up:before {
    content: "\f087"
}

.fa-thumbs-o-down:before {
    content: "\f088"
}

.fa-star-half:before {
    content: "\f089"
}

.fa-heart-o:before {
    content: "\f08a"
}

.fa-sign-out:before {
    content: "\f08b"
}

.fa-linkedin-square:before {
    content: "\f08c"
}

.fa-thumb-tack:before {
    content: "\f08d"
}

.fa-external-link:before {
    content: "\f08e"
}

.fa-sign-in:before {
    content: "\f090"
}

.fa-trophy:before {
    content: "\f091"
}

.fa-github-square:before {
    content: "\f092"
}

.fa-upload:before {
    content: "\f093"
}

.fa-lemon-o:before {
    content: "\f094"
}

.fa-phone:before {
    content: "\f095"
}

.fa-square-o:before {
    content: "\f096"
}

.fa-bookmark-o:before {
    content: "\f097"
}

.fa-phone-square:before {
    content: "\f098"
}

.fa-twitter:before {
    content: "\f099"
}

.fa-facebook-f:before,
.fa-facebook:before {
    content: "\f09a"
}

.fa-github:before {
    content: "\f09b"
}

.fa-unlock:before {
    content: "\f09c"
}

.fa-credit-card:before {
    content: "\f09d"
}

.fa-feed:before,
.fa-rss:before {
    content: "\f09e"
}

.fa-hdd-o:before {
    content: "\f0a0"
}

.fa-bullhorn:before {
    content: "\f0a1"
}

.fa-bell:before {
    content: "\f0f3"
}

.fa-certificate:before {
    content: "\f0a3"
}

.fa-hand-o-right:before {
    content: "\f0a4"
}

.fa-hand-o-left:before {
    content: "\f0a5"
}

.fa-hand-o-up:before {
    content: "\f0a6"
}

.fa-hand-o-down:before {
    content: "\f0a7"
}

.fa-arrow-circle-left:before {
    content: "\f0a8"
}

.fa-arrow-circle-right:before {
    content: "\f0a9"
}

.fa-arrow-circle-up:before {
    content: "\f0aa"
}

.fa-arrow-circle-down:before {
    content: "\f0ab"
}

.fa-globe:before {
    content: "\f0ac"
}

.fa-wrench:before {
    content: "\f0ad"
}

.fa-tasks:before {
    content: "\f0ae"
}

.fa-filter:before {
    content: "\f0b0"
}

.fa-briefcase:before {
    content: "\f0b1"
}

.fa-arrows-alt:before {
    content: "\f0b2"
}

.fa-group:before,
.fa-users:before {
    content: "\f0c0"
}

.fa-chain:before,
.fa-link:before {
    content: "\f0c1"
}

.fa-cloud:before {
    content: "\f0c2"
}

.fa-flask:before {
    content: "\f0c3"
}

.fa-cut:before,
.fa-scissors:before {
    content: "\f0c4"
}

.fa-copy:before,
.fa-files-o:before {
    content: "\f0c5"
}

.fa-paperclip:before {
    content: "\f0c6"
}

.fa-save:before,
.fa-floppy-o:before {
    content: "\f0c7"
}

.fa-square:before {
    content: "\f0c8"
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
    content: "\f0c9"
}

.fa-list-ul:before {
    content: "\f0ca"
}

.fa-list-ol:before {
    content: "\f0cb"
}

.fa-strikethrough:before {
    content: "\f0cc"
}

.fa-underline:before {
    content: "\f0cd"
}

.fa-table:before {
    content: "\f0ce"
}

.fa-magic:before {
    content: "\f0d0"
}

.fa-truck:before {
    content: "\f0d1"
}

.fa-pinterest:before {
    content: "\f0d2"
}

.fa-pinterest-square:before {
    content: "\f0d3"
}

.fa-google-plus-square:before {
    content: "\f0d4"
}

.fa-google-plus:before {
    content: "\f0d5"
}

.fa-money:before {
    content: "\f0d6"
}

.fa-caret-down:before {
    content: "\f0d7"
}

.fa-caret-up:before {
    content: "\f0d8"
}

.fa-caret-left:before {
    content: "\f0d9"
}

.fa-caret-right:before {
    content: "\f0da"
}

.fa-columns:before {
    content: "\f0db"
}

.fa-unsorted:before,
.fa-sort:before {
    content: "\f0dc"
}

.fa-sort-down:before,
.fa-sort-desc:before {
    content: "\f0dd"
}

.fa-sort-up:before,
.fa-sort-asc:before {
    content: "\f0de"
}

.fa-envelope:before {
    content: "\f0e0"
}

.fa-linkedin:before {
    content: "\f0e1"
}

.fa-rotate-left:before,
.fa-undo:before {
    content: "\f0e2"
}

.fa-legal:before,
.fa-gavel:before {
    content: "\f0e3"
}

.fa-dashboard:before,
.fa-tachometer:before {
    content: "\f0e4"
}

.fa-comment-o:before {
    content: "\f0e5"
}

.fa-comments-o:before {
    content: "\f0e6"
}

.fa-flash:before,
.fa-bolt:before {
    content: "\f0e7"
}

.fa-sitemap:before {
    content: "\f0e8"
}

.fa-umbrella:before {
    content: "\f0e9"
}

.fa-paste:before,
.fa-clipboard:before {
    content: "\f0ea"
}

.fa-lightbulb-o:before {
    content: "\f0eb"
}

.fa-exchange:before {
    content: "\f0ec"
}

.fa-cloud-download:before {
    content: "\f0ed"
}

.fa-cloud-upload:before {
    content: "\f0ee"
}

.fa-user-md:before {
    content: "\f0f0"
}

.fa-stethoscope:before {
    content: "\f0f1"
}

.fa-suitcase:before {
    content: "\f0f2"
}

.fa-bell-o:before {
    content: "\f0a2"
}

.fa-coffee:before {
    content: "\f0f4"
}

.fa-cutlery:before {
    content: "\f0f5"
}

.fa-file-text-o:before {
    content: "\f0f6"
}

.fa-building-o:before {
    content: "\f0f7"
}

.fa-hospital-o:before {
    content: "\f0f8"
}

.fa-ambulance:before {
    content: "\f0f9"
}

.fa-medkit:before {
    content: "\f0fa"
}

.fa-fighter-jet:before {
    content: "\f0fb"
}

.fa-beer:before {
    content: "\f0fc"
}

.fa-h-square:before {
    content: "\f0fd"
}

.fa-plus-square:before {
    content: "\f0fe"
}

.fa-angle-double-left:before {
    content: "\f100"
}

.fa-angle-double-right:before {
    content: "\f101"
}

.fa-angle-double-up:before {
    content: "\f102"
}

.fa-angle-double-down:before {
    content: "\f103"
}

.fa-angle-left:before {
    content: "\f104"
}

.fa-angle-right:before {
    content: "\f105"
}

.fa-angle-up:before {
    content: "\f106"
}

.fa-angle-down:before {
    content: "\f107"
}

.fa-desktop:before {
    content: "\f108"
}

.fa-laptop:before {
    content: "\f109"
}

.fa-tablet:before {
    content: "\f10a"
}

.fa-mobile-phone:before,
.fa-mobile:before {
    content: "\f10b"
}

.fa-circle-o:before {
    content: "\f10c"
}

.fa-quote-left:before {
    content: "\f10d"
}

.fa-quote-right:before {
    content: "\f10e"
}

.fa-spinner:before {
    content: "\f110"
}

.fa-circle:before {
    content: "\f111"
}

.fa-mail-reply:before,
.fa-reply:before {
    content: "\f112"
}

.fa-github-alt:before {
    content: "\f113"
}

.fa-folder-o:before {
    content: "\f114"
}

.fa-folder-open-o:before {
    content: "\f115"
}

.fa-smile-o:before {
    content: "\f118"
}

.fa-frown-o:before {
    content: "\f119"
}

.fa-meh-o:before {
    content: "\f11a"
}

.fa-gamepad:before {
    content: "\f11b"
}

.fa-keyboard-o:before {
    content: "\f11c"
}

.fa-flag-o:before {
    content: "\f11d"
}

.fa-flag-checkered:before {
    content: "\f11e"
}

.fa-terminal:before {
    content: "\f120"
}

.fa-code:before {
    content: "\f121"
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
    content: "\f122"
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
    content: "\f123"
}

.fa-location-arrow:before {
    content: "\f124"
}

.fa-crop:before {
    content: "\f125"
}

.fa-code-fork:before {
    content: "\f126"
}

.fa-unlink:before,
.fa-chain-broken:before {
    content: "\f127"
}

.fa-question:before {
    content: "\f128"
}

.fa-info:before {
    content: "\f129"
}

.fa-exclamation:before {
    content: "\f12a"
}

.fa-superscript:before {
    content: "\f12b"
}

.fa-subscript:before {
    content: "\f12c"
}

.fa-eraser:before {
    content: "\f12d"
}

.fa-puzzle-piece:before {
    content: "\f12e"
}

.fa-microphone:before {
    content: "\f130"
}

.fa-microphone-slash:before {
    content: "\f131"
}

.fa-shield:before {
    content: "\f132"
}

.fa-calendar-o:before {
    content: "\f133"
}

.fa-fire-extinguisher:before {
    content: "\f134"
}

.fa-rocket:before {
    content: "\f135"
}

.fa-maxcdn:before {
    content: "\f136"
}

.fa-chevron-circle-left:before {
    content: "\f137"
}

.fa-chevron-circle-right:before {
    content: "\f138"
}

.fa-chevron-circle-up:before {
    content: "\f139"
}

.fa-chevron-circle-down:before {
    content: "\f13a"
}

.fa-html5:before {
    content: "\f13b"
}

.fa-css3:before {
    content: "\f13c"
}

.fa-anchor:before {
    content: "\f13d"
}

.fa-unlock-alt:before {
    content: "\f13e"
}

.fa-bullseye:before {
    content: "\f140"
}

.fa-ellipsis-h:before {
    content: "\f141"
}

.fa-ellipsis-v:before {
    content: "\f142"
}

.fa-rss-square:before {
    content: "\f143"
}

.fa-play-circle:before {
    content: "\f144"
}

.fa-ticket:before {
    content: "\f145"
}

.fa-minus-square:before {
    content: "\f146"
}

.fa-minus-square-o:before {
    content: "\f147"
}

.fa-level-up:before {
    content: "\f148"
}

.fa-level-down:before {
    content: "\f149"
}

.fa-check-square:before {
    content: "\f14a"
}

.fa-pencil-square:before {
    content: "\f14b"
}

.fa-external-link-square:before {
    content: "\f14c"
}

.fa-share-square:before {
    content: "\f14d"
}

.fa-compass:before {
    content: "\f14e"
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
    content: "\f150"
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
    content: "\f151"
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
    content: "\f152"
}

.fa-euro:before,
.fa-eur:before {
    content: "\f153"
}

.fa-gbp:before {
    content: "\f154"
}

.fa-dollar:before,
.fa-usd:before {
    content: "\f155"
}

.fa-rupee:before,
.fa-inr:before {
    content: "\f156"
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
    content: "\f157"
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
    content: "\f158"
}

.fa-won:before,
.fa-krw:before {
    content: "\f159"
}

.fa-bitcoin:before,
.fa-btc:before {
    content: "\f15a"
}

.fa-file:before {
    content: "\f15b"
}

.fa-file-text:before {
    content: "\f15c"
}

.fa-sort-alpha-asc:before {
    content: "\f15d"
}

.fa-sort-alpha-desc:before {
    content: "\f15e"
}

.fa-sort-amount-asc:before {
    content: "\f160"
}

.fa-sort-amount-desc:before {
    content: "\f161"
}

.fa-sort-numeric-asc:before {
    content: "\f162"
}

.fa-sort-numeric-desc:before {
    content: "\f163"
}

.fa-thumbs-up:before {
    content: "\f164"
}

.fa-thumbs-down:before {
    content: "\f165"
}

.fa-youtube-square:before {
    content: "\f166"
}

.fa-youtube:before {
    content: "\f167"
}

.fa-xing:before {
    content: "\f168"
}

.fa-xing-square:before {
    content: "\f169"
}

.fa-youtube-play:before {
    content: "\f16a"
}

.fa-dropbox:before {
    content: "\f16b"
}

.fa-stack-overflow:before {
    content: "\f16c"
}

.fa-instagram:before {
    content: "\f16d"
}

.fa-flickr:before {
    content: "\f16e"
}

.fa-adn:before {
    content: "\f170"
}

.fa-bitbucket:before {
    content: "\f171"
}

.fa-bitbucket-square:before {
    content: "\f172"
}

.fa-tumblr:before {
    content: "\f173"
}

.fa-tumblr-square:before {
    content: "\f174"
}

.fa-long-arrow-down:before {
    content: "\f175"
}

.fa-long-arrow-up:before {
    content: "\f176"
}

.fa-long-arrow-left:before {
    content: "\f177"
}

.fa-long-arrow-right:before {
    content: "\f178"
}

.fa-apple:before {
    content: "\f179"
}

.fa-windows:before {
    content: "\f17a"
}

.fa-android:before {
    content: "\f17b"
}

.fa-linux:before {
    content: "\f17c"
}

.fa-dribbble:before {
    content: "\f17d"
}

.fa-skype:before {
    content: "\f17e"
}

.fa-foursquare:before {
    content: "\f180"
}

.fa-trello:before {
    content: "\f181"
}

.fa-female:before {
    content: "\f182"
}

.fa-male:before {
    content: "\f183"
}

.fa-gittip:before,
.fa-gratipay:before {
    content: "\f184"
}

.fa-sun-o:before {
    content: "\f185"
}

.fa-moon-o:before {
    content: "\f186"
}

.fa-archive:before {
    content: "\f187"
}

.fa-bug:before {
    content: "\f188"
}

.fa-vk:before {
    content: "\f189"
}

.fa-weibo:before {
    content: "\f18a"
}

.fa-renren:before {
    content: "\f18b"
}

.fa-pagelines:before {
    content: "\f18c"
}

.fa-stack-exchange:before {
    content: "\f18d"
}

.fa-arrow-circle-o-right:before {
    content: "\f18e"
}

.fa-arrow-circle-o-left:before {
    content: "\f190"
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
    content: "\f191"
}

.fa-dot-circle-o:before {
    content: "\f192"
}

.fa-wheelchair:before {
    content: "\f193"
}

.fa-vimeo-square:before {
    content: "\f194"
}

.fa-turkish-lira:before,
.fa-try:before {
    content: "\f195"
}

.fa-plus-square-o:before {
    content: "\f196"
}

.fa-space-shuttle:before {
    content: "\f197"
}

.fa-slack:before {
    content: "\f198"
}

.fa-envelope-square:before {
    content: "\f199"
}

.fa-wordpress:before {
    content: "\f19a"
}

.fa-openid:before {
    content: "\f19b"
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
    content: "\f19c"
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
    content: "\f19d"
}

.fa-yahoo:before {
    content: "\f19e"
}

.fa-google:before {
    content: "\f1a0"
}

.fa-reddit:before {
    content: "\f1a1"
}

.fa-reddit-square:before {
    content: "\f1a2"
}

.fa-stumbleupon-circle:before {
    content: "\f1a3"
}

.fa-stumbleupon:before {
    content: "\f1a4"
}

.fa-delicious:before {
    content: "\f1a5"
}

.fa-digg:before {
    content: "\f1a6"
}

.fa-pied-piper-pp:before {
    content: "\f1a7"
}

.fa-pied-piper-alt:before {
    content: "\f1a8"
}

.fa-drupal:before {
    content: "\f1a9"
}

.fa-joomla:before {
    content: "\f1aa"
}

.fa-language:before {
    content: "\f1ab"
}

.fa-fax:before {
    content: "\f1ac"
}

.fa-building:before {
    content: "\f1ad"
}

.fa-child:before {
    content: "\f1ae"
}

.fa-paw:before {
    content: "\f1b0"
}

.fa-spoon:before {
    content: "\f1b1"
}

.fa-cube:before {
    content: "\f1b2"
}

.fa-cubes:before {
    content: "\f1b3"
}

.fa-behance:before {
    content: "\f1b4"
}

.fa-behance-square:before {
    content: "\f1b5"
}

.fa-steam:before {
    content: "\f1b6"
}

.fa-steam-square:before {
    content: "\f1b7"
}

.fa-recycle:before {
    content: "\f1b8"
}

.fa-automobile:before,
.fa-car:before {
    content: "\f1b9"
}

.fa-cab:before,
.fa-taxi:before {
    content: "\f1ba"
}

.fa-tree:before {
    content: "\f1bb"
}

.fa-spotify:before {
    content: "\f1bc"
}

.fa-deviantart:before {
    content: "\f1bd"
}

.fa-soundcloud:before {
    content: "\f1be"
}

.fa-database:before {
    content: "\f1c0"
}

.fa-file-pdf-o:before {
    content: "\f1c1"
}

.fa-file-word-o:before {
    content: "\f1c2"
}

.fa-file-excel-o:before {
    content: "\f1c3"
}

.fa-file-powerpoint-o:before {
    content: "\f1c4"
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
    content: "\f1c5"
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
    content: "\f1c6"
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
    content: "\f1c7"
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
    content: "\f1c8"
}

.fa-file-code-o:before {
    content: "\f1c9"
}

.fa-vine:before {
    content: "\f1ca"
}

.fa-codepen:before {
    content: "\f1cb"
}

.fa-jsfiddle:before {
    content: "\f1cc"
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
    content: "\f1cd"
}

.fa-circle-o-notch:before {
    content: "\f1ce"
}

.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
    content: "\f1d0"
}

.fa-ge:before,
.fa-empire:before {
    content: "\f1d1"
}

.fa-git-square:before {
    content: "\f1d2"
}

.fa-git:before {
    content: "\f1d3"
}

.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
    content: "\f1d4"
}

.fa-tencent-weibo:before {
    content: "\f1d5"
}

.fa-qq:before {
    content: "\f1d6"
}

.fa-wechat:before,
.fa-weixin:before {
    content: "\f1d7"
}

.fa-send:before,
.fa-paper-plane:before {
    content: "\f1d8"
}

.fa-send-o:before,
.fa-paper-plane-o:before {
    content: "\f1d9"
}

.fa-history:before {
    content: "\f1da"
}

.fa-circle-thin:before {
    content: "\f1db"
}

.fa-header:before {
    content: "\f1dc"
}

.fa-paragraph:before {
    content: "\f1dd"
}

.fa-sliders:before {
    content: "\f1de"
}

.fa-share-alt:before {
    content: "\f1e0"
}

.fa-share-alt-square:before {
    content: "\f1e1"
}

.fa-bomb:before {
    content: "\f1e2"
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
    content: "\f1e3"
}

.fa-tty:before {
    content: "\f1e4"
}

.fa-binoculars:before {
    content: "\f1e5"
}

.fa-plug:before {
    content: "\f1e6"
}

.fa-slideshare:before {
    content: "\f1e7"
}

.fa-twitch:before {
    content: "\f1e8"
}

.fa-yelp:before {
    content: "\f1e9"
}

.fa-newspaper-o:before {
    content: "\f1ea"
}

.fa-wifi:before {
    content: "\f1eb"
}

.fa-calculator:before {
    content: "\f1ec"
}

.fa-paypal:before {
    content: "\f1ed"
}

.fa-google-wallet:before {
    content: "\f1ee"
}

.fa-cc-visa:before {
    content: "\f1f0"
}

.fa-cc-mastercard:before {
    content: "\f1f1"
}

.fa-cc-discover:before {
    content: "\f1f2"
}

.fa-cc-amex:before {
    content: "\f1f3"
}

.fa-cc-paypal:before {
    content: "\f1f4"
}

.fa-cc-stripe:before {
    content: "\f1f5"
}

.fa-bell-slash:before {
    content: "\f1f6"
}

.fa-bell-slash-o:before {
    content: "\f1f7"
}

.fa-trash:before {
    content: "\f1f8"
}

.fa-copyright:before {
    content: "\f1f9"
}

.fa-at:before {
    content: "\f1fa"
}

.fa-eyedropper:before {
    content: "\f1fb"
}

.fa-paint-brush:before {
    content: "\f1fc"
}

.fa-birthday-cake:before {
    content: "\f1fd"
}

.fa-area-chart:before {
    content: "\f1fe"
}

.fa-pie-chart:before {
    content: "\f200"
}

.fa-line-chart:before {
    content: "\f201"
}

.fa-lastfm:before {
    content: "\f202"
}

.fa-lastfm-square:before {
    content: "\f203"
}

.fa-toggle-off:before {
    content: "\f204"
}

.fa-toggle-on:before {
    content: "\f205"
}

.fa-bicycle:before {
    content: "\f206"
}

.fa-bus:before {
    content: "\f207"
}

.fa-ioxhost:before {
    content: "\f208"
}

.fa-angellist:before {
    content: "\f209"
}

.fa-cc:before {
    content: "\f20a"
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
    content: "\f20b"
}

.fa-meanpath:before {
    content: "\f20c"
}

.fa-buysellads:before {
    content: "\f20d"
}

.fa-connectdevelop:before {
    content: "\f20e"
}

.fa-dashcube:before {
    content: "\f210"
}

.fa-forumbee:before {
    content: "\f211"
}

.fa-leanpub:before {
    content: "\f212"
}

.fa-sellsy:before {
    content: "\f213"
}

.fa-shirtsinbulk:before {
    content: "\f214"
}

.fa-simplybuilt:before {
    content: "\f215"
}

.fa-skyatlas:before {
    content: "\f216"
}

.fa-cart-plus:before {
    content: "\f217"
}

.fa-cart-arrow-down:before {
    content: "\f218"
}

.fa-diamond:before {
    content: "\f219"
}

.fa-ship:before {
    content: "\f21a"
}

.fa-user-secret:before {
    content: "\f21b"
}

.fa-motorcycle:before {
    content: "\f21c"
}

.fa-street-view:before {
    content: "\f21d"
}

.fa-heartbeat:before {
    content: "\f21e"
}

.fa-venus:before {
    content: "\f221"
}

.fa-mars:before {
    content: "\f222"
}

.fa-mercury:before {
    content: "\f223"
}

.fa-intersex:before,
.fa-transgender:before {
    content: "\f224"
}

.fa-transgender-alt:before {
    content: "\f225"
}

.fa-venus-double:before {
    content: "\f226"
}

.fa-mars-double:before {
    content: "\f227"
}

.fa-venus-mars:before {
    content: "\f228"
}

.fa-mars-stroke:before {
    content: "\f229"
}

.fa-mars-stroke-v:before {
    content: "\f22a"
}

.fa-mars-stroke-h:before {
    content: "\f22b"
}

.fa-neuter:before {
    content: "\f22c"
}

.fa-genderless:before {
    content: "\f22d"
}

.fa-facebook-official:before {
    content: "\f230"
}

.fa-pinterest-p:before {
    content: "\f231"
}

.fa-whatsapp:before {
    content: "\f232"
}

.fa-server:before {
    content: "\f233"
}

.fa-user-plus:before {
    content: "\f234"
}

.fa-user-times:before {
    content: "\f235"
}

.fa-hotel:before,
.fa-bed:before {
    content: "\f236"
}

.fa-viacoin:before {
    content: "\f237"
}

.fa-train:before {
    content: "\f238"
}

.fa-subway:before {
    content: "\f239"
}

.fa-medium:before {
    content: "\f23a"
}

.fa-yc:before,
.fa-y-combinator:before {
    content: "\f23b"
}

.fa-optin-monster:before {
    content: "\f23c"
}

.fa-opencart:before {
    content: "\f23d"
}

.fa-expeditedssl:before {
    content: "\f23e"
}

.fa-battery-4:before,
.fa-battery-full:before {
    content: "\f240"
}

.fa-battery-3:before,
.fa-battery-three-quarters:before {
    content: "\f241"
}

.fa-battery-2:before,
.fa-battery-half:before {
    content: "\f242"
}

.fa-battery-1:before,
.fa-battery-quarter:before {
    content: "\f243"
}

.fa-battery-0:before,
.fa-battery-empty:before {
    content: "\f244"
}

.fa-mouse-pointer:before {
    content: "\f245"
}

.fa-i-cursor:before {
    content: "\f246"
}

.fa-object-group:before {
    content: "\f247"
}

.fa-object-ungroup:before {
    content: "\f248"
}

.fa-sticky-note:before {
    content: "\f249"
}

.fa-sticky-note-o:before {
    content: "\f24a"
}

.fa-cc-jcb:before {
    content: "\f24b"
}

.fa-cc-diners-club:before {
    content: "\f24c"
}

.fa-clone:before {
    content: "\f24d"
}

.fa-balance-scale:before {
    content: "\f24e"
}

.fa-hourglass-o:before {
    content: "\f250"
}

.fa-hourglass-1:before,
.fa-hourglass-start:before {
    content: "\f251"
}

.fa-hourglass-2:before,
.fa-hourglass-half:before {
    content: "\f252"
}

.fa-hourglass-3:before,
.fa-hourglass-end:before {
    content: "\f253"
}

.fa-hourglass:before {
    content: "\f254"
}

.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
    content: "\f255"
}

.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
    content: "\f256"
}

.fa-hand-scissors-o:before {
    content: "\f257"
}

.fa-hand-lizard-o:before {
    content: "\f258"
}

.fa-hand-spock-o:before {
    content: "\f259"
}

.fa-hand-pointer-o:before {
    content: "\f25a"
}

.fa-hand-peace-o:before {
    content: "\f25b"
}

.fa-trademark:before {
    content: "\f25c"
}

.fa-registered:before {
    content: "\f25d"
}

.fa-creative-commons:before {
    content: "\f25e"
}

.fa-gg:before {
    content: "\f260"
}

.fa-gg-circle:before {
    content: "\f261"
}

.fa-tripadvisor:before {
    content: "\f262"
}

.fa-odnoklassniki:before {
    content: "\f263"
}

.fa-odnoklassniki-square:before {
    content: "\f264"
}

.fa-get-pocket:before {
    content: "\f265"
}

.fa-wikipedia-w:before {
    content: "\f266"
}

.fa-safari:before {
    content: "\f267"
}

.fa-chrome:before {
    content: "\f268"
}

.fa-firefox:before {
    content: "\f269"
}

.fa-opera:before {
    content: "\f26a"
}

.fa-internet-explorer:before {
    content: "\f26b"
}

.fa-tv:before,
.fa-television:before {
    content: "\f26c"
}

.fa-contao:before {
    content: "\f26d"
}

.fa-500px:before {
    content: "\f26e"
}

.fa-amazon:before {
    content: "\f270"
}

.fa-calendar-plus-o:before {
    content: "\f271"
}

.fa-calendar-minus-o:before {
    content: "\f272"
}

.fa-calendar-times-o:before {
    content: "\f273"
}

.fa-calendar-check-o:before {
    content: "\f274"
}

.fa-industry:before {
    content: "\f275"
}

.fa-map-pin:before {
    content: "\f276"
}

.fa-map-signs:before {
    content: "\f277"
}

.fa-map-o:before {
    content: "\f278"
}

.fa-map:before {
    content: "\f279"
}

.fa-commenting:before {
    content: "\f27a"
}

.fa-commenting-o:before {
    content: "\f27b"
}

.fa-houzz:before {
    content: "\f27c"
}

.fa-vimeo:before {
    content: "\f27d"
}

.fa-black-tie:before {
    content: "\f27e"
}

.fa-fonticons:before {
    content: "\f280"
}

.fa-reddit-alien:before {
    content: "\f281"
}

.fa-edge:before {
    content: "\f282"
}

.fa-credit-card-alt:before {
    content: "\f283"
}

.fa-codiepie:before {
    content: "\f284"
}

.fa-modx:before {
    content: "\f285"
}

.fa-fort-awesome:before {
    content: "\f286"
}

.fa-usb:before {
    content: "\f287"
}

.fa-product-hunt:before {
    content: "\f288"
}

.fa-mixcloud:before {
    content: "\f289"
}

.fa-scribd:before {
    content: "\f28a"
}

.fa-pause-circle:before {
    content: "\f28b"
}

.fa-pause-circle-o:before {
    content: "\f28c"
}

.fa-stop-circle:before {
    content: "\f28d"
}

.fa-stop-circle-o:before {
    content: "\f28e"
}

.fa-shopping-bag:before {
    content: "\f290"
}

.fa-shopping-basket:before {
    content: "\f291"
}

.fa-hashtag:before {
    content: "\f292"
}

.fa-bluetooth:before {
    content: "\f293"
}

.fa-bluetooth-b:before {
    content: "\f294"
}

.fa-percent:before {
    content: "\f295"
}

.fa-gitlab:before {
    content: "\f296"
}

.fa-wpbeginner:before {
    content: "\f297"
}

.fa-wpforms:before {
    content: "\f298"
}

.fa-envira:before {
    content: "\f299"
}

.fa-universal-access:before {
    content: "\f29a"
}

.fa-wheelchair-alt:before {
    content: "\f29b"
}

.fa-question-circle-o:before {
    content: "\f29c"
}

.fa-blind:before {
    content: "\f29d"
}

.fa-audio-description:before {
    content: "\f29e"
}

.fa-volume-control-phone:before {
    content: "\f2a0"
}

.fa-braille:before {
    content: "\f2a1"
}

.fa-assistive-listening-systems:before {
    content: "\f2a2"
}

.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
    content: "\f2a3"
}

.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
    content: "\f2a4"
}

.fa-glide:before {
    content: "\f2a5"
}

.fa-glide-g:before {
    content: "\f2a6"
}

.fa-signing:before,
.fa-sign-language:before {
    content: "\f2a7"
}

.fa-low-vision:before {
    content: "\f2a8"
}

.fa-viadeo:before {
    content: "\f2a9"
}

.fa-viadeo-square:before {
    content: "\f2aa"
}

.fa-snapchat:before {
    content: "\f2ab"
}

.fa-snapchat-ghost:before {
    content: "\f2ac"
}

.fa-snapchat-square:before {
    content: "\f2ad"
}

.fa-pied-piper:before {
    content: "\f2ae"
}

.fa-first-order:before {
    content: "\f2b0"
}

.fa-yoast:before {
    content: "\f2b1"
}

.fa-themeisle:before {
    content: "\f2b2"
}

.fa-google-plus-circle:before,
.fa-google-plus-official:before {
    content: "\f2b3"
}

.fa-fa:before,
.fa-font-awesome:before {
    content: "\f2b4"
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto
}


.buttons {
    padding: 8px;
}

/* .buttons:hover {
    background-color: #f4faf6;;
} */

.empty-none {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
}

.favorite-toggle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    margin-bottom: 4px;
    background-color: #ffffffb3;
    padding: 0;
    border: none;
    border-radius: 4px;
    cursor: pointer;

}

/* ==== /css/avgrund.css ==== */
.avgrund-popin {
    position: absolute;
    background: #fff;
    padding: 10px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
    top: 50%;
    left: 50%;
    z-index: 1000;
    box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .5);

    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8);
}

.avgrund-overlay {
    background: #000;
    width: 100%;
    position: relative;
    top: -1500px;
    left: 0;
    z-index: 101;
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
}

body.avgrund-ready,
.avgrund-ready .avgrund-popin,
.avgrund-ready .avgrund-overlay {
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;

    -webkit-transition: 0.3s all ease-out;
    -moz-transition: 0.3s all ease-out;
    -ms-transition: 0.3s all ease-out;
    -o-transition: 0.3s all ease-out;
    transition: 0.3s all ease-out;
}

body.avgrund-active {
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
    overflow: hidden;
}

.avgrund-active .avgrund-popin {
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);

    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.avgrund-active .avgrund-overlay {
    visibility: visible;
    opacity: .5;
    filter: alpha(opacity=50);
    height: 20000px;
}

.avgrund-popin.stack {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
}

.avgrund-active .avgrund-popin.stack {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.avgrund-active .avgrund-blur {
    -webkit-filter: blur(1px);
    -moz-filter: blur(1px);
    -ms-filter: blur(1px);
    -o-filter: blur(1px);
    filter: blur(1px);
}

/* Optional close button styles */
.avgrund-close {
    display: block;
    color: #555;
    font-size: 13px;
    text-decoration: none;
    text-transform: uppercase;
    position: absolute;
    top: 6px;
    right: 10px;
}

/* ==== /css/swiper-bundle.min.css ==== */
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active{pointer-events:auto}.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}

/* ==== /css/modern.css ==== */

/**
 * Ширина полосы контента — 1250 точек, как на витрине Nuxt.
 *
 * У Bootstrap `.container` шириной 1170; у Tailwind-витрины нового стека —
 * 1250. Пока стеки живут рядом, разница видна при переходе с платформенной
 * витрины на витрину магазина: полоса контента прыгает. Решение заказчика
 * 2026-08-16 — свести к 1250, значение нового стека, а не старого: именно на
 * него платформа переедет.
 *
 * Правило действует только на широких экранах — там, где Bootstrap вообще
 * фиксирует ширину. На планшете и телефоне контейнер по-прежнему резиновый.
 */
@media (min-width: 1200px) {
    .container {
        width: 1250px;
    }
}

/* === Базовые стили === */
html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
}

html {
    overflow-x: hidden;
    overflow-y: scroll;
}

body {
    padding-top: 75px;
}

html.fancybox-margin {
    padding-right: 10px;
}


/* === Tailwind-подобные утилиты === */
.flex {
    display: flex;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-col {
    flex-direction: column;
}

.flex-row {
    flex-direction: row;
}

.flex-1 {
    flex: 1 1 0;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.items-center {
    align-items: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

.gap-0 {
    gap: 0;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 0.75rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-5 {
    gap: 1.25rem;
}

.gap-6 {
    gap: 1.5rem;
}

.gap-7 {
    gap: 1.75rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-9 {
    gap: 2.25rem;
}

.gap-10 {
    gap: 2.5rem;
}

.m-0 {
    margin: 0 !important;
}

.m-1 {
    margin: 0.25rem;
}

.m-2 {
    margin: 0.5rem;
}

.m-3 {
    margin: 0.75rem;
}

.m-4 {
    margin: 1rem;
}

.mt-0 {
    margin-top: 0;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-7 {
    margin-top: 1.75rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-9 {
    margin-top: 2.25rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mt-7 {
    margin-top: 1.75rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-9 {
    margin-top: 2.25rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-5 {
    margin-bottom: 1.25rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-7 {
    margin-bottom: 1.75rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-9 {
    margin-bottom: 2.25rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-11 {
    margin-bottom: 2.75rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.mb-13 {
    margin-bottom: 3.25rem;
}

.mb-14 {
    margin-bottom: 3.5rem;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.my-3 {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
}

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.p-0 {
    padding: 0 !important;
}

.p-1 {
    padding: 0.25rem !important;
}

.p-2 {
    padding: 0.5rem !important;
}

.p-3 {
    padding: 0.75rem !important;
}

.p-4 {
    padding: 1rem !important;
}

.pl-0 {
    padding-left: 0 !important;
}

.pl-1 {
    padding-left: 0.25rem !important;
}

.pl-2 {
    padding-left: 0.5rem !important;
}

.pl-3 {
    padding-left: 0.75rem !important;
}

.pl-4 {
    padding-left: 1rem !important;
}

.pl-5 {
    padding-left: 1.25rem !important;
}

.pl-6 {
    padding-left: 1.5rem !important;
}

.pl-7 {
    padding-left: 1.75rem !important;
}

.pr-0 {
    padding-right: 0 !important;
}

.pr-1 {
    padding-right: 0.25rem !important;
}

.pr-2 {
    padding-right: 0.5rem !important;
}

.pr-3 {
    padding-right: 0.75rem !important;
}

.pr-4 {
    padding-right: 1rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pt-1 {
    padding-top: 0.25rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pt-3 {
    padding-top: 0.75rem !important;
}

.pt-4 {
    padding-top: 1rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-1 {
    padding-bottom: 0.25rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

.pb-3 {
    padding-bottom: 0.75rem !important;
}

.pb-4 {
    padding-bottom: 1rem !important;
}

.pb-5 {
    padding-bottom: 1.25rem !important;
}

.pb-6 {
    padding-bottom: 1.5rem !important;
}

.pb-7 {
    padding-bottom: 1.75rem !important;
}

.pb-8 {
    padding-bottom: 2rem !important;
}

.pb-9 {
    padding-bottom: 2.25rem !important;
}

.pb-10 {
    padding-bottom: 2.5rem !important;
}

.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.px-3 {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
}

.px-4 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.px-5 {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

.px-6 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.px-7 {
    padding-left: 1.75rem !important;
    padding-right: 1.75rem !important;
}

.px-8 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* .py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
} */

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    /* width: 100%; */
    display: flex;
    flex-wrap: wrap;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

.inline {
    display: inline-block !important;
}

.d-none {
    display: none !important;
}

.d-block {
    display: block !important;
}

/* .w-100 {
    width: 100% !important;
} */

.hidden-xl-down {
    display: none !important;
}

.text-justify {
    text-align: justify;
}

.text-center {
    text-align: center !important;
}

.img-fluid {
    width: 220px;
    /* height: 60px; */
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    /* margin-left: 60px; */
}

/* #### HEADERS #### */
h1,
.h1 {
    font-size: 2rem;
}

.lined {
    position: relative;
    text-align: center;
}

.lined span {
    background: #fff;
    padding: 0 15px;
    position: relative;
    z-index: 1;
}

.lined:before {
    background: #ddd;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    width: 94%;
    left: 3%;
}

/* #### LAYOUT #### */
/* Sticky footer: main растягивается на остаток высоты, футер всегда внизу
   окна. Так футер перестаёт «прыгать» при переключении между страницами
   с разной высотой контента (актуально для разделов ЛК). 80px = padding-top
   на body под navbar-fixed-top. */
.page-shell {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 75px);
    min-height: calc(100dvh - 75px);
}

.page-shell > #page-container {
    flex: 1 0 auto;
    /* Ширину задаём явно, потому что `.container-fluid` приходит с
       `margin: auto`, а рама — флекс-колонка. В флексе авто-поля не
       растягивают элемент, а **сжимают его до содержимого** и центрируют: на
       широком экране это незаметно (содержимое и так шире), а на окне около
       тысячи пикселей колонка кабинета получалась 481 из 950 — вдвое уже
       места, с пустыми полями по бокам (замечание заказчика 26.08.2026).

       `align-self` тут не поможет: авто-поля сильнее выравнивания. */
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.page-shell > .container-footer {
    flex-shrink: 0;
}

/* Глобально убираем ободки фокуса со всех интерактивных элементов */
a,
a:focus,
a:focus-visible,
a:active,
a:hover,
button,
button:focus,
button:focus-visible,
button:active,
button:active:focus,
.btn,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn:active:focus,
.btn.focus,
input,
input:focus,
input:focus-visible,
input:active,
select,
select:focus,
select:focus-visible,
textarea,
textarea:focus,
textarea:focus-visible,
[tabindex],
[tabindex]:focus,
[tabindex]:focus-visible,
[role="button"],
[role="button"]:focus,
[role="button"]:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

button.disabled {
    pointer-events: none;
}

.default-orange {
    color: #FF7F0B;
}

.default-green {
    color: #A2CF41;
}

.default-grey {
    color: #C3C3C3;
}

/* .no-paddings {
    padding: 0 !important;
} */

.bold {
    font-weight: 500;
}

.bold_text {
    font-weight: bold;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/*custom scrollbar*/
*::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: white;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    background-color: white;
}

*::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #A2CF41;
}

/*start header*/
.koop-navbar {
    height: 85px;
    margin-bottom: 0;
    background-color: #fff;
    border: none;
    -webkit-transform: translateZ(0);
    border-bottom: #A2CF41 solid 1px;
}

.header-mobile-about>a {
    color: #777;
    font-weight: 500;
}

.header-mobile-about {
    padding: 15px 0;
    margin-right: 15px;
}

.admin-pannel>a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    margin-top: 2px;
}

.admin-pannel>a .fa {
    font-size: 30px;
}

.header-menu .navbar-nav {
    float: right;
}

.header-menu.container-fluid {
    color: #7B7B7B;
    background-color: white;
    max-width: 1250px;
    margin: auto;
}

.header-items {
    margin-top: 18px;
}

.icon-heart-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    transition: all 0.25s ease;
    vertical-align: middle;
    background: #fff;
}

.icon-heart-button:hover {
    text-decoration: none;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    color: #A2CF41;
    transition: all 0.25s ease;
    cursor: pointer;
    background-color: #A2CF41;
}

.icon-heart-button.active {
    color: white;
    background-color: #A2CF41;
    border-color: #A2CF41;
    animation: pulse 0.3s ease;
}

.icon-heart-button a {
    text-decoration: none;
    border: none;
    color: inherit;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    pointer-events: auto;
}

.icon-heart-button i {
    font-size: 19px;
    line-height: 1;
    transition: all 0.25s ease;
    pointer-events: none;
}

.icon-heart-button.active i {
    transform: scale(1.2);
}

.icon-heart-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    transition: all 0.25s ease;
    vertical-align: middle;
    margin: 10px 0 0 8px;
    background: #fff;
}

.icon-heart-wrapper:hover {
    text-decoration: none;
    border: 1px solid #A2CF41;
    border-radius: 50%;
    color: #A2CF41;
    transition: all 0.25s ease;
    cursor: pointer;
    background-color: #f6fff1;
    /* background-color: #A2CF41; */
}

.icon-heart-wrapper.active {
    color: white;
    animation: pulse 0.3s ease;
    /* background-color: #A2CF41; */
}

.icon-heart-wrapper a {
    text-decoration: none;
    border: none;
    color: inherit;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    pointer-events: auto;
}

.icon-heart-wrapper i {
    font-size: 19px;
    line-height: 1;
    transition: all 0.25s ease;
    pointer-events: none;
}

.icon-heart-wrapper.active i {
    transform: scale(1.2);
}

.heart-button i {
    transition: color 0.3s ease, transform 0.2s ease;
}

.heart-button.active i {
    color: #e74c3c;
    transform: scale(1.2);
    animation: pulse 0.4s ease;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}

.header-truck {
    width: 75px;
    vertical-align: super;
}

.header-phone {
    width: 40px;
    vertical-align: middle;
    display: inline-block;
}

.header-work-time {
    width: 36px;
    flex-shrink: 0;
}

.header-cart {
    width: 35px;
}

.header-cart-qty {
    position: absolute;
    font-size: 14px;
    left: 35px;
    top: 5px;
    min-width: 20px;
    font-weight: 600;
    height: 20px;
    color: white;
    background: #FF7F0B;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-cart-item {
    border: 1px solid #A2CF41;
    border-radius: 50px;
    margin-top: 2px;
    margin-left: 10px;
}

/* === ИКОНКА "ВЫХОД" (ДВЕРЬ) === */
.exit-header {
    background: url(/images/header/exit.png) no-repeat -1px center;
    background-size: 70px;
    width: 35px;
    height: 35px;
    position: absolute;
    top: 9px;
    left: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.exit-header img {
    width: 120px;
    height: auto;
    max-width: 100%;
    transition: width 0.3s ease;
}

@media (max-width: 1024px) {
    .exit-header img {
        width: 90px;
    }
}

@media (max-width: 768px) {
    .exit-header img {
        width: 70px;
    }
}

@media (max-width: 480px) {
    .exit-header img {
        width: 55px;
    }
}

.header-auth:hover .exit-header,
a:hover .exit-header {
    background-position: -36px center;
    background-size: 70px;
}

.header-auth:hover>a {
    border: 1px solid #A2CF41;
    background-color: #A2CF41 !important;
    border-radius: 50px;
}

/* При наведении корзина — текст меняет цвет */
.header-auth:hover .header-cart-sum {
    color: white !important;
}

/* Чуть уменьшить плотность текста справа */
.free-delivery,
.header-cart-sum,
.phone-numbers {
    font-size: 14px;
    margin-left: 6px;
}

/* Кнопка корзины — немного компактнее */
.header-cart-item a {
    padding: 4px 8px !important;
}

.header-cart {
    width: 32px;
}

.header-cart-qty {
    font-size: 12px;
    left: 30px;
    top: 4px;
}

.cart-header {
    background: url(/images/header/cart.png) no-repeat 0 center;
    background-size: 65px;
    width: 35px;
    height: 35px;
}

.header-cart-item:hover {
    border: 1px solid #A2CF41;
    background-color: #A2CF41;
}

.header-cart-item:hover .header-cart-sum {
    color: white !important;
}

.header-cart-item:hover>a .cart-header {
    background-position: -33px center;
    background-size: 65px;
    width: 35px;
    height: 35px;
}

.header-cart-item>a {
    padding: 6px 12px !important;
}

.header-cart-qty-dozen {
    font-size: 13px;
}

.hide-header-cart-qty {
    display: none;
}

.header-item-phone-numbers.dropdown {
    position: relative;
}

.header-item-phone-numbers .dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #7B7B7B;
}

.header-item-phone-numbers .dropdown-toggle:hover {
    text-decoration: none;
    color: #7B7B7B;
}

.delivery-date-wrap {
    display: flex;
    flex-direction: column;
}

.delivery-date-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.delivery-date-day {
    white-space: nowrap;
    font-weight: 600;
    color: #7B7B7B;
}

.delivery-date-time {
    white-space: nowrap;
    font-size: 12px;
    line-height: 1.2;
    color: #7B7B7B;
}

.header-item-phone-numbers .dropdown-toggle .caret {
    flex-shrink: 0;
    color: #FF7F0B;
}

.free-delivery {
    display: inline-block;
    color: #7B7B7B;
    margin-left: 10px;
}

.header-cart-sum {
    margin-left: 10px;
    vertical-align: top;
    padding-top: 10px;
}

.header-auth a {
    border: 1px solid #A2CF41;
    border-radius: 50px;
    width: 55px;
    height: 55px;
    margin-top: 2px;
}

.header-auth>a>img {
    position: absolute;
    left: 5px;
    top: -1px;
    width: 35px;
}

.logout-btn {
    margin-top: 8px;
}

.registration-btn {
    text-align: center;
    border-color: #ff830b;
    margin-top: 10px;
}

.registration-btn>a {
    border-color: #ff830b;
    border-radius: 30px;
    font-size: 24px;
    color: #ff830b;
    background-color: white;
}

.registration-btn>a:hover,
.registration-btn>a:active {
    border-color: #ff830b;
    border-radius: 30px;
    font-size: 24px;
    color: white;
    background-color: #ff830b;
}

/**
  Hide arrows for input number
 */
.no-arrows::-webkit-outer-spin-button,
.no-arrows::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.no-arrows {
    -moz-appearance: textfield;
}

/* Sidebar menu */
.menu-header {
    background-color: #A2CF41;
    margin: auto;
    padding: 10px 15px;
    color: white;
    text-align: center;
    border-radius: 15px 15px 0 0;
    position: relative;
}

.menu-header .fa.fa-bars {
    float: left;
    position: absolute;
    left: 15px;
}

.menu-last-item {
    min-height: 20px;
    background-color: #a2cf41;
    border-radius: 0 0 15px 15px;
    position: relative;
}

.menu-last-item>a {
    background-color: #ffffff;
    position: absolute;
    top: 0;
    height: 15px;
    border-radius: 0 0 10px 10px;
    width: 100%;
    box-sizing: border-box;
}

.sidebar-block {
    margin-top: 20px;
}

.sidebar-block-inner {
    margin: 0;
    padding: 0;
    border-radius: 15px;
    -webkit-box-shadow: 0 0 4px 0 #c9c9c9;
    -moz-box-shadow: 0 0 4px 0 #c9c9c9;
    box-shadow: 0 0 5px 2px #c9c9c9;
}

.sidebar-menu .fa.fa-angle-right {
    color: #A2CF41;
    font-size: 18px;
}

.sidebar-menu .fa.fa-angle-down {
    color: #FF7F0B;
    font-size: 18px;
}

.sidebar-menu>li>a {
    color: #484848;
}

.sidebar-menu>li.active>a {
    text-decoration: none;
    background-color: #F8F8F8;
}

.sidebar-menu>li>a:focus,
.sidebar-menu>li>a:hover {
    text-decoration: none;
    background-color: #E5E5E5;
}

.sidebar-menu-block .nav>li>a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    /* Пункты стояли вплотную: вертикального отступа не было вовсе, и список
       читался как сплошная стена (замечание заказчика 2026-08-13). Значение
       взято от выезжающего меню на телефоне — там строка выходит в 31 точку:
       20 на текст плюс по 5 сверху и снизу. Первая попытка дала 10 и 41 точку
       на строку, и это оказалось «слишком широко». */
    padding: 5px 15px;
    width: 100%;
    outline: none;
}

.sidebar-menu-block .nav>li>a .s-menu-title {
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}

.sidebar-menu-block .nav>li>a > .fa {
    flex-shrink: 0;
    margin-left: auto;
}

.sidebar-menu-block .nav>li>a > .js-menu-toggle {
    flex-shrink: 0;
    margin-left: auto;
    margin-right: -8px;
    /* Вертикального отступа у стрелки нет намеренно, и это не косметика.
       Иконка `fa-angle-right` — 18 точек, и вместе с прежними 6+6 стрелка
       выходила в 30 точек: выше самого текста (20), из-за чего высоту строки
       задавала она, а не содержание. Пункт каталога на десктопе получался в 41
       точку против 31 в выезжающем меню на телефоне — то самое расхождение,
       которое заметил заказчик 2026-08-16.

       Площадь клика от этого не пострадала: `align-self: stretch` растягивает
       стрелку на всю высоту строки, а горизонтальные 12 точек оставляют её
       широкой. Разница в том, что теперь она **следует** за высотой строки,
       а не диктует её. */
    padding: 0 12px;
    line-height: 1;
    cursor: pointer;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.sidebar-menu-block .nav>li>a > .js-menu-toggle:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

.sidebar-menu-block > .sidebar-menu > li {
    border-bottom: 1px solid #D0D0D0;
}

.sidebar-menu-block > .sidebar-menu > li:last-child,
.sidebar-menu-block > .sidebar-menu > li:nth-last-child(0) {
    /*border-bottom: none;*/
}

.sidebar-menu li>a.s-menu-level2 {
    padding-left: 30px;
}

.sidebar-menu li>a.s-menu-level3 {
    padding-left: 45px;
}

.sidebar-menu li>a.s-menu-level4 {
    padding-left: 60px;
}

.sidebar-menu li>a.s-menu-level5 {
    padding-left: 75px;
}

/* search bar */
.search-bar-row {
    margin-bottom: 2rem;
}

.search-bar-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.search-bar .glyphicon {
    color: #A2A2A2;
    width: 47px;
}

.search-bar .input-group-addon {
    color: #484848;
    padding: 0;
    border: none;
    background-color: transparent;
}

.search-bar {
    position: relative;
}

.search-bar .icons-search {
    position: absolute;
    top: 38%;
    right: 8px;
    transform: translateY(-50%);
    display: flex;
    gap: 5px;
    align-items: center;
    z-index: 3;
}

.search-bar .icons-search .icon-heart-wrapper:hover {
    background: #f4f4f4;
}

.search-bar input[type="text"] {
    width: 89%;
    height: 45px;
    border-radius: 8px;
}

@media (max-width: 1200px) {
    .search-bar input[type="text"] {
        width: 85%;
    }
}

@media (max-width: 768px) {
    .search-bar input[type="text"] {
        width: 79%;
    }
}

@media (max-width: 500px) {
    .search-bar input[type="text"] {
        width: 70%;
    }
}

@media (max-width: 360px) {
    .search-bar input[type="text"] {
        width: 63%;
    }
}

.search-bar {
    flex: 1;
}

.search-bar input[type="text"] {
    height: 45px;
    border-radius: 8px;
    width: 100%;
}

.search-bar .input-group-addon button {
    min-height: 50px;
    font-size: 24px;
    padding: 10px 0 4px 0;
    border-radius: 15px 0 0 15px;
    margin-right: -2px;
    background-color: transparent;
    border-right: initial;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.search-bar input {
    min-height: 50px;
    font-size: 18px;
    border-left: initial;
    border-radius: 0 15px 15px 0;
}

.search-bar .input-group-addon .btn:hover,
.search-bar .input-group-addon .btn:focus,
.search-bar .input-group-addon .btn:active {
    background-color: transparent !important;
    box-shadow: none;
}

.search-icons {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: flex;
    gap: 10px;
}

/* #### CATALOG #### */
.product-btn-minus,
.product-btn-plus {
    border: 2px solid #a2cf41;
    border-radius: 50px;
    width: 26px;
    height: 26px;
    color: #a2cf41;
    font-size: 15px;
    padding: 2px;
}

.product-btn-minus:hover,
.product-btn-minus:focus,
.product-btn-minus:active,
.product-btn-plus:active:focus,
.product-btn-minus:active:focus,
.product-btn-plus:hover,
.product-btn-plus:focus,
.product-btn-plus:active {
    border: 2px solid #a2cf41 !important;
    background-color: #a2cf41 !important;
    border-radius: 50px;
    width: 26px;
    height: 26px;
    color: white !important;
}

/* #### STOCK STATUS */
.stock-status {
    font-style: italic;
    font-weight: 500;
    min-height: 2rem;
    text-align: center;
}

.stock-status.in-stock,
.stock-status.in-stock-preorder {
    color: #28a745;
}

.stock-status.preorder {
    color: #ffc107;
}

.stock-status.out-of-stock,
.stock-status.awaiting {
    color: #a0a0a0;
}

/* #### PRODUCTS GRID #### */
/* CSS Grid — гарантирует одинаковую ширину и высоту карточек.
   Bootstrap col-* классы на .product-grid игнорируются (width перебивается). */
.products-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
}

.products-grid::before,
.products-grid::after {
    display: none;
}

@media (min-width: 576px) {
    .products-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1200px) {
    .products-grid { grid-template-columns: repeat(3, 1fr); }
}

.products-grid > .product-grid {
    display: flex;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    float: none;
}

.product-grid {
    margin-bottom: 15px;
}

.product-grid .qty-input {
    width: 2rem;
    height: 2.3rem;
}

.product-grid .product-qty-block {
    flex-direction: row;
}

.product-grid .btn-buy {
    background: url(/images/product-details/product-cart.png) no-repeat -27px center;
    border: 2px solid #A2CF41;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    background-size: 70px;
    height: 3rem;
    width: 3rem;

}

.product-grid .btn-buy:hover,
.product-grid .btn-buy:active,
.product-grid .btn-buy:focus {
    background-position: 8px center;
    background-color: #A2CF41 !important;
    border-color: #A2CF41 !important;
}

/* Название товара на карточке каталога.
   Высота фиксирована, чтобы карточки в ряду стояли ровно: цена и кнопка
   «в корзину» обязаны быть на одной линии независимо от длины названия.
   Но высота и число строк должны сходиться между собой — раньше не сходились:
   две строки по 1.3rem не помещались в 3.5rem, и у длинных названий из-под
   обрезки выглядывала половина третьей строки (замечание заказчика
   2026-08-09 на «Комплекс для улучшения питьевой воды Coral-Mine 10 шт»).
   Теперь строк три, шрифт чуть мельче, а высота посчитана из них же. */
.product-grid .product-title {
    height: calc(1.2rem * 1.35 * 3);
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.product-grid .product-title>a {
    color: #484848;
}


.product-grid.out-of-stock,
.product-grid.awaiting {
    opacity: 0.6;
}


.p-qty-num {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
}

.qty-input {
    width: 2.5rem;
    height: 2.5rem;
    max-width: 3.125rem;
    text-align: center;
    border: none;
    box-shadow: none;
    font-size: 1.375rem;
    padding: 0 !important;
}

.product-thumbnail {
    position: relative;
    border: 1px solid #C3C3C3;
    border-radius: 15px;
    background-color: white;
    height: 100%;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

/* Product image area: 1:1 square, image maximized inside */
.product-grid-img {
    aspect-ratio: 1 / 1;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #C3C3C3;
    overflow: hidden;
}

.product-grid-img a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0.75rem;
    box-sizing: border-box;
}

.product-grid-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Бейдж реферального бонуса (карточка каталога + страница товара) */
.product-bonus-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    display: inline-block;
    padding: 3px 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: #FF7F21;
    background: #fff;
    border: 1.5px solid #A2CF00;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
    white-space: nowrap;
    pointer-events: auto;
    cursor: help;
}
.product-bonus-badge--detail {
    top: 25px;
    left: 42px;
    font-size: 14px;
    padding: 4px 10px;
}

.product-grid-text {
    width: 100%;
    height: 58px;
    float: left;
    overflow: hidden;
    margin-top: 15px;
}

.pt-shadow {
    -webkit-box-shadow: 0 1px 10px 0 #C3C3C3;
    -moz-box-shadow: 0 1px 10px 0 #C3C3C3;
    box-shadow: 0 1px 10px 0 #C3C3C3;
}

/** #### PRODUCT DETAIL PAGE #### */
.product-card .product-qty-block {
    flex-direction: row;
}

.product-card .product-image-main {
    height: 300px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-color: #CDCDCD;
    border-radius: 10px;
    padding: 0.5rem;
}

.product-card .product-image-main img {
    object-fit: contain;
    display: block;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}

.product-card .product-image-main:hover,
.product-card .product-image-main:focus,
.product-card .product-image-main:active {
    border-color: #CDCDCD;
}

.product-card .product-images-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.product-card .product-image-other {
    width: 100%;
    height: 100%;
}

.product-card .product-article {
    font-size: 1rem;
    color: #949494;
}

.product-card .product-price {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    color: #A2CF41;
}

.product-card .product-price__unit {
    font-size: 20px;
    font-weight: 400;
}

.product-card .product-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 14px;
}

.product-card .product-bonus-line {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #f7941d;
}

/* Остаток и ожидание предзаказа — компактной заметкой под покупкой, а не двумя разнесёнными абзацами. */
.product-card .product-availability {
    margin: 0 0 14px;
    font-size: 12.5px;
    line-height: 1.45;
    color: #8a8a8a;
}

.product-card .product-availability .qty-hint,
.product-card .product-availability .preorder-hint {
    margin: 0;
}

.product-card .product-buy {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 20px 0 12px;
}

.product-card .product-buy__total {
    font-size: 18px;
    font-weight: 500;
    color: #f7941d;
}

.product-card .product-buy .btn-buy {
    width: auto;
    height: 40px;
    padding: 0 14px;
    line-height: 36px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: #A2CF41;
    border: 2px solid #A2CF41;
    border-radius: 50px;
}

.product-card .product-buy .btn-buy:hover,
.product-card .product-buy .btn-buy:active,
.product-card .product-buy .btn-buy:focus {
    color: #A2CF41;
    background: transparent !important;
    border: 2px solid #A2CF41;
}

.product-card .product-promise {
    margin: 14px 0 0;
    padding: 12px 20px;
    font-size: 14px;
    text-align: center;
    border: 2px solid #CDCDCD;
    border-radius: 20px;
}

.product-card .product-promise--accent {
    border-color: #f7941d;
}

/* Ролики карточки идут в одном ряду с фотографиями: та же плитка, поверх — кнопка «играть». */
.product-card .product-video-thumb {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
}

.product-card .product-video-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card .product-video-thumb__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.8);
}

/* «Купить в 1 клик»: кнопка рядом с «В корзину», форма — окно поверх страницы; и «Доставка и оплата» под описанием. */
.product-card .product-buy .quick-order__open {
    height: 40px;
    padding: 0 14px;
    font-size: 13px;
    font-weight: 600;
    color: #A2CF41;
    background: transparent;
    border: 2px solid #A2CF41;
    border-radius: 50px;
    transition: color .2s, background-color .2s;
}

.product-card .product-buy .quick-order__open:hover:not(:disabled) {
    color: #fff;
    background: #A2CF41;
}

.product-card .product-buy .quick-order__open:disabled {
    opacity: 0.5;
}

body.quick-order-open {
    overflow: hidden;
}

.quick-order {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(0, 0, 0, 0.5);
}

.quick-order[hidden] {
    display: none;
}

.quick-order__box {
    width: 100%;
    max-width: 448px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.quick-order__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.quick-order__title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
}

.quick-order__close {
    width: 32px;
    height: 32px;
    padding: 0;
    font-size: 14px;
    color: #666;
    background: transparent;
    border: 0;
    border-radius: 50%;
}

.quick-order__close:hover {
    color: #000;
    background: #f1f1f1;
}

.quick-order__hint {
    margin: 8px 0 0;
    font-size: 14px;
    color: #666;
}

.quick-order__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 16px;
}

.quick-order__row input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 12px;
}

.quick-order__row button {
    height: 44px;
    margin-top: 4px;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: #A2CF41;
    border: 2px solid #A2CF41;
    border-radius: 50px;
}

.quick-order__row button:disabled {
    opacity: 0.5;
}

.quick-order__error {
    margin: 8px 0 0;
    font-size: 14px;
    color: #c0392b;
}

.quick-order__done {
    padding: 16px;
    margin: 12px 0 0;
    font-size: 14px;
    border: 1px solid #28a745;
    border-radius: 20px;
}

.product-card .delivery-payment {
    margin: 32px 0 0;
    padding: 20px;
    border: 1px solid #e6e6e6;
    border-radius: 20px;
}

.product-card .delivery-payment__title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
}

.product-card .delivery-payment__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 0;
    font-size: 13px;
}

.product-card .delivery-payment__term {
    font-weight: 600;
}

.product-card .delivery-payment__lines {
    margin: 4px 0 0;
    color: #666;
}

.product-card .delivery-payment__lines p {
    margin: 0 0 2px;
}

@media (max-width: 575px) {
    .product-card .delivery-payment__grid {
        grid-template-columns: 1fr;
    }
}

/* Подписка на поступление: поле растёт на всю ширину, кнопка — как «В корзину». */
.product-card .restock-box #restock-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.product-card .restock-box #restock-email {
    flex: 1 1 260px;
    width: auto;
    min-width: 0;
    height: 48px;
    margin: 0;
    padding: 0 20px;
    border-radius: 50px;
}

.product-card .restock-box #restock-submit {
    height: 48px;
    padding: 0 28px;
    font-weight: 600;
    color: #fff;
    background: #A2CF41;
    border: 2px solid #A2CF41;
    border-radius: 50px;
}

.product-card .restock-box #restock-submit:hover,
.product-card .restock-box #restock-submit:focus {
    color: #A2CF41;
    background: transparent;
}

.product-card .product-description {
    color: #000;
}

.product-card .product-btn-minus,
.product-card .product-btn-plus {
    width: 35px;
    height: 35px;
    font-size: 20px;
}

.product-card .product-btn-minus:hover,
.product-card .product-btn-minus:focus,
.product-card .product-btn-minus:active,
.product-card .product-btn-plus:hover,
.product-card .product-btn-plus:focus,
.product-card .product-btn-plus:active {
    width: 35px;
    height: 35px;
    padding: 2px;
}

.product-card .btn-buy {
    background: url(/images/product-details/product-cart.png) no-repeat 12px center #A2CF41;
    border-color: #A2CF41;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    background-size: 75px;
    height: 60px;
    width: 60px;
}

.product-card .btn-buy:hover,
.product-card .btn-buy:active,
.product-card .btn-buy:focus {
    background-position: -26px center;
    border: 2px solid #A2CF41;
    background-color: transparent !important;
    background-size: 75px;
}

.product-card .stock-status {
    text-align: left;
}

/* Cart Page */
.cart-qty-column {
    width: 150px;
}

.cart-tab-panels {
    background-color: #fff;
    padding: 15px 10px 15px 0;
}

.req {
    color: red;
    margin-left: 5px;
    font-size: 14px;
}

#cartModal h2 {
    font-weight: 400;
}

#cartModal .btn-default {
    border: 1px solid #8b8989;
    ;
    border-radius: 30px;
    color: #484848;
}

#cartModal .btn-success {
    border: 1px solid #A2CF41;
    border-radius: 30px;
    background-color: #A2CF41;
}

#cartModal .btn-success:hover {
    border: 1px solid #A2CF41;
    ;
    border-radius: 20px;
    color: #A2CF41;
    background-color: white;
}

#cartModal .modal-header {
    border-bottom: 1px dashed #e5e5e5;
}

.well {
    background: #fff;
    border: none;
    box-shadow: none;
    padding: 0;
}

.col-lg-offset-1 {
    margin-left: 4%;
}

.col-xs-2 {
    width: 13%;
    padding-right: 2px;
}

.block {
    display: block;
    max-width: 477px;
    margin: auto;
    padding: 0 75px;
}

.field-login-username>input {
    border: none;
}

.field-login-password>input {
    border: none;
}

.auth-form {
    width: 100%;
    max-width: 550px;
    margin: auto;
    padding: 0 75px;
}

.auth-form h1 {
    text-align: center;
    font-weight: normal;
    font-size: 3.5em;
}

.auth-form p {
    text-align: center;
    font-size: 1.5em;
    font-weight: normal;
}

.auth-form a {
    text-decoration: none;
    color: #A2CF41;
}

.button-main {
    display: block;
    padding: 0 20%;
    margin: auto;
    background: none;
    border: 2px solid #A2CF41;
    border-radius: 50px;
    line-height: 2.5em;
    color: #A2CF41;
    font-size: 17px;
}

.button-main:hover {
    background: #A2CF41;
    border: 2px solid #A2CF41;
}

.button-main:active,
.button-main:focus {
    background: #A2CF41 !important;
    border: 2px solid #8BB238 !important;
}

.site_logo {
    display: flex;
    height: 65px;
    width: 100%;
}

.site_logo2 {
    background: url(/images/header/logo.png?2) no-repeat center;
    background-size: 50%;
    height: 85px;
    display: block;
    width: 100%;
    min-height: 45px;
}

.logo_footer {
    max-height: 4%;
}

.logo_footer img {
    width: 77%;
}


.f_align {
    width: 19%;
    /* max-width: 220px; */
}

/*  Корзина    */
.marg {
    margin-bottom: 10px;
}

.btn-cart-change-qty {
    border-radius: 24px !important;
    border-color: #A2CF41 !important;
    padding: 6px;
    line-height: 1em;
    font-size: 12px;
    color: #A2CF41 !important;
}

.btn-cart-change-qty:hover,
.btn-cart-change-qty:active,
.btn-cart-change-qty:focus {
    border-color: #8BB238 !important;
    background: #A2CF41 !important;
    color: #343434 !important;
}

/* На последней единице кнопка уменьшения становится удалением: раньше она
   оставалась «минусом» и стирала позицию молча (BUG-024). Иконки обе лежат в
   разметке, скрипт переключает только класс. */
.btn-cart-change-qty [data-qty-icon-remove] { display: none; }
.btn-cart-change-qty.is-remove [data-qty-icon-minus] { display: none; }
.btn-cart-change-qty.is-remove [data-qty-icon-remove] { display: inline-block; }

.btn-cart-change-qty.is-remove {
    border-color: #d9534f !important;
    color: #d9534f !important;
}

.btn-cart-change-qty.is-remove:hover,
.btn-cart-change-qty.is-remove:active,
.btn-cart-change-qty.is-remove:focus {
    border-color: #c9302c !important;
    background: #d9534f !important;
    color: #fff !important;
}

.btn-cart-delete-product {
    border-radius: 24px !important;
    border-color: #d9534f;
    padding: 6px;
    line-height: .6em;
    font-size: 22px;
    color: #d9534f;
    background: none;
}

.btn-cart-delete-product:hover,
.btn-cart-delete-product:active,
.btn-cart-delete-product:focus {
    border-color: #ac2925;
    background: #c9302c !important;
    color: #fff;
}

.width2 {
    width: 120px !important;
    padding: 2% !important;
}

/* Calendar info */
.calendar-info {
    border-radius: 4%;
    border: 1px solid #A1CF3F;
}

.calendar-info h5 {
    font-weight: bold;
    font-size: 1.2em;
}

/* Main Carousel */
.carousel-control {
    width: 50px;
}

.main-carousel {
    margin-left: 0;
    margin-right: 0;
}

.product-carousel .carousel-control .fa-chevron-left,
.product-carousel .carousel-control .fa-chevron-right,
.main-carousel .carousel-control .fa-chevron-left,
.main-carousel .carousel-control .fa-chevron-right {
    position: absolute;
    top: calc(50% - 20px);
    z-index: 5;
    display: inline-block;
    border: 3px solid white;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    font-size: 18px;
}

.product-carousel .carousel-control .fa-chevron-left,
.main-carousel .carousel-control .fa-chevron-left {
    left: 30px;
    padding: 9px 9px;
}

.product-carousel .carousel-control .fa-chevron-right,
.main-carousel .carousel-control .fa-chevron-right {
    right: 30px;
    padding: 9px 13px;
}

.carousel-control.right,
.carousel-control.left {
    background-image: none;
}

.carousel-indicators {
    bottom: 0;
}

.carousel-indicators li {
    width: 15px;
    height: 15px;
    margin: 2px 0;
    text-shadow: 3px 3px 2px rgba(150, 150, 150, 1);
    box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.8);
    background-color: white;
    opacity: 0.6;
}

.carousel-indicators li.active {
    width: 15px;
    height: 15px;
    margin: 2px 0;
    opacity: 1;
}

.carousel-inner img {
    object-fit: cover;
    border-radius: 15px;
    background-color: transparent;
}

/*popular product carousel*/
.popular-product-header-line,
.popular-product-footer-line {
    width: calc(100% - 8px);
    height: 5px;
    background-color: #A2CF41;
    position: absolute;
    left: 0;
    margin: 0 3px;
}

.popular-product-header-line {
    top: 0;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.popular-product-footer-line {
    bottom: 0;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
}

.product-carousel {
    border: 1px solid #C3C3C3;
    border-radius: 15px;
    margin-top: 30px;
    background-color: #F7F7F7;
    position: relative;
}

/*
 * Ширина слайдера задаётся снаружи, а не его содержимым.
 *
 * Без этого на планшетных ширинах (768–991px) страница попадала в петлю
 * раскладки и бесконечно раздувалась: Swiper считает ширину слайдов от
 * ширины контейнера и проставляет её инлайном, контейнер вслед за слайдами
 * становился шире, следующий пересчёт Swiper (у него свой ResizeObserver)
 * давал ещё большую ширину — и так каждый кадр. Картинки товаров и баннер
 * росли до тысяч пикселей (замечено заказчиком 2026-07-31).
 *
 * `contain: inline-size` разрывает круг в единственно верном месте: браузер
 * больше не позволяет содержимому слайдера влиять на его ширину. Лечить
 * `overflow-x` у `main` было бы шире по последствиям — сломало бы липкие
 * элементы и выпадающие меню.
 */
.swiper {
    contain: inline-size;
}

.product-carousel .carousel-inner img {
    object-fit: contain;
}

.product-carousel .swiper-product {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.product-carousel h2 {
    font-weight: 400;
    margin-top: 25px;
    margin-bottom: 20px;
}

.product-carousel .half_padding {
    padding: initial;
}

.product-carousel .product-grid {
    padding: 5px !important;
}

.product-carousel .carousel-inner {
    padding: 0 10px;
    z-index: 101;
}


.product-carousel .carousel-control.left {
    left: -40px;
}

.product-carousel .carousel-control.right {
    right: -40px;
}

.product-carousel .carousel-control .fa-chevron-left,
.product-carousel .carousel-control .fa-chevron-right {
    top: 40%;
    color: #484848;
    border-color: #484848;
    width: 35px;
    height: 35px;
    font-size: 14px;
    padding: 8px;
}

.product-carousel .carousel-control .fa-chevron-left {
    left: 10px;
}

.product-carousel .carousel-control .fa-chevron-right {
    right: 10px;
}

.product-carousel .btn-buy {
    background-position: -30px center;
    width: 50px;
    height: 50px;
}

.product-carousel .btn-buy:hover,
.product-carousel .btn-buy:active,
.product-carousel .btn-buy:focus {
    background-position: 6px center;
}

/* Page */
.page-title {
    margin-top: 0;
}

.page-content {
    padding: 25px 8px 20px;
    overflow-x: hidden;
}

/* #### News #### */
.read-news-link>a {
    color: #2e2e2e;
    text-decoration: underline;
}

.read-news-link>a:hover,
.read-news-link>a:active {
    color: #FF7F0B;
}

.news-list-header {
    color: #484848;
    font-size: 36px;
    font-weight: 400;
}

.news-item-block {
    border-bottom: 1px solid #e7e7e7;
}

.news-item-block .news-list-header>a,
.news-item-block .news-list-header>a:active,
.news-item-block .news-list-header>a:hover,
.news-list-header a:focus {
    color: #484848;
}

.side-bar-news {
    border: 1px solid #D6D6D6;
    border-radius: 15px;
    margin-top: 20px;
    padding: 0 15px 10px 15px;
}

.side-bar-news .side-bar-news-header {
    border-bottom: 1px solid #D6D6D6;
    text-align: center;
    margin-top: 10px;
    padding-bottom: 10px;
}

.side-bar-news .side-bar-news-content {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 280px;
}

.side-bar-news .news-list-header {
    color: #A2CF41;
    font-size: 1.25rem;
}

.side-bar-news .news-list-header>a,
.side-bar-news .news-list-header>a:hover,
.side-bar-news .news-list-header>a:active {
    color: #A2CF41;
}

.side-bar-news .news-excerpt {
    text-align: justify;
    color: #888;
}

.side-bar-news .news-list-item-block {
    padding: 1rem;
    border-bottom: 1px solid #e7e7e7;
}

.side-bar-news .full-list-news {
    text-align: center;
    margin-top: 20px;
}

.side-bar-news .full-list-news .btn-default {
    border-radius: 30px;
    border-color: #9F9F9F;
    background: white;
}

.side-bar-news .full-list-news a.btn-default:hover,
.side-bar-news .full-list-news a.btn-default:focus,
.side-bar-news .full-list-news a.btn-default:active {
    border-radius: 30px;
    color: white;
    border-color: #9d9d9d;
    background: #9d9d9d;
}


/* Pagination */
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>span:hover,
.pagination>.active>a:focus,
.pagination>.active>span:focus {
    background-color: #3CC440;
    border-color: #3CC440;
}

.pagination>li>a,
.pagination>li>span {
    color: #3CC440;
}

footer {
    background-color: #A2CF41;
    padding: 15px;
    color: white;
    font-weight: 500;
    bottom: 0;
}

/* Рабочая зона футера ограничена той же max-width, что у шапки и
   центрального контента (Bootstrap .container) — сам футер (`padding: 15px`
   выше) остаётся зелёной полосой на всю ширину, вложенный .container не
   добавляет свой отступ (footer уже даёт 15px по краям). */
.container-footer > .container {
    padding-left: 0;
    padding-right: 0;
}

footer a {
    color: white;
}

.hide_lvl1>ul {
    display: none !important;
}

.hide_lvl1.active>ul {
    display: block !important;
}

.hide_lvl2>ul {
    display: none !important;
}

.hide_lvl2.active>ul {
    display: block !important;
}

.hide_lvl3>ul {
    display: none !important;
}

.hide_lvl3.active>ul {
    display: block !important;
}

.hide_lvl4>ul {
    display: none !important;
}

.hide_lvl4.active>ul {
    display: block !important;
}

.hide_lvl5>ul {
    display: none !important;
}

.hide_lvl5.active>ul {
    display: block !important;
}

.active.hide_lvl2 ul.hide_click {
    display: none !important;
}

.active.hide_lvl3 ul.hide_click {
    display: none !important;
}

.active.hide_lvl4 ul.hide_click {
    display: none !important;
}

.active.hide_lvl5 ul.hide_click {
    display: none !important;
}

/*-------Календарь------*/
.ui-widget-content,
.ui-widget-header {
    border: none;
    background: white;
    color: #252525;
    font-family: sans-serif;
    font-weight: normal;
}

.ui-widget-header .ui-icon {
    background-image: url("/images/left-c-green.png");
}

.ui-widget-header .ui-icon.ui-icon-circle-triangle-e {
    background-image: url("/images/right-cal-green.png");
}

.ui-icon-circle-triangle-e,
.ui-icon-circle-triangle-w {
    background-position: center;
}

.ui-datepicker-calendar thead tr:first-child {
    font-size: 16px;
    text-align: center;
    font-weight: normal;
}

.ui-datepicker-calendar tbody {
    background: #FAFAFA;
    text-align: center;
}

.ui-datepicker-calendar tbody tr td {
    border: 1px solid #FAFAFA;
}

.ui-datepicker-calendar tbody tr td:first-child {
    border-left: none;
}

.ui-datepicker-calendar tbody tr td:last-child {
    border-right: none;
}

.ui-datepicker th {
    border-bottom: 1px solid #4B4A4A;
    padding: .6em .2em .4em .2em;
    font-weight: 100;
}

.ui-datepicker-calendar tbody tr td:first-child a,
.ui-datepicker-calendar tbody tr td:last-child a,
.ui-datepicker-calendar tbody tr td:first-child span.ui-state-default,
.ui-datepicker-calendar tbody tr td:last-child span.ui-state-default,
.ui-datepicker-calendar tbody tr td:first-child,
.ui-datepicker-calendar tbody tr td:last-child,
.ui-datepicker-calendar tbody tr td:first-child span.ui-state-default.ui-state-active,
.ui-datepicker-calendar tbody tr td:last-child span.ui-state-default.ui-state-active {
    /* background: none;*/
    text-align: center;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: none;
    background: none !important;
    font-size: 16px;
    font-family: sans-serif;
    text-align: center;
    font-weight: normal;
    color: #252525;
    border-radius: 50%;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: 1;
}

#datepicker .ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    /*background: #037EA7!important;*/
}

/*Green*/
#datepicker.green-picker .ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    /*background: #4DC01D!important;*/
    /*border: 1px solid #4DC01D;*/
}

.ui-datepicker-calendar a {
    background: none !important;
    border: 1px solid #A2CF41 !important;
}

.ui-datepicker-calendar a:active,
.ui-datepicker-calendar a:hover,
.ui-datepicker-calendar a:focus,
.ui-datepicker-calendar a:visited {
    background: #A2CF41 !important;
}

.ui-datepicker-calendar tbody tr td.selected.selected-start.selected-end {
    /* aight-color: #037EA7;*/
    border-left-color: #037EA7;
}

#datepicker.green-picker .ui-datepicker-calendar tbody tr td.selected.selected-start.selected-end {
    border-right-color: #4DC01D;
    border-left-color: #4DC01D;
}

#datepicker .ui-datepicker-calendar tbody tr td.ui-datepicker-week-end .ui-state-active {
    /*background:  #D2D2D2!important;*/
}

#datepicker-green.green-picker .ui-datepicker-calendar tbody tr td.ui-datepicker-week-end .ui-state-active {
    /* background: #4DC01D!important;*/
}

.ui-datepicker-calendar tbody tr td.selected.selected {
    border-color: #037EA7;
}

#datepicker-green.green-picker .ui-datepicker-week-end.ui-datepicker-unselectable.ui-state-disabled.selected {
    border-color: #FAFAFA !important;
    ;
}

#datepicker .ui-datepicker-week-end.ui-datepicker-unselectable.ui-state-disabled.selected {
    border-color: #FAFAFA !important;
    ;
}

#datepicker.green-picker .ui-datepicker-calendar tbody tr td.selected {
    border-color: #4DC01D;
}

#datepicker .ui-datepicker-calendar tbody tr td.selected {
    border-color: #037EA7;
}

.ui-datepicker td span,
.ui-datepicker td a {
    padding: .19em;
}

#datepicker.green-picker .ui-widget-header .ui-icon.ui-icon-circle-triangle-e {
    background-image: url("/images/right-cal-green.png");
}

#datepicker.green-picker .ui-widget-header .ui-icon {
    background-image: url("/images/left-c-green.png");
}

.ui-datepicker td {
    padding: 0;
}

.sidebar-theme{
    text-align: center;
    display: block;
    border: 1px solid #FF7F0B;
    border-radius: 15px;
    margin-top: 20px;
    padding: 0 15px 10px 15px;
}

.sidebar-theme-text{
    font-size: 16px;
    border-bottom: #A2CF41 solid 1px;
    padding: 5px 15px;
}

.sidebar-theme a {
    text-decoration: none;
    color: #484848;
    font-weight: 500;
}

/*
 * Текстовый блок витрины («Контент → Текстовые блоки»). Оформления почти нет:
 * содержимое пишет владелец магазина, и навязывать ему цвет значит спорить с
 * его же разметкой. Отсюда только выравнивание и отступ.
 *
 * `.attention_test_mode` — прежнее имя единственного такого блока; оставлено
 * синонимом, чтобы разметка, писанная под него, не поехала.
 */
.text-widget,
.attention_test_mode {
    text-align: center;
    font-size: 16px;
    padding: 0.5rem;
}

.text-widget p,
.attention_test_mode p {
    padding: 0;
    margin: 0;
}

.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled {
    background: #fff;
}

.table-cart td,
.table-cart th {
    text-align: center !important;
    vertical-align: middle !important;
}

/* "Название" — единственная текстовая колонка в корзине, оставляем слева
   (как и в остальных таблицах сайта); правило выше сильнее обычного
   .text-left из разметки, поэтому перебиваем его точечно и тоже через
   !important. */
.table-cart td.cart-col-title {
    text-align: left !important;
}

.header-item.header-cart-item .header-cart-sum {
    color: #ff7f0b;
}

/* --- Дашборд личного кабинета: балансы кошельков --- */
.row-eq-height {
    display: flex;
    flex-wrap: wrap;
}

.row-eq-height > [class*="col-"] {
    display: flex;
    flex-direction: column;
}

.row-eq-height .panel {
    flex: 1;
}

.wallet-currency-name {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    line-height: 1.3;
    margin-bottom: 8px;
}

.wallet-currency-ticker {
    text-transform: none;
    font-weight: 400;
    white-space: nowrap;
}

.wallet-currency-balance {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
}

.modal-dialog table td,
body table th {
    text-align: center !important;
    vertical-align: middle !important;
}

.modal-header {
    text-align: center;
}

.modal-footer {
    text-align: center;
}

.modal-dialog {
    display: flex;
    justify-content: center;
    width: auto;
}

.header-item-phone-numbers .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    padding: 4px 0;
}

.header-item-phone-numbers .dropdown-menu > li > a {
    padding: 4px 12px;
    font-size: 13px;
    white-space: nowrap;
}

/* Custom styles for popin & close button */
.custom {
    color: #555;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

.custom p {
    padding: 10px 20px;
    margin: 30px 0 0;
    font-size: 14px;
    font-weight: 300;
    text-align: justify;
}

.avgrund-close {
    display: block;
    text-transform: uppercase;
    color: #555;
    text-decoration: none;
    position: absolute;
    top: 6px;
    right: 10px;
    font-size: 13px;
}

table .ui-state-disabled span {
    background: none !important;
}

.products_list_in_order td>div {
    display: flex;
}

.products_list_in_order td>div>div.info {
    width: 100%;
    padding-left: 14px;
}

.products_list_in_order td>div>div.data {
    width: 100%;
    /*padding-left: 14px;*/
}

.products_list_in_order td>div>div.data input {
    width: 40px;
    margin: 0;
    display: flex;
    margin-left: 50%;
    padding: 0;
    margin-right: -5px;
    transform: translateX(-50%);
}

table td:nth-child(1) {
    position: relative;
}

.products_list_in_order.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #ffffff;
}

.products_list_in_order.table>thead>tr>th {
    vertical-align: bottom;
    border-bottom: 1px solid black;
}

.products_list_in_order.table>tbody>tr>td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #000;
}

.products_list_in_order.table {
    text-align: center;
}

td.no_work_days a {
    background: #D2D2D2 !important;
}

.cont div#datepicker table.ui-datepicker-calendar a.ui-state-active {
    background: #037499 !important;
    color: white;
}

.cont div#datepicker.green-picker table.ui-datepicker-calendar a.ui-state-active {
    background: #4DC01D !important;
}

table .ui-state-disabled span {
    background: #D2D2D2 !important;
}

#addresses-list .list-group-item {
    border-radius: 8px;
    transition: box-shadow .2s ease, transform .1s ease;
}

#addresses-list .list-group-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

#addresses-list .btn i {
    font-size: 1.1rem;
}

.header-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header-item {
    margin-left: 5px;
}

.header-item:hover {
    cursor: pointer;
}

.header-item i {
    font-size: 22px;
    border: 1px solid #fff;
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}


/**
 ** ORDERS
 */
.order-options {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 15px;
    margin-bottom: 20px;
}

.order-options.has-error {
    border: 1px solid #d9534f;
}

.order-options .order-option {
    border: 1px solid #ccc;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
    width: 100%;
}

.order-options .order-option label {
    font-weight: bold;
}

/*
 * Карточка перевозчика: рамка вокруг него и его способов, как на новой витрине
 * (требование заказчика 09.09.2026 — «нажимаем перевозчика и там внутри выбор
 * способа»).
 *
 * Способы стоят рядом строкой, а поля выбранного — под ней во всю ширину.
 * Раскладку держит `display: contents` на самом способе: его коробка исчезает,
 * а подпись и поля становятся ячейками одного ряда. Так вид собран без
 * перекладывания разметки — скрипт по-прежнему находит поля внутри способа
 * (`closest('.order-option-delivery')`), и связь «способ ↔ его поля» не рвётся.
 */
.order-options .order-option-carrier {
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-bottom: 10px;
}

.order-options .order-option-carrier.is-open {
    border-color: #5cb85c;
    background: #fbfffb;
}

.order-options .order-option-carrier-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px;
    cursor: pointer;
    font-weight: bold;
}

.order-options .order-option-carrier-name {
    flex: 1 1 auto;
}

/* Цена — половина выбора перевозчика, поэтому стоит в заголовке, а не в полях. */
.order-options .order-option-carrier-price {
    flex: 0 0 auto;
    color: #5cb85c;
    font-weight: normal;
    white-space: nowrap;
}

.order-options .order-option-carrier-methods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 22px;
    padding: 0 12px 12px 32px;
}

.order-options .order-option-carrier:not(.order-option-carrier-grouped) .order-option-carrier-methods {
    padding: 12px;
}

/*
 * Условия доставки выбранного способа.
 *
 * 🔴 Не жёлтая плашка предупреждения: это не предупреждение, а условия. На
 * новой витрине они стоят светлой карточкой с тонкой рамкой цвета акцента —
 * читаются как часть формы, а не как сообщение об ошибке (заказчик 09.09.2026
 * показал оба вида рядом: «разницу видишь?»). Здесь то же самое, поэтому
 * бутстраповская заливка `alert-warning` перекрывается.
 */
.order-options .order-option-delivery-terms.alert {
    /* Условия и поля — про одно и то же, поэтому стоят вплотную: воздух между
       ними читался как разрыв (заказчик 09.09.2026). */
    margin: 6px 0 4px;
    padding: 10px 14px;
    border: 1px solid #f0ad4e;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}

/* Первое поле сразу под условиями: свой верхний отступ ему не нужен. */
.order-options .order-option-delivery-terms + .order-option-fields > .form-group:first-child {
    margin-top: 0;
}

/* Способ сам по себе коробки не имеет: ряд строят его подпись и его поля. */
.order-options .order-option-carrier .order-option-delivery {
    display: contents;
}

/*
 * Бутстрап у `.radio` вытаскивает кружок из потока (`position:absolute` и
 * отрицательный отступ) — это рассчитано на коробку способа, которой у нас
 * больше нет: кружок уезжал левее заголовка. Возвращаем его в поток, место
 * ему найдёт раскладка подписи.
 */
.order-options .order-option-carrier .order-option-delivery > label input[type="radio"] {
    position: static;
    margin: 0;
}

.order-options .order-option-carrier .order-option-delivery > label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 4px 0;
    cursor: pointer;
    white-space: nowrap;
}

/* Всё, что не подпись, занимает свою строку под рядом переключателей. */
.order-options .order-option-carrier .order-option-delivery > *:not(label) {
    flex: 0 0 100%;
    order: 1;
}

.order-options .order-option-carrier .order-option-fields {
    order: 2;
    padding-left: 0;
}

/*
 * Условия доставки — только у выбранного способа: показать их разом у всех
 * значит закрыть ряд стеной текста, в которой не видно самого выбора.
 */
.order-options .order-option-carrier-grouped .order-option-notice {
    display: none;
}

.order-options .order-option-carrier-grouped .order-option-delivery:has(input:checked) .order-option-notice {
    display: block;
}

/* Опущенная коробка не тускнеет — гасим саму подпись. */
.order-options .order-option-carrier .order-option-delivery.disabled > label {
    opacity: 0.5;
    pointer-events: none;
}

/* На узком экране способы идут друг под другом, но в той же карточке. */
@media (max-width: 575px) {
    .order-options .order-option-carrier-methods {
        gap: 2px 0;
        padding-left: 20px;
    }

    .order-options .order-option-carrier .order-option-delivery > label {
        flex: 0 0 100%;
    }
}

.order-options .order-option-delivery.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.order-options .order-option-fields {
    padding-top: 2rem;
    padding-left: 25px;
}

.order-options .order-option-fields .control-label {
    padding-left: 0;
    padding-bottom: 5px;
}

.pickup-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pickup-date-chip {
    display: inline-block;
    border: 1px solid #c5e8b7;
    border-radius: 9999px;
    cursor: pointer;
    background-color: #f0f6f1;
    transition: background-color 0.2s ease;
}

.pickup-date-chip:hover {
    background-color: #f3f4f6;
}

.pickup-date-chip.active {
    background-color: #A2CF41;
    color: #fff;
}
/* --------------------------------------------- */

/* затемнение фона */
.menu_overlay {
    inset: 0;
    background: rgba(0,0,0,.4);

    opacity: 0;
    visibility: hidden;
    transition: .25s;

    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1040; /* ниже модалки, но выше всего остального */
}

/* само меню */
.menu_content {
    position: fixed;
    top: 0;
    left: -320px;
    width: 320px;
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #fff;
    z-index: 1050;
    transition: .3s ease;
    display: flex;
    flex-direction: column;
}

/* header меню */
.menu_header {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    border-bottom: 1px solid #eee;
}

/* логотип — тот же размер, что в шапке сайта (см. .header-logo-link img) */
.menu_logo img {
    max-height: 60px;
    width: auto;
}

/* крестик */
.close-menu {
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
}

/* тело меню */
.menu_body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
}

/* активное состояние */
.menu_content.active {
    left: 0;
}

.menu_overlay.active {
    opacity: 1;
    visibility: visible;
}

/* блокируем скролл */
body.menu-open {
    overflow: hidden;
}

.menu_body .sidebar-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    /* Замыкаем список категорий в единый зелёный «бокс» с закруглением.
       overflow:hidden подрезает нижнюю зелёную полосу (.menu-last-item) под радиус. */
    border: 2px solid #A2CF41;
    border-radius: 15px;
    overflow: hidden;
}

.menu_body .menu-last-item {
    /* Закругление углов берётся от родителя через overflow:hidden — собственный radius не нужен */
    border-radius: 0;
}

.menu_body .sidebar-menu > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 16px;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #eee;
    text-decoration: none;
}

/* стрелка вправо */
.menu_body .sidebar-menu i.fa-angle-right,
.menu_body .sidebar-menu i.fa-angle-down {
    color: #8bc34a; /* как на скрине */
}

/* hover */
.menu_body .sidebar-menu > li > a:hover {
    background: #f7f7f7;
}

/* вложенные уровни */
.menu_body .sidebar-menu-inner {
    padding-left: 10px;
    background: #fafafa;
    display: none;
    border: none;
    border-radius: 0;
}

.menu_body .sidebar-menu-inner.in {
    display: block;
}

.menu_body .sidebar-menu-inner li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* Тот же ритм, что у первого уровня: 5 точек отступа и строка в 20.
       Раньше здесь стояло 10 — вложенный пункт выходил выше корневого, хотя
       по смыслу он подчинённый. Шрифт остаётся мельче: уровень показывается
       им и отступом слева, а не высотой строки. */
    padding: 5px 16px;
    font-size: 13px;
    line-height: 20px;
    color: #555;
    border-bottom: 1px solid #f0f0f0;
    text-decoration: none;
}

.menu_body .sidebar-menu-inner li > a:hover {
    background: #f0f0f0;
}

.menu_body .pull-right {
    margin-left: auto;
}

/* Cursor pointer for expandable items */
.sidebar-menu li > a {
    cursor: pointer;
}

/* Theme links in mobile drawer */
.menu_body .mobile-theme-links {
    margin-top: 30px;
}

.menu_body .mobile-theme-links .sidebar-theme-text {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
}

.menu_body .mobile-theme-links .sidebar-theme-text a {
    display: block;
    padding: 5px 16px;
    color: #555;
    text-decoration: none;
}

.menu_body .mobile-theme-links .sidebar-theme-text a:hover {
    background: #f7f7f7;
}

.menu_body .side-bar-news {
    margin-top: 20px;
}

.menu_body > :last-child {
    margin-bottom: 24px;
}

/* =====================================================================
   REFACTORED HEADER (2026-06) — единый flex-ряд: логотип слева,
   действия справа (доставка, корзина, аккаунт/вход). Заменяет легаси
   вёрстку .navbar-header / .header-bar / .header-items.
   ===================================================================== */
.koop-navbar {
    height: auto;
    min-height: 75px;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    height: 75px;
}

.site-header__left {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.site-header .header-logo-link {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 30px;
}

.site-header .header-logo-link img {
    max-height: 66px;
    width: auto;
    padding: 0;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* --- Блок «Бесплатная доставка» --- */
.header-delivery {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7B7B7B;
    text-decoration: none;
    white-space: nowrap;
}

.header-delivery:hover,
.header-delivery:focus {
    color: #7B7B7B;
    text-decoration: none;
}

.header-delivery__toggle {
    gap: 8px;
}

.header-delivery__icon {
    width: 60px;
    height: auto;
    flex-shrink: 0;
}

.header-delivery__text {
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1.15;
    font-size: 13px;
}

.header-delivery__label {
    text-align: left;
}

.header-delivery__value {
    color: #FF7F0B;
}

/* --- Корзина (переиспользует .cart-header / .header-cart-qty / .header-cart-sum) --- */
.site-header__actions .header-cart-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    transition: background-color 0.2s;
}

.site-header__actions .header-cart-item > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px !important;
    position: relative;
    text-decoration: none;
}

.site-header__actions .header-cart-item .header-cart-sum {
    margin: 0 0 0 4px;
    padding: 0;
    vertical-align: middle;
    white-space: nowrap;
}

/* --- Переключатель языка ---
   Вид повторяет кабинет продавца (`LocaleSwitcher.vue`): серая подложка,
   активный язык — фирменной зеленью. Оранжевый, стоявший здесь раньше, в
   палитре платформы не встречается больше нигде и читался как предупреждение
   (замечание заказчика 2026-08-09). */
/* Список языков для телефона. На широком экране его нет: там три кнопки
   помещаются свободно и выбор в один клик лучше выбора в два. */
.header-language-select {
    display: none;
    height: 36px;
    max-width: 74px;
    padding: 0 6px;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    background: #fff;
    color: #5f5f5f;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.header-language-switch {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-right: 8px;
    padding: 2px;
    border-radius: 6px;
    background: #fafafa;
}

.header-language-switch a {
    padding: 4px 6px;
    border-radius: 3px;
    color: #5f5f5f;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.header-language-switch a:hover,
.header-language-switch a:focus {
    background: #d2d2d2;
    color: #343434;
    text-decoration: none;
}

.header-language-switch a.is-active,
.header-language-switch a.is-active:hover,
.header-language-switch a.is-active:focus {
    background: #a2cf41;
    color: #343434;
}

/* --- Кнопка «Вход» (гость) --- */
.header-login-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 16px 0 14px;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    color: #A2CF41;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.header-login-btn:hover,
.header-login-btn:focus,
.header-login-btn:active {
    background-color: #A2CF41;
    color: #fff;
    text-decoration: none;
}

.header-login-btn .exit-header {
    position: static;
    top: auto;
    left: auto;
    width: 26px;
    height: 26px;
    background-size: 52px;
    background-position: 0 center;
    flex-shrink: 0;
}

.header-login-btn:hover .exit-header,
.header-login-btn:focus .exit-header {
    background-position: -26px center;
}

.header-login-btn__text {
    font-size: 15px;
    line-height: 1;
}

/* --- Аккаунт-дропдаун (залогинен) --- */
.header-account {
    display: inline-block;
    position: relative;
}

.header-account__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 44px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    color: #A2CF41;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}

.header-account__toggle:hover,
.header-account__toggle:focus,
.header-account.open .header-account__toggle {
    background-color: #A2CF41;
    color: #fff;
    outline: none;
}

.header-account__toggle .fa-user {
    font-size: 20px;
}

.header-account__caret {
    font-size: 13px;
    transition: transform 0.2s;
}

.header-account.open .header-account__caret {
    transform: rotate(180deg);
}

.header-account__menu {
    min-width: 230px;
    margin-top: 10px;
    padding: 6px;
    list-style: none;
    border: 1px solid #ececec;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.header-account__menu > li {
    list-style: none;
}

.header-account__menu > li > a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    color: #444;
    font-size: 14px;
    white-space: nowrap;
}

.header-account__menu > li > a:hover,
.header-account__menu > li > a:focus {
    background-color: #f3f9e8;
    color: #5a8a16;
}

.header-account__menu > li > a .fa {
    width: 18px;
    text-align: center;
    color: #A2CF41;
    font-size: 16px;
}

.header-account__menu .divider {
    margin: 6px 4px;
}

.header-account__logout .fa {
    color: #e0573d;
}

.header-account__menu .header-account__logout:hover,
.header-account__menu .header-account__logout:focus {
    background-color: #fdece8;
    color: #c2381f;
}

/* --- Планшет/мобильный: гамбургер виден, компактный режим --- */
@media (max-width: 1024px) {
    .site-header .header-logo-link {
        margin-left: 5px;
    }
}

@media (max-width: 991px) {
    .site-header {
        height: 68px;
        gap: 8px;
    }

    .site-header__actions {
        gap: 8px;
    }

    .site-header .navbar-toggle {
        margin: 0 0 0 -7px;
        padding: 0;
        border: none;
        border-radius: 0;
        min-width: 0;
        min-height: 0;
        flex-shrink: 0;
    }

    .site-header__left {
        min-width: 0;
        flex: 1 1 auto;
        gap: 0;
    }

    .site-header .header-logo-link {
        min-width: 0;
        flex: 0 1 auto;
        margin-left: 10px;
    }

    .site-header .header-logo-link img {
        max-height: 60px;
    }

    .header-delivery__value {
        font-size: 13px;
    }

    /* Корзина — только иконка + бейдж количества (сумму прячем).
       .inline задаёт display:inline-block !important, поэтому нужен !important. */
    .site-header__actions .header-cart-item .header-cart-sum {
        display: none !important;
    }
}

/* --- Телефоны: доставка скрыта, кнопки иконочные --- */
@media (max-width: 640px) {
    .row-eq-height .wallet-currency-name {
        /*min-height: 28px;*/
    }

    .row-eq-height .panel-body {
        padding: 10px 0 5px 0;
    }

    .header-delivery {
        display: none;
    }

    .header-item-phone-numbers {
        display: none;
    }

    .site-header .header-logo-link img {
        max-height: 60px;
    }

    .site-header .header-logo-link {
        margin-left: 5px;
    }

    .header-login-btn {
        gap: 0;
        width: 44px;
        padding: 0;
        justify-content: center;
    }

    .header-login-btn__text {
        display: none;
    }

    .header-account__toggle {
        width: 36px;
        padding: 0;
    }

    .header-account__caret {
        display: none;
    }

    /*
     * Круглые кнопки шапки на телефоне: один размер и один рисунок.
     *
     * Прежние 44 точки забивали полосу, а первая попытка их уменьшить дала
     * «пляску» — кружки разного диаметра и на разной высоте (замечание
     * заказчика 2026-08-16). Причина не в размерах, а в том, **на каком
     * элементе висит рамка**: у корзины она на обёртке `.header-cart-item`, а
     * у колокольчика и профиля — на самой кнопке. Задав высоту внутренней
     * ссылке корзины, я прибавил ей ещё две точки рамки сверху — отсюда
     * лишний диаметр и сбитая линия.
     *
     * Поэтому размер задаётся ровно тем элементам, которые рисуют круг, а
     * внутренняя ссылка корзины растягивается по обёртке.
     *
     * Селекторы квалифицированы `.site-header__actions`: правила колокольчика
     * живут в `site.css`, который подключается после `modern.css`, и без
     * повышенной точности они бы победили.
     */
    .site-header__actions .header-cart-item,
    .site-header__actions .notif-bell__toggle,
    .site-header__actions .notif-bell__button,
    .site-header__actions .header-login-btn,
    .site-header__actions .header-account__toggle {
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
        padding: 0;
        justify-content: center;
        flex-shrink: 0;
    }

    /* Ссылка внутри корзины круг не рисует — она его заполняет. */
    .site-header__actions .header-cart-item > a {
        width: 100%;
        height: 100%;
        padding: 0 !important;
        justify-content: center;
    }

    /* Одинаковый рисунок иконок внутри одинаковых кругов. */
    .site-header__actions .notif-bell__toggle .fa-bell,
    .site-header__actions .header-account__toggle .fa-user,
    .site-header__actions .header-login-btn .exit-header {
        font-size: 17px;
    }

    /*
     * Иконка корзины внутри круга.
     *
     * Она рисуется фоном-спрайтом на блоке 35×35 — в круге 36 точек это
     * впритык, и тележка вылезала за рамку (замечание заказчика 2026-08-16).
     * Прошлая попытка промахнулась мимо класса: у блока `cart-header`, а не
     * `header-cart`.
     *
     * Размер и фон уменьшаются вместе, одним множителем 22/35: спрайт держит
     * две тележки рядом (обычную и для наведения), и подвинуть одно, не
     * подвинув другое, значит показать половину чужой иконки.
     */
    .site-header__actions .header-cart-item .cart-header {
        width: 22px;
        height: 22px;
        background-size: 41px;
    }

    .site-header__actions .header-cart-item:hover > a .cart-header {
        width: 22px;
        height: 22px;
        background-size: 41px;
        background-position: -21px center;
    }

    /* Языки: вместо трёх кнопок — один список той же высоты, что кнопки. */
    .header-language-switch {
        display: none;
    }

    .header-language-select {
        display: inline-block;
        height: 36px;
        flex-shrink: 0;
    }
}

/* --- Тесная полоса: доставка скрыта (≤640px), логотип чуть меньше --- */
@media (min-width: 375px) and (max-width: 430px) {
    .site-header {
        gap: 6px;
    }

    .site-header .header-logo-link img {
        /*max-height: 44px;*/
    }
}

/* --- Самые узкие экраны: доставка уже скрыта, логотип меньше --- */
@media (max-width: 374px) {
    .header-delivery {
        display: none;
    }

    .site-header .header-logo-link img {
        max-height: 54px;
    }

    .menu_logo img {
        max-height: 54px;
    }
}

/* =========================================================================
   Каталог магазинов платформы (/stores) — store-catalog.md §4.
   Палитра темы: зелёный #A2CF41 (акцент), оранжевый #f7941d (рейтинг),
   тёмный #333 (текст). Сетки на flex-wrap, как остальная витрина.
   ========================================================================= */

.catalog-intro {
    color: #777;
    margin-bottom: 20px;
}

.catalog-section-title {
    margin-top: 35px;
}

/* --- Плитка рубрик --- */
.catalog-rubrics {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 10px;
}

.catalog-rubric {
    display: flex;
    align-items: center;
    gap: 14px;
    width: calc(25% - 12px);
    min-width: 220px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    color: #333;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}

.catalog-rubric:hover,
.catalog-rubric:focus {
    border-color: #A2CF41;
    box-shadow: 0 6px 18px rgba(162, 207, 65, 0.18);
    transform: translateY(-2px);
    text-decoration: none;
    color: #333;
}

.catalog-rubric__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(162, 207, 65, 0.12);
    color: #A2CF41;
    font-size: 22px;
    transition: background-color 0.2s, color 0.2s;
}

.catalog-rubric:hover .catalog-rubric__icon {
    background: #A2CF41;
    color: #fff;
}

.catalog-rubric__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.catalog-rubric__title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.25;
}

.catalog-rubric__count {
    font-size: 12px;
    color: #999;
}

/* --- Карточки магазинов --- */
.catalog-stores {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.catalog-store {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: calc(25% - 15px);
    min-width: 220px;
    padding: 22px 18px 18px;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 10px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.catalog-store:hover {
    border-color: #A2CF41;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.07);
}

.catalog-store__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #f7f7f7;
    overflow: hidden;
}

.catalog-store__logo img {
    max-width: 100%;
    max-height: 100%;
}

/*
 * Логотип-ссылка. Кружок и так стоит в потоке карточки — ссылке остаётся
 * только показать, что по ней нажимают: курсор и лёгкий отклик на наведение.
 * Подчёркивания и рамки тут не нужны — картинка сама себе указатель.
 */
.catalog-store__logo--link {
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
}

.catalog-store__logo--link:hover,
.catalog-store__logo--link:focus-visible {
    transform: scale(1.04);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.catalog-store__letter {
    font-size: 34px;
    font-weight: 600;
    color: #A2CF41;
}

.catalog-store__title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}

.catalog-store__title a {
    color: #333;
}

.catalog-store__title a:hover {
    color: #A2CF41;
    text-decoration: none;
}

.catalog-store__rubric {
    display: inline-block;
    margin-bottom: 8px;
    padding: 3px 10px;
    border-radius: 50px;
    background: rgba(162, 207, 65, 0.12);
    color: #6f9a1f;
    font-size: 12px;
    text-decoration: none;
}

.catalog-store__rubric:hover {
    background: #A2CF41;
    color: #fff;
    text-decoration: none;
}

.catalog-store__rating {
    margin-bottom: 8px;
    font-size: 13px;
    color: #777;
}

.catalog-store__stars {
    color: #f7941d;
    letter-spacing: 1px;
}

.catalog-store__stars-off {
    color: #ddd;
}

.catalog-store__rating-value {
    font-weight: 600;
    color: #333;
}

.catalog-store__desc {
    margin: 0 0 10px;
    font-size: 13px;
    color: #777;
    line-height: 1.4;
}

.catalog-store__meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: auto;
    padding-top: 10px;
    font-size: 12px;
    color: #999;
}

.catalog-store__meta .fa {
    color: #A2CF41;
}

.catalog-store__host {
    word-break: break-all;
}

/* --- Фильтры рубрики --- */
.catalog-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 22px;
}

.catalog-filters__input,
.catalog-filters__select {
    height: 40px;
    padding: 0 14px;
    border: 1px solid #e0e0e0;
    border-radius: 50px;
    background: #fff;
    color: #333;
    outline: none;
}

.catalog-filters__input:focus,
.catalog-filters__select:focus {
    border-color: #A2CF41;
}

.catalog-filters__reset {
    color: #999;
    font-size: 13px;
}

/* --- Кнопка и пустое состояние --- */
.catalog-btn {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 22px;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    background: #A2CF41;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.catalog-btn:hover,
.catalog-btn:focus {
    background: #fff;
    color: #A2CF41;
    text-decoration: none;
}

.catalog-btn--sm {
    height: 40px;
    padding: 0 18px;
    font-weight: 500;
}

.catalog-empty {
    padding: 34px 20px;
    margin-bottom: 24px;
    text-align: center;
    background: #fafafa;
    border: 1px dashed #ddd;
    border-radius: 10px;
    color: #777;
}

.catalog-empty .fa {
    font-size: 34px;
    color: #cfcfcf;
    margin-bottom: 10px;
}

/* --- Вход в каталог из шапки и мобильного меню --- */
.header-catalog-link {
    /* Иконка над подписью и по центру — как соседний блок доставки в шапке.
       Цвет фирменный зелёный: чёрный текст рядом с зелёными кнопками читался
       как чужеродный. */
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    height: 44px;
    padding: 0 12px;
    border-radius: 8px;
    color: #A2CF41;
    line-height: 1;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.header-catalog-link:hover,
.header-catalog-link:focus {
    background: rgba(162, 207, 65, 0.12);
    color: #6f9a1f;
    text-decoration: none;
}

.header-catalog-link .fa {
    font-size: 17px;
}

.header-catalog-link__text {
    font-weight: 600;
    font-size: 12px;
}

.menu_catalog {
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
}

.menu_catalog__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(162, 207, 65, 0.12);
    color: #6f9a1f;
    font-weight: 600;
    text-decoration: none;
}

.menu_catalog__link:hover,
.menu_catalog__link:focus {
    background: #A2CF41;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .catalog-rubric { width: calc(33.333% - 11px); }
    .catalog-store { width: calc(33.333% - 14px); }
}

@media (max-width: 767px) {
    .catalog-rubric { width: calc(50% - 8px); min-width: 0; }
    .catalog-store { width: calc(50% - 10px); min-width: 0; }
}

@media (max-width: 479px) {
    .catalog-rubric,
    .catalog-store { width: 100%; }
    .catalog-filters__input,
    .catalog-filters__select { width: 100%; }
}

/* Иконки внутри каталога наследуют цвет своего блока: в теме есть точечные
   правила для `.fa` (сайдбар, меню аккаунта), и без inherit они перебивают
   зелёный акцент рубрики. */
.catalog-rubric__icon .fa,
.header-catalog-link .fa,
.menu_catalog__link .fa,
.seller-access__icon .fa {
    color: inherit;
}

/* С сайдбаром основная колонка уже — рубрики по 3 в ряд, карточки по 3.
   Раньше сетка считалась от полной ширины и на десктопе давала тесные
   колонки, когда добавился сайдбар. */
@media (min-width: 992px) {
    .catalog-rubric { width: calc(33.333% - 11px); }
    .catalog-store { width: calc(33.333% - 14px); }
}

/* --- Кабинет продавца недоступен (views/account/seller-access.php) ---
   Заменяет стандартный экран «Forbidden (#403)»: у покупателя без магазина
   это не ошибка, а нормальное состояние, из которого нужны выходы. */
.seller-access {
    padding: 34px 26px;
    text-align: center;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 12px;
}

/* Цвет держим на контейнере: ниже иконки наследуют его (inherit), иначе
   точечные правила темы для `.fa` перебивают зелёный. */
.seller-access__icon {
    color: #A2CF41;
}

.seller-access__icon .fa {
    font-size: 44px;
}

.seller-access__title {
    margin: 14px 0 8px;
    font-size: 22px;
    color: #333;
}

.seller-access__text {
    max-width: 640px;
    margin: 0 auto;
    color: #777;
    line-height: 1.6;
}

.seller-access__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 6px;
}

/* Второстепенное действие: та же форма кнопки, но без заливки. */
.catalog-btn--ghost {
    background: #fff;
    color: #A2CF41;
}

.catalog-btn--ghost:hover,
.catalog-btn--ghost:focus {
    background: #A2CF41;
    color: #fff;
}

.seller-access__links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.seller-access__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: calc(33.333% - 8px);
    min-width: 180px;
    padding: 18px 14px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    color: #555;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s;
}

.seller-access__link:hover,
.seller-access__link:focus {
    border-color: #A2CF41;
    color: #A2CF41;
    text-decoration: none;
}

.seller-access__link .fa {
    font-size: 24px;
    /* Зелёная иконка + серая подпись: карточка читается как ссылка, а не как
       выключенный элемент (иначе точечные правила темы красят .fa в тёмный). */
    color: #A2CF41;
}

.seller-access__link-title {
    font-weight: 600;
}

.seller-access__link-text {
    font-size: 13px;
    color: #999;
}

@media (max-width: 767px) {
    .seller-access__link { width: 100%; }
}

/* Ссылка «Каталог магазинов» в сайдбаре — заменила декоративную шапку «Меню».
   Вид общий с выезжающим меню (.menu_catalog__link), отступы под сайдбар. */
/* Сайдбар повторяет выезжающее меню: плашка «Каталог магазинов» без карточки
   и теней, список категорий — в зелёном «боксе» (как `.menu_body .sidebar-menu`),
   а не в размытой серой тени. */
.sidebar-catalog-link {
    margin-bottom: 12px;
}

.sidebar-block-inner.sidebar-menu-card {
    box-shadow: none;
}

/* Рамка — только у КОРНЕВОГО списка: вложенные `ul` несут тот же класс
   `sidebar-menu`, и общий селектор рисовал рамку внутри рамки на раскрытом
   пункте. */
.sidebar-menu-card .sidebar-menu-block > .sidebar-menu {
    border: 2px solid #A2CF41;
    border-radius: 15px;
    /* Подрезает нижнюю зелёную полосу (.menu-last-item) под радиус — тот же
       приём, что в мобильном меню. */
    overflow: hidden;
}

.sidebar-menu-card .sidebar-menu-inner {
    border: none;
    border-radius: 0;
}

/* ─── Кабинет: сертификаты ──────────────────────────────────────────────────
   Стили сначала были дописаны в `css/style.css` — файл, который витрина не
   подключает вовсе (`ModernAppAsset` читает `modern.css`). Диалог из-за этого
   выехал в конец страницы голой разметкой (замечание заказчика 2026-08-08:
   «смотри куда убежала модалка»). Держим их здесь, рядом с остальным
   оформлением витрины. */
/* Диалог подтверждения витрины (web/js/storefront-confirm.js).
   Стиль повторяет карточки кабинета: белое окно, зелёное действие. */
.sf-confirm-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 99998;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

.sf-confirm-box {
    background: #fff;
    border-radius: 8px;
    padding: 25px 30px;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
    text-align: center;
}

.sf-confirm-text {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.4;
}

.sf-confirm-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
}

/* Карточки сертификатов в кабинете: одинаковая высота в ряду и действия,
   прижатые к низу. Без этого соседние карточки разъезжались — у одной есть
   строка «заявка на возврат отправлена», у другой нет, и кнопки вставали на
   разной высоте (замечание заказчика 2026-08-08). */
/* Ряд карточек: колонки Bootstrap 3 плавающие, поэтому по высоте они не
   равняются. Flex на самом ряду делает соседей одинаковыми, а `float` внутри
   flex-контейнера просто перестаёт действовать — ширина `col-md-6` остаётся. */
.certificates-row {
    display: flex;
    flex-wrap: wrap;
}

.certificate-card {
    display: flex;
    /* Отступ между рядами: в плавающей сетке его давал `margin-bottom`
       панели, во flex панель растянута на всю карточку. */
    margin-bottom: 20px;
}

.certificate-card > .panel {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.certificate-card__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.certificate-card__actions {
    margin-top: auto;
}

/* Действия по краям карточки: второстепенное слева, основное справа. Одна
   кнопка (например, у подаренного сертификата) прижимается к правому краю —
   `space-between` с единственным элементом оставил бы её слева. */
.certificate-card__buttons {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.certificate-card__buttons > :only-child {
    margin-left: auto;
}

/* Кто вошёл — под каталогом магазинов, тем же порядком и видом, что в кабинете
   витрины на Nuxt: карточка с именем строкой крупнее и почтой под ней
   (заказчик 26.08.2026). */
.menu_person {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 16px 12px;
    padding: 10px 14px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    background: #fafafa;
}

.menu_person__name {
    overflow: hidden;
    font-weight: 500;
    color: #2c2c2c;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu_person__email {
    overflow: hidden;
    font-size: 12px;
    color: #9a9a9a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ==== /css/modern_media.css ==== */
/* ============================================
   Responsive Utility Classes
   Breakpoints:
     xs: <576px
     sm: 576-767px
     md: 768-991px
     lg: 992-1199px
     xl: ≥1200px
   ============================================ */

/* --- Tailwind-style responsive gaps/flex --- */
@media (min-width: 640px) {
    .sm\:gap-4 { gap: 1rem; }
    .sm\:gap-6 { gap: 1.5rem; }
    .sm\:flex-row { flex-direction: row; }
}

@media (min-width: 768px) {
    .md\:gap-4 { gap: 1rem; }
    .md\:gap-6 { gap: 1.5rem; }
    .md\:flex-row { flex-direction: row; }
}

@media (min-width: 1024px) {
    .lg\:gap-4 { gap: 1rem; }
    .lg\:gap-6 { gap: 1.5rem; }
    .lg\:flex-row { flex-direction: row; }
}

@media (min-width: 1280px) {
    .xl\:gap-4 { gap: 1rem; }
    .xl\:gap-10 { gap: 2.5rem; }
    .xl\:flex-col { flex-direction: column; }
}

/* --- Visibility helpers --- */
@media (max-width: 575px) {
    .hidden-xs-down { display: none !important; }
}

@media (max-width: 767px) {
    .hidden-sm-down { display: none !important; }
}

/* Hidden on tablets and below (sidebar hides here) */
@media (max-width: 991px) {
    .hidden-md-down { display: none !important; }
}

/* Hidden on desktop and above (mobile menu toggle hides here) */
@media (min-width: 992px) {
    .hidden-md-up { display: none !important; }
}

@media (max-width: 1199px) {
    .hidden-lg-down { display: none !important; }
}

@media (min-width: 1200px) {
    .hidden-xl-up { display: none !important; }
}

/* --- Header logo link: на мобиле занимает центр между гамбургером и action-кнопками,
   на десктопе остаётся как было (центрировано) --- */
.header-logo-link {
    display: inline-block;
    text-align: center;
}
.header-logo-link img { max-height: 68px; width: auto; }

@media (max-width: 991px) {
    .container-header {
        justify-content: space-between;
        gap: 8px;
        padding: 0 6px;
    }
    .header-logo-link {
        flex: 1 1 auto;
        text-align: center;
        min-width: 0;
    }
    .header-logo-link img {
        max-height: 60px;
        max-width: 100%;
    }
}

/* --- Mobile action buttons (ЛК + вход/выход в шапке) --- */
.header-mobile-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.header-mobile-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 8px;
    color: #A2CF41;
    text-decoration: none;
    border-radius: 50%;
    transition: background-color 0.2s;
}
.header-mobile-action:hover,
.header-mobile-action:focus,
.header-mobile-action:active {
    color: #8BB238;
    background-color: rgba(162, 207, 65, 0.08);
    text-decoration: none;
}
.header-mobile-action .fa { font-size: 22px; }
/* Переопределяем absolute-позиционирование .exit-header внутри мобильной кнопки */
.header-mobile-action .exit-header {
    position: static;
    top: auto;
    left: auto;
    width: 28px;
    height: 28px;
    background-size: 56px;
    background-position: 0 center;
}
.header-mobile-action--auth:hover .exit-header,
.header-mobile-action--auth:focus .exit-header {
    background-position: -28px center;
}

/* --- Navbar / Header --- */
@media (max-width: 991px) {
    .site_logo2 { height: 80px; }

    .navbar-header { height: 84px; }

    .navbar-toggle {
        padding: 10px 12px;
        display: block;
        margin: 0;
        min-width: 44px;
        min-height: 44px;
        flex-shrink: 0;
    }

    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
        max-height: inherit !important;
    }

    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }

    .navbar-nav > li {
        float: left;
        display: inline-table;
        line-height: 1.5;
    }

    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .collapse.in { display: block !important; }

    .container-header { display: flex; }

    .navbar-nav { display: none !important; }
}

/* --- Header bar zoom --- */
@media (max-width: 1200px) { .header-bar { zoom: 0.91; } }
@media (max-width: 1140px) { .header-bar { zoom: 0.9; } }
@media (max-width: 1100px) { .header-bar { zoom: 0.85; } }

@media (min-width: 992px) and (max-width: 1068px) {
    .nav > li > a { padding: 15px 7px 10px 7px; }
}

/* --- Modal dialog --- */
@media (min-width: 768px) {
    .modal-dialog { width: 760px; margin: 30px auto; }
}

/* Планшеты (портрет): 760px почти впритык к краям экрана — оставляем отступ */
@media (min-width: 768px) and (max-width: 991px) {
    .modal-dialog { width: calc(100% - 48px); margin: 30px auto; }
}

/* --- Catalog / Sidebar --- */
@media only screen and (max-width: 992px) {
    .side-bar-news { margin-top: auto; }

    .product-carousel { margin-top: 10px; }
}

@media only screen and (max-width: 768px) {
    .product-carousel { margin-top: 20px; }

    .resultsBirdiebugSpecials {
        padding-right: initial;
        margin-left: 15px;
    }

    .search-bar-wrapper {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .resultsPricesRange { padding-left: 15px; text-align: left; }
    .resultsTimesPromos { padding-left: 10px; }
}

/* --- Карточка товара (детальная) на мобиле/планшете ---
   Фото-блок имеет фикс. height:300px в modern.css — на мобиле картинка часто
   мельче и создаёт пустое пространство. Делаем гибким, чтобы рамка
   подстраивалась под фото. */
@media (max-width: 991px) {
    #page-container.container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    .page-content {
        padding-top: 12px;
        padding-bottom: 12px;
        overflow-x: hidden;
        margin-left: 0;
        margin-right: 0;
    }

    .page-content > [class*="col-"] {
        max-width: 100%;
        overflow-x: hidden;
    }

    .product-card .row { margin-left: -8px; margin-right: -8px; }
    .product-card .row > [class*="col-"] {
        padding-left: 8px;
        padding-right: 8px;
    }

    /* Рамка фото — квадрат по ширине колонки: высота не зависит от пропорций снимка (раньше `auto` тянула рамку
       по высоте вертикальной фотографии, и на узком окне она выходила втрое выше, чем на широком). */
    .product-card .product-image-main {
        height: auto;
        aspect-ratio: 1 / 1;
        padding: 6px;
    }

    /* search-bar row */
    .search-bar-row {
        margin-top: 1rem;
    }
}

/* --- Карточка-листинг: убираем фикс. height блока контента,
   уменьшаем шрифт «stock-status», нормализуем кнопку корзины --- */
@media (max-width: 767px) {
    /* Inline-style на .product-grid .flex.flex-col.p-3 имеет max-height:160 / min-height:150 —
       перебиваем для всех экранов планшета и ниже (а не только ≤520). */
    .product-grid .flex.flex-col.p-3 {
        max-height: none !important;
        min-height: auto !important;
        height: auto !important;
        padding: 8px !important;
    }

    /* «Есть в наличии и по предзаказу» — мельче и компактнее */
    /*.product-grid .stock-status {*/
    /*    font-size: 12px;*/
    /*    min-height: 0;*/
    /*    line-height: 1.25;*/
    /*    margin-bottom: 4px;*/
    /*}*/

    /* Кнопка корзины — фикс. размер, без растяжения на всю ширину */
    /*.product-grid .btn-buy {*/
    /*    height: 2.6rem;*/
    /*    width: 2.6rem;*/
    /*    background-position: -23px center;*/
    /*    background-size: 56px;*/
    /*    flex-shrink: 0;*/
    /*}*/

    /*.product-grid .product-title {*/
    /*    font-size: 0.9rem;*/
    /*    line-height: 1.25;*/
    /*    margin-bottom: 4px !important;*/
    /*}*/
}

/* --- Product Grid Cards (mobile fixes) --- */

/* Mobile: compact card layout */
@media only screen and (max-width: 520px) {
    /*.product-grid .product-qty-block {*/
    /*    flex-direction: column;*/
    /*    gap: 4px;*/
    /*}*/

    /*.product-grid .p-qty-num {*/
    /*    justify-content: center;*/
    /*}*/

    /*.product-grid .btn-buy {*/
    /*    height: 2.5rem;*/
    /*    width: 2.5rem;*/
    /*}*/

    /*.product-grid .qty-input {*/
    /*    width: 1.8rem;*/
    /*    height: 2rem;*/
    /*    font-size: 1rem;*/
    /*}*/

    /*.product-grid .product-btn-minus,*/
    /*.product-grid .product-btn-plus {*/
    /*    width: 22px;*/
    /*    height: 22px;*/
    /*    font-size: 10px;*/
    /*    padding: 1px;*/
    /*}*/

    /*.product-grid .text-2xl {*/
    /*    font-size: 1rem;*/
    /*}*/

    .product-thumbnail {
        overflow: hidden;
    }

    .product-grid-img a {
        padding: 0.4rem;
    }

    /*.product-grid .product-title {*/
    /*    min-height: 2.5rem;*/
    /*    font-size: 0.8rem;*/
    /*    line-height: 1.3;*/
    /*}*/

    /* Reduce bottom padding to fit controls */
    /*.product-grid .flex.flex-col.p-3 {*/
    /*    padding: 6px !important;*/
    /*    max-height: none !important;*/
    /*    min-height: auto !important;*/
    /*}*/
}

/* Small phones: tighter layout */
@media only screen and (max-width: 380px) {
    /*.product-grid .product-qty-block {*/
    /*    flex-direction: column;*/
    /*    align-items: center;*/
    /*    gap: 2px;*/
    /*}*/

    /*.product-grid .flex.flex-row.justify-between.items-center {*/
    /*    flex-direction: column;*/
    /*    gap: 4px;*/
    /*}*/

    /*.product-grid .btn-buy {*/
    /*    width: 2.4rem;*/
    /*    height: 2.4rem;*/
    /*    background-position: -23px center;*/
    /*    background-size: 52px;*/
    /*}*/
}

/* 521px-610px: column layout for qty block */
@media only screen and (min-width: 521px) and (max-width: 610px) {
    /*.product-grid .product-qty-block {*/
    /*    flex: 0 0 auto;*/
    /*    flex-direction: column;*/
    /*}*/

    /*.product-grid .btn-buy {*/
    /*    height: 3rem;*/
    /*    width: 3rem;*/
    /*}*/
}

/* 611px+: row layout for qty block */
@media only screen and (min-width: 611px) {
    /*.product-grid .product-qty-block {*/
    /*    flex: 1 1 0;*/
    /*    flex-direction: row;*/
    /*}*/

    /*.product-grid .btn-buy {*/
    /*    height: 3rem;*/
    /*    width: 3rem;*/
    /*}*/
}

/* Desktop sidebar visible, product grid adjusts */
@media (min-width: 992px) and (max-width: 1199px) {
    /*.product-grid .product-qty-block {*/
    /*    flex: 0 0 auto;*/
    /*    flex-direction: column;*/
    /*}*/

    /*.product-grid .btn-buy {*/
    /*    height: 4rem;*/
    /*    width: 4rem;*/
    /*}*/
}

/*
 * 🔴 Корзина карточками (требование заказчика 09.09.2026 — «переделай корзину
 * карточками и добавь фото товара»).
 *
 * Прежде это была таблица в восемь колонок с мобильной перекладкой в grid.
 * Товар в ней узнавался только по названию: фотографии не было ни на одном
 * экране, а на телефоне название сжималось до двух слов.
 */
.cart-cards {
    margin-bottom: 16px;
}

.cart-card {
    display: flex;
    gap: 12px;
    padding: 12px;
    margin-bottom: 10px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
}

.cart-card--issue {
    border-color: #f0ad4e;
}

.cart-card__photo {
    flex: 0 0 auto;
    width: 76px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
    border-radius: 6px;
    overflow: hidden;
}

.cart-card__photo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.cart-card__photo-empty {
    color: #c0c0c0;
    font-size: 24px;
}

.cart-card__body {
    flex: 1 1 auto;
    /* Без этого длинное название растягивает карточку и ломает ряд. */
    min-width: 0;
}

.cart-card__title {
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.cart-card__preorder,
.cart-card__promo {
    display: block;
    margin-top: 2px;
    font-weight: normal;
    font-size: 13px;
}

.cart-card__sku {
    margin-top: 2px;
    font-size: 12px;
    color: #888;
}

.cart-card__line {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
}

.cart-card__qty {
    display: flex;
    align-items: center;
    gap: 4px;
}

.cart-qty-value {
    display: inline-block;
    width: 44px;
    padding: 4px 2px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 3px;
    -moz-appearance: textfield;
}

.cart-qty-value::-webkit-outer-spin-button,
.cart-qty-value::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.cart-card__money {
    flex: 1 1 auto;
    text-align: right;
    line-height: 1.3;
}

/* Цена за штуку объясняет стоимость строки, поэтому стоит над ней, а не вместо. */
.cart-card__price {
    display: block;
    font-size: 12px;
    color: #888;
}

.cart-card__cost {
    display: block;
    font-weight: 700;
    font-size: 15px;
}

.cart-card__remove {
    flex: 0 0 auto;
}

/*
 * Оплата сферами — одной строкой (замечание заказчика 09.09.2026: «блок со
 * сферами перенеси в одну строку чтобы высота карточки не была такая большая»).
 * Подпись, два поля и «макс» стоят в ряд; на узком экране ряд переносится сам,
 * а подпись уходит на свою строку — правило ниже.
 */
/* Дополнительные услуги: заголовок, группы, строки с ценой справа.
   Вид повторяет то, как это делают крупные платформы (требование заказчика
   10.09.2026): покупатель видит не россыпь кнопок, а список, где сразу понятно,
   что к чему относится и сколько стоит. */
.cart-card__addons {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #eee;
}

.cart-card__addons-head {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #444;
    margin-bottom: 6px;
}

.cart-card__addon-group + .cart-card__addon-group {
    margin-top: 8px;
}

/* Название группы — категория услуги: «Сервисы гарантии», «Установка». */
.cart-card__addon-group-title {
    font-size: 12px;
    color: #888;
    margin-bottom: 2px;
}

/* Галочка группы: отмечена — услуга в корзине. Вся строка кликабельна: попасть
   в неё легче, чем в квадратик, а на телефоне это единственный способ. */
.cart-card__addon-group-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    transition: background-color .15s;
}

.cart-card__addon-group-head:hover {
    background: #f7fbf2;
}

.cart-card__addon-group-head > span:first-of-type {
    flex: 1 1 auto;
}

/* Варианты — с отступом под галочкой группы: видно, что они её часть. */
.cart-card__addon-variants {
    padding-left: 26px;
}

/* Строка варианта: кружок, название, цена справа. */
.cart-card__addon {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 5px 10px;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    font-weight: 400;
    color: #333;
    text-align: left;
    cursor: pointer;
    transition: background-color .15s;
}

.cart-card__addon:hover {
    background: #f7fbf2;
}

.cart-card__addon-name {
    flex: 1 1 auto;
}

.cart-card__addon-price {
    flex: 0 0 auto;
    font-weight: 600;
    white-space: nowrap;
}

/* Картинка услуги: услуга — такой же товар, и в списке она выглядит товаром,
   а не строчкой текста. Размер меньше товарного: услуга при товаре, а не
   вместо него. */
.cart-card__addon-image {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    object-fit: contain;
    border-radius: 4px;
    background: #fff;
}

/* Значок «открыть карточку услуги». Приглушён, пока на него не навели: рядом
   галочка, и два ярких пятна в строке спорят за внимание. */
.cart-card__addon-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 2px;
    color: #aaa;
    font-size: 12px;
    line-height: 1;
    text-decoration: none;
    transition: color .15s;
}

.cart-card__addon-link:hover,
.cart-card__addon-link:focus {
    color: #7cb342;
}

.cart-card__spheres:not(:empty) {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed #eee;
    font-size: 12px;
    color: #666;
}

.cart-card__spheres .shr-item-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
}

.cart-card__spheres-limit {
    font-size: 11px;
}

.cart-card__spheres-field {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin: 0;
}

.cart-card__spheres-field input {
    width: 72px;
    height: 28px;
    padding: 2px 6px;
}

.cart-card__issue {
    margin-top: 8px;
    padding: 8px;
    background: #fcf8e3;
    border-radius: 6px;
    font-size: 13px;
}

.cart-totals {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 12px;
    border-top: 1px dashed #ddd;
}

.cart-totals__label {
    font-weight: 700;
}

.cart-totals__value {
    font-weight: 700;
}

.cart-totals--final {
    border-top: 2px solid #A2CF41;
    margin-top: 4px;
    font-size: 16px;
}

/* Иконки +/-/корзина — везде одного, компактного размера. */
.btn-cart-change-qty { padding: 4px 5px; }
.btn-cart-delete-product { font-size: 14px; padding: 4px; }

/* «(по предзаказу)» и метка акции — тем же видом в кабинете и админке
   (план docs/plans/ui-order-tables-consistency.md). */
.order-item-preorder {
    display: block;
    font-weight: 700;
    margin-top: 2px;
}

.order-item-promo {
    display: block;
    margin-top: 2px;
}

@media (max-width: 991px) {
    /* Планшет: ряд сфер тот же, поля компактнее — иначе «макс» переносится
       на свою строку и ряд снова становится в три этажа. */
    .cart-card__spheres-field input {
        width: 64px;
    }
}

@media (max-width: 575px) {
    .cart-card {
        gap: 10px;
        padding: 10px;
    }

    /* Телефон: подпись занимает свою строку, а поля с «макс» делят следующую —
       в одну строку они не помещаются и рвут ряд в непредсказуемом месте. */
    .cart-card__spheres-limit {
        flex: 0 0 100%;
    }

    .cart-card__spheres-field {
        flex: 1 1 0;
    }

    .cart-card__spheres-field input {
        width: 100%;
        min-width: 0;
    }

    .cart-card__photo {
        width: 64px;
        height: 64px;
    }

    /* Количество и стоимость на телефоне идут разными строками: втиснутые в
       одну, они оставляют названию половину ширины. */
    .cart-card__line {
        flex-wrap: wrap;
    }

    .cart-card__money {
        order: -1;
        flex: 0 0 100%;
        text-align: left;
    }

    .cart-card__cost {
        display: inline;
    }

    .cart-card__price {
        display: inline;
        margin-right: 6px;
    }

    .cart-card__remove {
        margin-left: auto;
    }
}

/* --- Корзина модальная --- */
/*#cartModal .modal-dialog {*/
/*    max-width: 480px;*/
/*    width: 90%;*/
/*}*/

@media (max-width: 767px) {
    /* Заголовок страницы — компактнее на мобиле */
    h1.lined { font-size: 1.8rem; }

    /* Кнопка удалить — вертикальное позиционирование в карточке
       (размер иконки теперь общий для всех breakpoint'ов, см. выше) */
    .btn-cart-delete-product { margin-top: 0; }

    /* Получатель — поля друг под другом */
    .order-options-receiver .row > .col-xs-4 { width: 100%; float: none; }

    #cartModal .modal-dialog {
        margin: 10px;
    }

    #cartModal .modal-body {
        max-height: calc(100vh - 150px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    #cartModal .modal-footer {
        display: flex;
        flex-direction: column;
        gap: 6px;
    }
    #cartModal .modal-footer .btn {
        width: 100%;
        margin: 0;
    }
}

/* --- Модалка адресов: распорка задаёт минимальную ширину формы на десктопе,
   на мобиле «складывается» в 100%. --- */
.address-modal-spacer {
    width: 100%;
}
@media (min-width: 768px) {
    .address-modal-spacer {
        min-width: 500px;
        height: 0;
    }
}

/* --- Кошелёк: формы вывода/обмена/перевода ---
   На мобиле inline width/min-width выталкивают контент за viewport.
   Перебиваем все через !important. */
@media (max-width: 767px) {
    /* Все div с inline min-width внутри кошелька */
    .col-lg-9 div[style*="min-width"] {
        min-width: 0 !important;
    }

    /* Панели кошелька — обрезать overflow */
    .col-lg-9 .panel-body {
        overflow-x: auto;
    }

    /* Inputs суммы и реквизитов */
    #swap-amount,
    #withdrawal-amount,
    #transfer-amount,
    #transfer-recipient {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* form-group и flex-обёртки — на полную ширину */
    #swap-form .form-group,
    #swap-form > div,
    #withdrawal-form .form-group,
    #withdrawal-form > div,
    #transfer-form .form-group,
    #transfer-form > div {
        min-width: 0 !important;
        flex-basis: 100% !important;
        max-width: 100%;
    }

    #swap-result {
        display: inline-block;
        white-space: normal;
    }
    #swap-result-wrap {
        min-width: 0 !important;
        width: 100% !important;
        text-align: center;
    }

    #swap-amount + button,
    #withdrawal-amount + button,
    #transfer-amount + button {
        flex-shrink: 0;
    }
    #swap-amount,
    #withdrawal-amount,
    #transfer-amount {
        flex: 1 1 auto;
        min-width: 0 !important;
    }

    .panel-body table[style*="max-width"] {
        max-width: 100% !important;
    }

    #tab-withdrawal .table,
    #tab-swap .table {
        font-size: 12px;
    }
    #tab-withdrawal .table > tbody > tr > td,
    #tab-withdrawal .table > thead > tr > th,
    #tab-swap .table > tbody > tr > td,
    #tab-swap .table > thead > tr > th {
        padding: 4px 3px;
    }
}

/* Header items: легаси-правила удалены — шапка перестроена на flex
   (.site-header), см. блок «REFACTORED HEADER» в modern.css. */

/* --- Very small screens --- */
@media only screen and (max-width: 400px) {
    .site_logo2 { display: none !important; }

    .product-card .product-qty-block { flex-direction: column; }

    .product-carousel {
        padding: 0 25px 30px 25px;
    }

    .product-carousel .carousel-control.right { right: -20px; z-index: 9; }
    .product-carousel .carousel-control.left { left: -20px; z-index: 9; }
}

@media only screen and (max-width: 375px) {
    .header-mobile-about {
        margin-right: auto;
        padding: 15px 5px;
        zoom: 0.9;
    }
}

/* --- Container width on tablets --- */
@media (min-width: 600px) and (max-width: 991px) {
    .container { width: auto; }
}

/* --- Footer: desktop (>=992px) — 5 колонок в ряд (как было исторически) --- */
@media (min-width: 992px) {
    .col-xs-2.hidden-xs-up.resultsBirdiebugSpecials { display: none !important; }

    .foot_wrap {
        display: flex;
        height: 80px;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .container-footer {
        text-align: left;
    }
}

/* --- Footer: tablet + mobile (<992px) — верхний ряд в 2 колонки
   (ссылки | контакты), ниже — тоже 2 колонки (ближайшие доставки |
   бесплатная доставка); если доставка отключена (.no-freeship) —
   «ближайшие доставки» на всю ширину. Одинаковая сетка на планшете и
   мобиле, только отступы/gap чуть просторнее на планшете. --- */
@media (max-width: 991px) {
    .container-footer {
        padding: 18px 15px calc(18px + env(safe-area-inset-bottom, 0px));
    }

    .foot_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "links contacts"
            "delivery freeship";
        gap: 14px 16px;
        height: auto;
    }

    .foot_wrap.no-freeship {
        grid-template-areas:
            "links contacts"
            "delivery delivery";
    }

    .foot_wrap .footer-col {
        width: auto;
        line-height: 1.4;
    }

    .footer-col-links   { grid-area: links; }
    .footer-col-contacts { grid-area: contacts; }
    .footer-col-delivery { grid-area: delivery; }
    .footer-col-min-order { grid-area: freeship; }

    .footer-col-title {
        font-weight: 700;
        opacity: 0.9;
        margin-bottom: 2px;
    }

    .footer-col-logo { display: none; }
}

@media (min-width: 700px) and (max-width: 991px) {
    .foot_wrap {
        gap: 20px 24px;
    }

    /* Без блока «Бесплатная доставка» ставим «Ближайшие доставки» в один
       ряд с «Контакты» (как на десктопе), а не отдельной строкой снизу —
       иначе получается «лесенка». */
    .foot_wrap.no-freeship {
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas: "links contacts delivery";
    }
}

/* --- Бета-плашка (mobile-first) --- */
.beta-notice {
    margin-top: 16px;
    display: flex;
    justify-content: center;
}
.beta-notice-inner {
    background: #fff;
    color: #b40c8f;
    border: 2px solid #ff5fa2;
    border-radius: 6px;
    padding: 12px 18px;
    max-width: 360px;
    text-align: center;
    font-size: 14px;
    line-height: 1.45;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.beta-notice-title {
    font-weight: 700;
    font-size: 15px;
}
.beta-notice-title--mt { margin-top: 8px; }

@media (min-width: 992px) {
    .beta-notice { margin-top: 14px; }
    .beta-notice-inner { font-size: 13px; padding: 10px 16px; }
}

/* --- iOS notch / safe-area для фикс. шапки --- */
.navbar-fixed-top {
    padding-top: env(safe-area-inset-top, 0px);
}

/* --- Pull-to-refresh: не сворачивать сайт при крайнем скролле вверх --- */
html, body {
    overscroll-behavior-y: contain;
}

/* --- Print CSS --- */
@media print {
    .navbar,
    .navbar-fixed-top,
    .navbar-toggle,
    .menu_overlay,
    .menu_content,
    footer,
    .container-footer,
    .beta-notice,
    .header-cart-item,
    [data-cart-modal],
    .modal,
    .fancybox-overlay {
        display: none !important;
    }
    body { padding-top: 0 !important; }
    .page-shell { min-height: 0 !important; }
    a { color: #000 !important; text-decoration: underline; }
}

/* --- Таблица заказов ЛК: карточный рендер на мобиле --- */
@media (max-width: 767px) {
    .table-orders {
        border: 0;
    }
    .table-orders thead {
        display: none;
    }
    .table-orders > tbody > tr {
        display: block;
        position: relative;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 12px;
        padding: 12px 14px;
        padding-right: 44px;
        text-align: left;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
        cursor: pointer;
        transition: border-color 0.15s;
    }
    .table-orders > tbody > tr:active {
        border-color: #A2CF41;
    }
    .table-orders > tbody > tr > td {
        display: flex;
        align-items: baseline;
        gap: 6px;
        border: 0 !important;
        padding: 3px 0;
        text-align: left;
        font-size: 14px;
    }
    .table-orders > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
        min-width: 70px;
        flex-shrink: 0;
    }
    .table-orders > tbody > tr > td[data-label=""]::before {
        content: none;
    }
    .table-orders > tbody > tr > td[data-label="№"] {
        font-weight: 700;
        font-size: 15px;
        padding-bottom: 4px;
        border-bottom: 1px solid #f0f0f0 !important;
        margin-bottom: 4px;
    }

    .table-orders .orders-col-detail {
        display: none !important;
    }

    .table-orders .orders-col-cancel {
        position: absolute;
        top: 10px;
        right: 10px;
        padding: 0 !important;
        display: block;
    }
    .table-orders .orders-col-cancel .text-muted {
        display: none;
    }

    .table-responsive {
        border: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* --- Детали заказа: инфо-таблица (ключ-значение) --- */
    .table-order-info {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .table-order-info > tbody {
        display: block;
        width: 100%;
    }
    .table-order-info > tbody > tr {
        display: flex;
        flex-direction: column;
        border: 0;
        border-bottom: 1px solid #f0f0f0;
        padding: 6px 0;
    }
    .table-order-info > tbody > tr > th,
    .table-order-info > tbody > tr > td {
        display: block;
        border: 0 !important;
        padding: 1px 0;
        width: 100% !important;
        text-align: left;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .table-order-info > tbody > tr > th {
        color: #999;
        font-size: 12px;
        font-weight: 400;
    }
    .table-order-info > tbody > tr > td {
        font-size: 14px;
    }

    /* --- Детали заказа: товары — карточки --- */
    .table-order-items {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .table-order-items > tbody {
        display: block;
        width: 100%;
    }
    .table-order-items thead {
        display: none;
    }
    .table-order-items > tbody > tr:not(.order-totals-row) {
        display: block;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 10px;
        padding: 10px 12px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    }
    .table-order-items > tbody > tr:not(.order-totals-row) > td {
        display: flex;
        align-items: baseline;
        gap: 6px;
        border: 0 !important;
        padding: 2px 0;
        font-size: 14px;
        text-align: left;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .table-order-items > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
        min-width: 70px;
        flex-shrink: 0;
    }
    .table-order-items > tbody > tr > td[data-label=""]::before {
        content: none;
    }
    .table-order-items > tbody > tr > td[data-label=""] {
        display: block;
        font-weight: 600;
        padding-bottom: 4px;
        border-bottom: 1px solid #f0f0f0 !important;
        margin-bottom: 2px;
    }
    .table-order-items .order-items-col-sku {
        display: none !important;
    }
    .table-order-items .order-totals-row {
        display: flex;
        justify-content: space-between;
        border: 0;
        border-top: 1px dashed #ddd;
        padding: 6px 0;
        margin: 0;
    }
    .table-order-items .order-totals-row > td {
        border: 0 !important;
        padding: 2px 0;
    }
    .table-order-items .order-totals-row > td[colspan] {
        flex: 1;
        text-align: right;
        padding-right: 10px;
    }

    /* --- Детали заказа: платежи — карточки --- */
    .table-order-payments {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .table-order-payments > tbody {
        display: block;
        width: 100%;
    }
    .table-order-payments thead {
        display: none;
    }
    .table-order-payments > tbody > tr:not(.order-totals-row) {
        display: block;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 10px;
        padding: 10px 12px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    }
    .table-order-payments > tbody > tr:not(.order-totals-row) > td {
        display: flex;
        align-items: baseline;
        gap: 6px;
        border: 0 !important;
        padding: 2px 0;
        font-size: 14px;
        text-align: left;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .table-order-payments > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
        min-width: 70px;
        flex-shrink: 0;
    }
    .table-order-payments .order-totals-row {
        display: flex;
        justify-content: space-between;
        border: 0;
        border-top: 1px dashed #ddd;
        padding: 6px 0;
    }
    .table-order-payments .order-totals-row > td {
        border: 0 !important;
        padding: 2px 0;
    }
    .table-order-payments .order-totals-row > td[colspan] {
        flex: 1;
        text-align: right;
        padding-right: 10px;
    }
    .table-order-payments .order-totals-row > td:empty {
        display: none;
    }

    /* --- История транзакций кошелька: карточный рендер на мобиле --- */
    .table-wallet-tx {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .table-wallet-tx > tbody {
        display: block;
        width: 100%;
    }
    .table-wallet-tx thead {
        display: none;
    }
    .table-wallet-tx > tbody > tr {
        display: block;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 12px;
        padding: 12px 14px;
        text-align: left;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    }
    .table-wallet-tx > tbody > tr > td {
        display: grid;
        grid-template-columns: 90px minmax(0, 1fr);
        align-items: baseline;
        gap: 6px;
        border: 0 !important;
        padding: 3px 0;
        text-align: left;
        font-size: 14px;
        /* Bootstrap в .table-responsive ставит white-space:nowrap — перебиваем,
           чтобы длинные значения (примечания, #номера) переносились */
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .table-wallet-tx > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
    }
    .table-wallet-tx > tbody > tr > td:empty {
        display: none;
    }
    /* Дата — заголовок карточки */
    .table-wallet-tx > tbody > tr > td[data-label="Дата"] {
        display: block;
        font-weight: 700;
        font-size: 15px;
        padding-bottom: 6px;
        border-bottom: 1px solid #f0f0f0 !important;
        margin-bottom: 4px;
    }
    .table-wallet-tx > tbody > tr > td[data-label="Дата"]::before {
        content: none;
    }

    /* --- Курс валют: карточный рендер на мобиле --- */
    .table-rates {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .table-rates > tbody {
        display: block;
        width: 100%;
    }
    .table-rates thead {
        display: none;
    }
    /* Строки-разделители секций — подзаголовки на всю ширину */
    .table-rates > tbody > tr.rates-section {
        display: block;
        background: transparent;
        border: 0;
        margin: 14px 0 6px;
    }
    .table-rates > tbody > tr.rates-section > td {
        display: block;
        border: 0 !important;
        padding: 0;
        font-size: 15px;
    }
    /* Обычные строки валют — карточки */
    .table-rates > tbody > tr:not(.rates-section) {
        display: block;
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        margin-bottom: 10px;
        padding: 10px 12px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    }
    .table-rates > tbody > tr:not(.rates-section) > td {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 6px;
        border: 0 !important;
        padding: 3px 0;
        font-size: 14px;
        text-align: right;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .table-rates > tbody > tr:not(.rates-section) > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
        flex-shrink: 0;
        text-align: left;
    }
    /* Валюта — заголовок карточки */
    .table-rates > tbody > tr > td[data-label="Валюта"] {
        font-weight: 700;
        font-size: 15px;
        justify-content: flex-start;
        padding-bottom: 6px;
        border-bottom: 1px solid #f0f0f0 !important;
        margin-bottom: 4px;
        text-align: left;
    }
    .table-rates > tbody > tr > td[data-label="Валюта"]::before {
        content: none;
    }

    /* --- Табы операций кошелька: вертикальный стек на мобиле --- */
    .wallet-tabs {
        display: block;
        padding: 10px;
        border-bottom: none !important;
    }
    .wallet-tabs > li {
        float: none;
        display: block;
        margin: 0 0 6px 0;
    }
    .wallet-tabs > li:last-child {
        margin-bottom: 0;
    }
    .wallet-tabs > li > a {
        display: block;
        margin: 0;
        padding: 11px 14px;
        border: 1px solid #ddd;
        border-radius: 6px;
        background: #f7f7f7;
        color: #337ab7;
        font-size: 14px;
        text-align: center;
    }
    .wallet-tabs > li.active > a,
    .wallet-tabs > li.active > a:hover,
    .wallet-tabs > li.active > a:focus {
        border-color: #A2CF41;
        background: #A2CF41;
        color: #fff;
    }

    /* --- Рефералы: таблица партнёров → карточки на мобиле --- */
    .ref-partners {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }
    .ref-partners > tbody {
        display: block;
        width: 100%;
    }
    .ref-partners thead {
        display: none;
    }
    .ref-partners > tbody > tr {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        border: 1px solid #e0e0e0 !important;
        border-radius: 8px;
        margin-bottom: 12px;
        padding: 10px 12px;
        text-align: left;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    }
    /* Поля данных — каждое на своей строке «подпись: значение» */
    .ref-partners > tbody > tr > td {
        flex: 0 0 100%;
        display: grid;
        grid-template-columns: 130px minmax(0, 1fr);
        align-items: baseline;
        gap: 6px;
        border: 0 !important;
        padding: 3px 0 !important;
        text-align: left;
        font-size: 14px;
        white-space: normal !important;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    .ref-partners > tbody > tr > td[data-label]::before {
        content: attr(data-label);
        color: #999;
        font-size: 12px;
    }
    /* № в карточке не нужен */
    .ref-partners > tbody > tr > td[data-label="№"] {
        display: none;
    }
    /* Заголовок карточки: ФИО + #ID на одной строке */
    .ref-partners > tbody > tr > td[data-label="ФИО"],
    .ref-partners > tbody > tr > td[data-label="ID"] {
        flex: 0 0 auto;
        display: block;
        order: -1;
        padding: 0 0 6px 0 !important;
        margin-bottom: 4px;
    }
    .ref-partners > tbody > tr > td[data-label="ФИО"] {
        font-weight: 700;
        font-size: 15px;
        margin-right: 6px;
    }
    .ref-partners > tbody > tr > td[data-label="ФИО"]::before {
        content: none;
    }
    .ref-partners > tbody > tr > td[data-label="ID"] {
        color: #999;
        font-weight: 400;
        font-size: 13px;
    }
    .ref-partners > tbody > tr > td[data-label="ID"]::before {
        content: "#";
        color: #999;
    }
    /* Разделитель под заголовком карточки */
    .ref-partners > tbody > tr > td[data-label="Уровень"] {
        border-top: 1px solid #f0f0f0 !important;
        padding-top: 7px !important;
        margin-top: 2px;
    }
    /* Итоговая строка периода */
    .ref-partners > tbody > tr.ref-total-row {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: baseline;
        gap: 8px;
        background: transparent;
        border: 0 !important;
        box-shadow: none;
        padding: 6px 2px;
        margin-bottom: 0;
    }
    .ref-partners > tbody > tr.ref-total-row > td {
        flex: 0 1 auto;
        display: block;
        padding: 0 !important;
        text-align: left;
        font-size: 13px;
    }
    .ref-partners > tbody > tr.ref-total-row > td::before {
        content: none;
    }
}

/* ==== /css/scroll.css ==== */
/* контейнер превью */
.product-thumbs-slider {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 600px; /* подстраивай под свою разметку */
    margin: 10px 0;
    overflow: hidden;
}

/* до 4 изображений: центрируем блок миниатюр по ширине основного изображения */
.product-thumbs-slider:not(.active) {
    justify-content: center;
}
.product-thumbs-slider:not(.active) .thumbs-wrapper {
    flex: 0 0 auto;
    justify-content: center;
}

/* до пяти снимков лента не прокручивается: на узкой колонке ряд переносится, а не режется по краям */
.product-thumbs-slider:not(.active) .thumbs-wrapper {
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* лента миниатюр */
.product-thumbs-slider .thumbs-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;

    scrollbar-width: thin;
    scrollbar-color: #A2CF41 #f1f1f1;
}

a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
    border-color: #A2CF41;
}

.product-thumbs-slider .thumbs-wrapper::-webkit-scrollbar {
    height: 6px;
}

.product-thumbs-slider .thumbs-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.product-thumbs-slider .thumbs-wrapper::-webkit-scrollbar-thumb {
    background-color: #A2CF41;
    border-radius: 4px;
}

.product-thumbs-slider .thumbs-wrapper::-webkit-scrollbar-thumb:hover {
    background-color: #8dc028;
}

/* если НЕ активен — убираем горизонтальный скролл (ряд обычный) */
.product-thumbs-slider:not(.active) .thumbs-wrapper {
    overflow-x: visible;
}

/* элемент миниатюры */
.thumb-item {
    flex: 0 0 auto;
    width: 74px;
    height: 74px;
    border: 1px solid #e6e6e6;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.18s, transform 0.12s;
    background: #fff;
}
.thumb-item img { width:100%; height:100%; object-fit:cover; display:block; }

/* Рамка у фото и ролика одна — у плитки; ссылка внутри её не рисует (у Bootstrap `.thumbnail` свои поля и рамка). */
.product-thumbs-slider .thumb-item > a,
.product-thumbs-slider .thumb-item > a.thumbnail {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.thumb-item:hover { border-color:#A2CF41; transform: translateY(-2px); }

/* стрелки: по умолчанию скрыты */
.product-thumbs-slider .thumbs-prev,
.product-thumbs-slider .thumbs-next {
    display: none;
}

/* показываем стрелки только если слайдер активен */
.product-thumbs-slider.active .thumbs-prev,
.product-thumbs-slider.active .thumbs-next {
    display: flex;
    position: absolute;
    /* по высоте плитки (74px): под плитками лежит полоса прокрутки */
    top: 0;
    width: 26px;
    height: 74px;
    padding: 0;
    align-items: center;
    cursor: pointer;
    border: 0;
    border-radius: 0;
    background: #fff;
    z-index: 20;
    transition: opacity .18s;
}

/* Ширину блока задаёт полоса прокрутки: она идёт под всем рядом, включая боковые поля. Плитки отступают от краёв блока на
   28px, и в этом поле стоит стрелка; прокрученные плитки уходят за белое поле стрелки, а не под саму стрелку. */
.product-thumbs-slider.active .thumbs-wrapper::before,
.product-thumbs-slider.active .thumbs-wrapper::after {
    content: "";
    flex: 0 0 20px; /* + промежуток 0.5rem между плитками = поле в 28px */
}

.product-thumbs-slider.active .thumbs-wrapper {
    flex: 1 1 auto;
    min-width: 0;
}

.product-thumbs-slider.active .thumbs-prev {
    justify-content: flex-start;
    padding-left: 6px;
}

.product-thumbs-slider.active .thumbs-next {
    justify-content: flex-end;
    padding-right: 6px;
}

/* позиции стрелок */
.product-thumbs-slider.active .thumbs-prev { left: 0; }
.product-thumbs-slider.active .thumbs-next { right: 0; }

/* край ряда: стрелка остаётся на месте, но бледная и не нажимается */
.product-thumbs-slider.active .thumbs-prev.hidden,
.product-thumbs-slider.active .thumbs-next.hidden {
    /* у Bootstrap `.hidden` — `display: none !important`: без этой строки стрелка пропадала бы, а не бледнела */
    display: flex !important;
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
}

/* иконка внутри стрелки — можно заменить на SVG или HTML символ */
.product-thumbs-slider .thumbs-prev::after,
.product-thumbs-slider .thumbs-next::after {
    content: "";
    display: block;
    width: 9px;
    height: 16px;
    background: no-repeat center / contain;
}

/* тонкий шеврон в 1.5 px: шрифтовый символ для плитки 74 px выходил грубым */
.product-thumbs-slider .thumbs-prev::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 12' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 1 1 6l5 5'/%3E%3C/svg%3E");
}

.product-thumbs-slider .thumbs-next::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 12' fill='none' stroke='%23333' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m1 1 5 5-5 5'/%3E%3C/svg%3E");
}

/* для активного слайдера оставляем горизонтальный скролл */
.product-thumbs-slider.active .thumbs-wrapper {
    /* запас под полосу прокрутки: она не прилипает к плиткам */
    padding-bottom: 6px;
    overflow-x: auto;
    scrollbar-width: thin;          /* Firefox */
    scrollbar-color: #A2CF41 #f1f1f1; /* цвет ползунка и фона */
}

.product-thumbs-slider.active .thumbs-wrapper::-webkit-scrollbar {
    height: 6px;
}
.product-thumbs-slider.active .thumbs-wrapper::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.product-thumbs-slider.active .thumbs-wrapper::-webkit-scrollbar-thumb:hover {
    background: #A2CF41;
}


/* .product-thumbs-slider.active .thumbs-wrapper::-webkit-scrollbar-thumb {
    background: #A2CF41;
    border-radius: 4px;
}

.product-thumbs-slider.active .thumbs-wrapper::-webkit-scrollbar-thumb:hover {
    background: #8dc028;
} */

/* ==== /css/site.css ==== */

/* Колокольчик оповещений в шапке платформы (требование заказчика 2026-08-12).
   Кабинеты продавца и платформы собраны на Vue и имеют свой компонент; здесь —
   легаси-раскладка, где стили живут файлом. */
.notif-bell { position: relative; display: inline-block; vertical-align: middle; }

/* Кнопка оформлена как соседняя «учётная запись» (`.header-account__toggle`):
   голый значок в шапке не читался как кнопка — «никто не поймёт, что это»
   (замечание заказчика 2026-08-13). */
.notif-bell__toggle,
.notif-bell__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 44px;
    width: 44px;
    padding: 0;
    background: #fff;
    border: 1px solid #A2CF41;
    border-radius: 50px;
    color: #A2CF41;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}
.notif-bell__toggle .fa-bell { font-size: 20px; }
.notif-bell__toggle:hover,
.notif-bell__toggle:focus,
.notif-bell.is-open .notif-bell__toggle,
.notif-bell__button {
    background-color: #A2CF41;
    color: #fff;
    outline: none;
}
/* Счётчик: кружок при одной цифре и пилюля при двух-трёх. Выключка — флексом,
   а не `line-height`: рамка входит в высоту (`border-box`), и цифра съезжала
   вниз на её толщину. */
.notif-bell__badge {
    position: absolute; top: -4px; right: -4px;
    box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 20px; height: 20px; padding: 0 6px;
    border-radius: 10px; background: #d9534f; color: #fff;
    font-size: 11px; font-weight: 700; line-height: 1; white-space: nowrap;
    border: 2px solid #fff;
}
.notif-bell__panel { position: absolute; right: 0; top: 100%; width: 340px; max-width: 90vw; z-index: 1050;
    background: #fff; border: 1px solid #e0e0e0; border-radius: 6px; box-shadow: 0 6px 24px rgba(0,0,0,.12); overflow: hidden; }
.notif-bell__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: 1px solid #eee; font-weight: 600; }
.notif-bell__readall { background: none; border: 0; padding: 0; color: #337ab7; font-size: 13px; font-weight: 400; cursor: pointer; }
.notif-bell__empty { padding: 24px 14px; text-align: center; color: #888; margin: 0; }
.notif-bell__list { list-style: none; margin: 0; padding: 0; max-height: 380px; overflow-y: auto; }
.notif-bell__item { padding: 10px 14px; border-bottom: 1px solid #f2f2f2; cursor: pointer; }
.notif-bell__item:hover { background: #fafafa; }
.notif-bell__item.is-unread { background: #f4f9ff; }
.notif-bell__title { display: block; font-weight: 600; font-size: 13px; }
.notif-bell__body { display: block; margin-top: 2px; font-size: 12px; color: #666; }
.notif-bell__time { display: block; margin-top: 2px; font-size: 11px; color: #999; }
.notif-bell__all { display: block; padding: 10px; text-align: center; border-top: 1px solid #eee; font-size: 13px; }

/* Всплывающие сообщения: гаснут сами, нажимать не обязательно. */
.notif-toasts { position: fixed; top: 16px; right: 16px; z-index: 2000; display: flex; flex-direction: column; gap: 8px; }
.notif-toast { max-width: 320px; padding: 10px 14px; border-radius: 6px; background: #323232; color: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,.2); font-size: 13px; opacity: 1; transition: opacity .35s ease, transform .35s ease; }
.notif-toast span { display: block; margin-top: 3px; font-size: 12px; opacity: .85; }
.notif-toast.is-leaving { opacity: 0; transform: translateX(12px); }

/* Экран переписки в личном кабинете (docs/plans/chat-internal.md §18).
   Две колонки: список переписок и диалог. Кабинеты продавца и платформы
   собраны на Vue и имеют свой компонент — здесь легаси-раскладка. */
/* Заголовок и кнопка поддержки в одну строку: раньше кнопка стояла отдельным
   блоком под заголовком и висела в пустоте. */
.chat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.chat-head h1 { margin: 0; }
.chat { display: flex; gap: 16px; align-items: flex-start; }
.chat__inbox { width: 280px; flex: 0 0 280px; border: 1px solid #e5e5e5; border-radius: 6px; overflow: hidden; }
.chat__list { list-style: none; margin: 0; padding: 0; max-height: 480px; overflow-y: auto; }
.chat__item { padding: 10px 12px; border-bottom: 1px solid #f2f2f2; cursor: pointer; }
.chat__item:hover, .chat__item.is-active { background: #fafafa; }
.chat__item-subject { display: block; font-weight: 600; font-size: 13px; }
.chat__item-last { display: block; margin-top: 2px; font-size: 12px; color: #777;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat__item-time { display: block; margin-top: 2px; font-size: 11px; color: #999; }
.chat__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #337ab7; }
.chat__thread { flex: 1 1 auto; border: 1px solid #e5e5e5; border-radius: 6px; display: flex; flex-direction: column; min-height: 380px; }
.chat__subject { padding: 10px 14px; border-bottom: 1px solid #eee; font-weight: 600; }
.chat__messages { flex: 1 1 auto; padding: 14px; overflow-y: auto; max-height: 420px; }
.chat__empty { padding: 32px 14px; text-align: center; color: #888; margin: 0; }
.chat__msg { max-width: 80%; margin-bottom: 8px; padding: 8px 12px; border-radius: 8px; background: #f5f5f5; }
.chat__msg.is-mine { margin-left: auto; background: #e8f2fc; }
.chat__msg-body { display: block; white-space: pre-wrap; font-size: 13px; }
.chat__msg-time { display: block; margin-top: 2px; font-size: 11px; color: #999; }
/* Фон задан явно: витрина красит любой блок с ролью подвала, и строка
   отправки превращалась в зелёную полосу (замечание заказчика 2026-08-13). */
.chat__composer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #eee; align-items: flex-end;
    background: #fff; color: inherit; font-weight: 400; }
.chat__input { flex: 1 1 auto; resize: none; border: 1px solid #ddd; border-radius: 4px; padding: 8px 10px; font-size: 13px; }
/* Кнопка в палитре витрины, а не бутстраповская синяя. */
.chat__send { height: 38px; padding: 0 18px; border: 1px solid #A2CF41; border-radius: 50px;
    background: #A2CF41; color: #fff; font-size: 13px; font-weight: 500; cursor: pointer;
    transition: background-color .2s, color .2s; }
.chat__send:hover, .chat__send:focus { background: #fff; color: #A2CF41; outline: none; }
.chat__send[disabled] { opacity: .6; cursor: default; }
@media (max-width: 768px) {
    .chat { flex-direction: column; }
    .chat__inbox { width: 100%; flex: 1 1 auto; }
}

/* Тумблер: включено или выключено видно с одного взгляда.

   Кнопкой «Выключить …» такое состояние читается плохо — заказчик 05.09.2026:
   «ты думаешь эта кнопка здесь заметна?». Переключатель показывает и текущее
   положение, и то, что его можно менять, одной вещью. */
.nsp-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; margin: 0;
    font-weight: 400; user-select: none; }
.nsp-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.nsp-switch__track { position: relative; flex: 0 0 auto; width: 46px; height: 26px; border-radius: 13px;
    background: #ccc; transition: background-color .2s; }
.nsp-switch__track::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
    border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .3); transition: transform .2s; }
.nsp-switch input:checked + .nsp-switch__track { background: #A2CF41; }
.nsp-switch input:checked + .nsp-switch__track::after { transform: translateX(20px); }
.nsp-switch input:focus-visible + .nsp-switch__track { outline: 2px solid #A2CF41; outline-offset: 2px; }
.nsp-switch__label { font-size: 14px; color: #333; }
.nsp-switch input:disabled + .nsp-switch__track { opacity: .6; }

/* Сводка чекаута: итог, оплата своими деньгами и кнопка — в правой колонке,
   как на новых витринах (требование заказчика 05.09.2026). Липкая: на длинной
   форме итог обязан оставаться на виду, иначе человек вводит списание с
   кошелька, не видя, во что оно превратило сумму. */
.order-summary { position: sticky; top: 20px; }
.order-summary__row { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 14px; }
.order-summary__total { display: flex; justify-content: space-between; gap: 12px; align-items: baseline;
    margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; font-size: 16px; }
.order-summary__total b { font-size: 20px; color: #A2CF41; }
.order-summary__submit { margin-top: 14px; }
@media (max-width: 991px) {
    /* На узком экране колонки складываются, и липкость мешает: блок уезжает
       поверх формы. */
    .order-summary { position: static; }
}

/* Списания со счетов внутри сводки: одна карточка на все деньги заказа —
   суммы, списания, итог, кнопка (требование заказчика 05.09.2026, как на новых
   витринах). */
.order-summary__wallet { margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; }
.order-summary__wallet h4 { margin: 0 0 8px; font-size: 15px; }

/* Списания в сводке — тот же вид, что на новых витринах: подпись с доступной
   суммой одной строкой, поле во всю ширину, «макс» справа. */
.order-summary__subtitle { margin: 14px 0 6px; font-size: 14px; font-weight: 600; color: #333; }
.order-summary__label { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 400; color: #777; }
.order-summary__label strong { color: #333; }
.order-summary__field { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.order-summary__field .form-control { flex: 1 1 auto; min-width: 0; }
.order-summary__field .btn { flex: 0 0 auto; }
.order-summary__note { margin: 0 0 4px; font-size: 12px; line-height: 1.45; }
.order-summary__spheres { margin-top: 12px; }

/* Кнопка сводки — как на новых витринах: скруглённая, в палитре витрины, без
   заглавных букв (заказчик 05.09.2026: «дизайн 1:1 как на нуксте»). */
.order-summary__submit { border-radius: 999px; background: #A2CF41; border-color: #A2CF41;
    font-weight: 500; text-transform: none; }
.order-summary__submit:hover, .order-summary__submit:focus { background: #8bb238; border-color: #8bb238; }
/* Итог: сумма крупная и в цвете витрины, подпись обычная. */
.order-summary__total { font-size: 15px; }
.order-summary__total b { font-size: 22px; }

/* Промокод и условия в сводке — по образцу крупных площадок. */
.order-summary__promo { margin-bottom: 12px; }
.order-summary__terms { margin-top: 10px; font-size: 12px; color: #777; }
.order-summary__terms ul { margin: 4px 0 0; padding-left: 18px; }
.order-summary__terms a { color: #337ab7; }

/* Предупреждение о давней корзине: заметное, но не тревожное — оранжевая рамка
   вместо жёлтой заливки во всю ширину, и кнопка обновления рядом с текстом, а
   не отдельно над таблицей (заказчик 05.09.2026: «давай оформим красивее»). */
.cart-stale { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: 12px; margin-bottom: 16px; padding: 12px 16px;
    border: 1px solid #ff7f0b; border-radius: 8px; background: rgba(255, 127, 11, .06); }
.cart-stale__text { margin: 0; font-size: 14px; color: #333; }
.cart-stale__text span { color: #777; }
.cart-stale__action { flex: 0 0 auto; }

/* Позиция, требующая решения: подсвечена вместе со строкой действий. Проверка
   её не чинит — решает человек (решение заказчика 05.09.2026). */
tr.cart-row-issue > td { background: rgba(217, 83, 79, .06) !important; }
.cart-issue { display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    border-top: 0 !important; font-size: 13px; }
.cart-issue__text { color: #d9534f; }
