
/* css/brands-modern.css */
/**
 * Бренды — современный UI (catbrands.php / brands/index.html).
 */
:root {
    --brands-accent: #e91e63;
    --brands-accent-hover: #c2185b;
    --brands-accent-soft: #fce4ec;
    --brands-text: #111827;
    --brands-muted: #6b7280;
    --brands-border: #e5e7eb;
    --brands-surface: #ffffff;
    --brands-bg: #f9fafb;
    --brands-radius: 16px;
    --brands-radius-sm: 12px;
    --brands-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
    --brands-transition: 0.2s ease;
}

body.brands-page .brands-page__top {
    margin: 0 0 16px;
}

body.brands-page .brands-page__top .cbreadcrumbs {
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--brands-muted);
}

body.brands-page .brands-page__top .cbreadcrumbs a {
    color: var(--brands-muted);
    text-decoration: none;
}

body.brands-page .brands-page__top .cbreadcrumbs a:hover {
    color: var(--brands-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.brands-page .brands-page__layout {
    display: grid;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

body.brands-page .brands-page__sidebar {
    float: none !important;
    width: auto !important;
}

body.brands-page .brands-page__panel {
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--brands-border);
    border-radius: var(--brands-radius);
    background: var(--brands-surface);
    box-shadow: var(--brands-shadow);
    overflow: hidden;
}

body.brands-page .brands-page__panel .lbl-hdr-in {
    margin: 0;
    padding: 14px 16px;
    border-bottom: 1px solid var(--brands-border);
    background: var(--brands-bg);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
}

body.brands-page .brands-page__panel .lbl-hdr-in span {
    display: block;
    padding-left: 0 !important;
    background: none !important;
    color: var(--brands-text);
}

body.brands-page .brands-page__panel .lbl-mid {
    padding: 10px 8px 14px !important;
}

body.brands-page .brands-page__panel .lbl-li {
    margin: 0 0 4px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--brands-text);
}

body.brands-page .brands-page__panel .lbl-li a {
    color: var(--brands-text);
    text-decoration: none;
    font-weight: 500;
}

body.brands-page .brands-page__panel .lbl-li a:hover {
    color: var(--brands-accent);
}

body.brands-page .brands-page__panel .lbl-li b,
body.brands-page .brands-page__panel .lbl-li {
    color: var(--brands-text);
}

body.brands-page .brands-page__panel--logos .lbl-mid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px !important;
}

body.brands-page .brands-page__sidebar-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 10px;
    border: 1px solid var(--brands-border);
    border-radius: var(--brands-radius-sm);
    background: #fff;
    transition: border-color var(--brands-transition), box-shadow var(--brands-transition), transform var(--brands-transition);
}

body.brands-page .brands-page__sidebar-logo:hover {
    border-color: #f8bbd0;
    box-shadow: 0 8px 20px rgba(233, 30, 99, 0.1);
    transform: translateY(-2px);
}

body.brands-page .brands-page__sidebar-logo img {
    display: block;
    max-width: 100%;
    max-height: 48px;
    width: auto;
    height: auto;
    margin: auto;
}

body.brands-page .brands-page__content {
    float: none !important;
    width: auto !important;
    min-width: 0;
}

body.brands-page .brands-page__main {
    min-width: 0;
}

body.brands-page .brands-page__title {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: none;
}

body.brands-page .brands-page__title::before,
body.brands-page .brands-page__title::after {
    display: none !important;
    content: none !important;
}

body.brands-page .brands-page__title span {
    display: block;
    padding: 0 !important;
    background: none !important;
    font-size: clamp(24px, 2.8vw, 32px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--brands-text);
    text-transform: none;
}

body.brands-page .brands-page__intro {
    margin: 0 0 24px;
    font-size: 15px;
    line-height: 1.65;
    color: #374151;
}

body.brands-page .brands-page__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 14px;
}

body.brands-page .brands-page__card {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 120px;
    padding: 16px 18px;
    border: 1px solid var(--brands-border);
    border-radius: var(--brands-radius);
    background: var(--brands-surface);
    box-shadow: var(--brands-shadow);
    transition: border-color var(--brands-transition), box-shadow var(--brands-transition), transform var(--brands-transition);
}

body.brands-page .brands-page__card:hover {
    border-color: #f8bbd0;
    box-shadow: 0 12px 32px rgba(233, 30, 99, 0.1);
    transform: translateY(-2px);
}

body.brands-page .brands-page__card-logo {
    flex: 0 0 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 88px;
    padding: 8px;
    border-radius: var(--brands-radius-sm);
    background: var(--brands-bg);
}

body.brands-page .brands-page__card-logo img {
    display: block;
    max-width: 100%;
    max-height: 72px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.brands-page .brands-page__card-body {
    flex: 1 1 auto;
    min-width: 0;
}

body.brands-page .brands-page__card-title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

body.brands-page .brands-page__card-title a {
    color: var(--brands-text);
    text-decoration: none;
}

body.brands-page .brands-page__card-title a:hover {
    color: var(--brands-accent);
}

body.brands-page .brands-page__card-meta {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--brands-muted);
}

body.brands-page .brands-page__detail {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

body.brands-page .brands-page__detail-head {
    display: grid;
    grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    padding: 20px;
    border: 1px solid var(--brands-border);
    border-radius: var(--brands-radius);
    background: var(--brands-surface);
    box-shadow: var(--brands-shadow);
}

body.brands-page .brands-page__detail-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    padding: 16px;
    border-radius: var(--brands-radius-sm);
    background: var(--brands-bg);
}

body.brands-page .brands-page__detail-logo img {
    display: block;
    max-width: 100%;
    max-height: 120px;
    width: auto;
    height: auto;
    object-fit: contain;
}

body.brands-page .brands-page__detail-desc {
    font-size: 15px;
    line-height: 1.65;
    color: #374151;
}

body.brands-page .brands-page__detail-desc p {
    margin: 0 0 12px;
}

body.brands-page .brands-page__detail-desc p:last-child {
    margin-bottom: 0;
}

body.brands-page .brands-page__cats {
    padding: 20px;
    border: 1px solid var(--brands-border);
    border-radius: var(--brands-radius);
    background: var(--brands-surface);
    box-shadow: var(--brands-shadow);
}

body.brands-page .brands-page__cats-title {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--brands-text);
    font-style: normal;
}

body.brands-page .brands-page__cat-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 8px 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.brands-page .brands-page__cat-item {
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.45;
    background: var(--brands-bg);
    transition: background var(--brands-transition);
}

body.brands-page .brands-page__cat-item:hover {
    background: var(--brands-accent-soft);
}

body.brands-page .brands-page__cat-item a {
    color: var(--brands-text);
    font-weight: 600;
    text-decoration: none;
}

body.brands-page .brands-page__cat-item a:hover {
    color: var(--brands-accent);
}

body.brands-page .brands-page__cat-item span {
    color: var(--brands-muted);
    font-weight: 500;
}

@media (min-width: 801px) {
    body.brands-page .brands-page__sidebar {
        position: sticky;
        top: 12px;
        align-self: start;
        max-height: calc(100vh - 24px);
        overflow: auto;
        scrollbar-width: thin;
    }
}

@media (max-width: 800px) {
    body.brands-page .brands-page__layout {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    body.brands-page .brands-page__sidebar {
        order: 2;
    }

    body.brands-page .brands-page__content {
        order: 1;
    }

    body.brands-page .brands-page__grid {
        grid-template-columns: 1fr;
    }

    body.brands-page .brands-page__detail-head {
        grid-template-columns: 1fr;
    }

    body.brands-page .brands-page__panel--logos .lbl-mid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.brands-page .brands-page__card {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }

    body.brands-page .brands-page__card-logo {
        width: 100%;
        flex-basis: auto;
    }

    body.brands-page .brands-page__panel--logos .lbl-mid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* css/sidebar-menu-modern.css */
/**
 * Единая боковая навигация «Vezi» / MAIN_MENU на всех страницах.
 */
:root {
    --side-nav-accent: #e91e63;
    --side-nav-text: #111827;
    --side-nav-muted: #6b7280;
    --side-nav-border: #e5e7eb;
    --side-nav-surface: #ffffff;
    --side-nav-bg: #f9fafb;
    --side-nav-radius: 16px;
}

.left-cont .lbl:not(.lbl-bord):has(> .lbl-hdr-in):has(> .lbl-mid) {
    clear: both;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border: 1px solid var(--side-nav-border) !important;
    border-radius: var(--side-nav-radius);
    background: var(--side-nav-surface);
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.left-cont .lbl:not(.lbl-bord):has(> .lbl-hdr-in):has(> .lbl-mid) .lbl-hdr-in {
    margin: 0;
    padding: 14px 16px;
    border-bottom: 1px solid var(--side-nav-border);
    background: var(--side-nav-bg);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: none;
    position: static;
}

.left-cont .lbl:not(.lbl-bord):has(> .lbl-hdr-in):has(> .lbl-mid) .lbl-hdr-in span,
.left-cont .lbl:not(.lbl-bord):has(> .lbl-hdr-in):has(> .lbl-mid) .lbl-hdr-in .hdr-i {
    display: block;
    padding-left: 0 !important;
    background: none !important;
    color: var(--side-nav-text);
}

.left-cont .lbl .lbl-mid .lbl-li {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--side-nav-border) !important;
    border-radius: 0 !important;
    font-size: 14px;
    line-height: 1.45;
    color: var(--side-nav-text);
    background: none !important;
}

.left-cont .lbl .lbl-mid .lbl-li:last-child {
    border-bottom: 0 !important;
}

.left-cont .lbl .lbl-mid .lbl-li::before {
    content: "";
    flex: 0 0 auto;
    width: 5px;
    height: 5px;
    margin-top: 1px;
    border-right: 2px solid var(--side-nav-muted);
    border-bottom: 2px solid var(--side-nav-muted);
    transform: rotate(-45deg);
}

.left-cont .lbl .lbl-mid .lbl-li a {
    flex: 1 1 auto;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    font-weight: 500;
}

.left-cont .lbl .lbl-mid .lbl-li a:hover {
    color: var(--side-nav-accent);
}

.left-cont .lbl .lbl-mid .lbl-li:not(:has(a)),
.left-cont .lbl .lbl-mid .lbl-li:has(b) {
    font-weight: 600;
    color: var(--side-nav-accent);
}

.left-cont .lbl .lbl-mid .lbl-li:not(:has(a))::before,
.left-cont .lbl .lbl-mid .lbl-li:has(b)::before {
    border-color: var(--side-nav-accent);
}

.left-cont .lbl .lbl-mid .lbl-li b,
.left-cont .lbl .lbl-mid .lbl-li:not(:has(a)) > span {
    font-weight: 600;
    color: var(--side-nav-accent);
}

.left-cont .lbl:not(.lbl-bord):has(> .lbl-hdr-in):has(> .lbl-mid) .lbl-mid {
    padding: 8px 0 !important;
}

@media (max-width: 480px) {
    .left-cont .lbl .lbl-mid .lbl-li {
        padding: 10px 12px !important;
        font-size: 13px;
    }
}


/* js/fancybox2/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("/js/fancybox2/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("/js/fancybox2/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("/js/fancybox2/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("/js/fancybox2/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("/js/fancybox2/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("/js/fancybox2/fancybox_loading@2x.gif");
		background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
	}
}
