/*@import url(../font/iconmonstr-iconic-font.min.css);*/
/* RESPONSIVE */
body {
    min-width: 320px;
    max-width: 100vw;
    overflow-x: hidden;
}

.no-desktop {
    visibility: hidden;
}

#show-nav, #show-nav-styler {
    position: absolute !important;
    left: -10000px;
}
.showNav, .overlayNavBlock {
    display: none;
}
.mobile .speedLinkBlock {
    display: none !important;
}
/* Laptop L */
@media screen and (max-width: 1440px) {
    html.mobile {
        margin-top: 0 !important;
    }
    html.mobile #wpadminbar {
        display: none !important;
    }
    .mainNews .buttonBlock {
        margin: 25px 0 0;
    }
    .feedbackContacts {
        width: 68.5%;
        padding-right: 20px;
    }
    .topLine {
        padding: 5px 0;
    }
    .headerLine {
        padding: 15px 0;
    }
    .pageBlock {
        margin: 0 0 20px;
    }
    .pageBlock .mainCatList {
        margin: 0 0 20px;
    }
}
/* Laptop M */
@media screen and (max-width: 1280px) {
    body {
        padding: 0;
    }
    .topMain {
        margin: -141px 0 30px;
        padding: 160px 0 20px;
    }
    .mainInfoBlock {
        margin: 0 0 50px;
    }
    .catDescriptionBlock {
        margin: 30px 0;
    }
    .onePicking {
        padding: 20px 0;
    }
    .pickingList {
        margin-bottom: 20px;
    }
    .title {
        margin: 0 0 15px;
    }
    .title span {
        margin: 0 0 0 20px;
    }
    .path {
        margin: 0 0 10px;
    }
    .bestPosition {
        margin: 30px 0;
    }
    /*
    .addNav .owl-nav {
        display: none;
    }
    */
    .addNav .owl-next, .addNav .owl-prev {
        width: 50px;
        height: 100%;
        opacity: 1;
    }
    .addNav .owl-next {
        right: 0;
    }
    .addNav .owl-prev {
        left: 0;
    }
    .addNav .owl-next.disabled, .addNav .owl-prev.disabled {
        opacity: 0.1;
    }
    .pageTextBlock, .productDescription {
        margin: 30px 0;
    }
    .feedbackLine {
        margin: 30px 0 0;
    }
    .newsList {
        margin: 20px 0 0;
    }
    .contactsMap {
        margin: 0;
        position: relative;
    }
    .contactsMap .wr {
        padding: 0;
    }
    .contactsText {
        width: 50%;
        top: 0;
        right: 0;
        position: static;
        padding: 20px;
    }
    .contactsMap #map {
        width: 50%;
        height: 100%;
        left: 50%;
        position: absolute;
        top: 0;
        z-index: 10;
    }
    .contactsText p {
        margin: 0 0 15px;
    }
    .feedbackLine .feedbackOver {
        margin: 0;
    }
    .oneGroup {
        margin: 0 0 20px 20px;
    }
    .commentsBlock .overComment, .newsList .oneNews {
        padding: 20px;
    }
    .topNav a {
        margin-right: 15px;
    }
    .topMain .textBlock {
        flex-direction: column-reverse;
        align-items: flex-start;
        padding: 45px 20px 20px 20px;
    }
    .topMain .textBlock .text {
        max-width: 100%;
        margin: 0 0 10px;
    }
    .orderCalculationBlock {
        padding: 20px 0;
    }
    .orderCalculat .textBlock {
        margin: -50px 0 0;
    }
    .orderCalculat .textBlock {
        padding: 50px 20px 20px;
    }
    .orderCalculat .icon {
        display: none;
    }
    .bigCatList {
        margin: 20px 0;
    }
    .mainServiceBlock {
        padding: 30px 0;
    }
    .oneMainService {
        margin: 0 20px 0 0;
    }
    .bigPosition, .portfolioProducts {
        margin: 30px 0;
    }
    .bigPosition .info {
        margin: 0 0 0 48.8%;
        padding: 0 0 0 20px;
    }
    .propertyList {
        margin: 20px 0 0;
    }
    .portfolioSlides {
        margin: 0;
    }
    .portfolioSlides .name {
        margin-left: 56.5%;
        padding-left: 15px;
    }
    .mainNews {
        margin: 30px 0;
        padding: 30px 0;
    }
    .partnersLine {
        margin: 30px 0;
    }
    .partnersSlide {
        margin: 20px 0 0;
    }
    .onePartnres {
        margin: 0 10px;
    }
    .bestPositionCatBlock {
        margin: 30px 0;
    }
    .evidenceBlock {
        margin: 30px 0 0;
        padding: 20px 0 30px;
    }
    .evidenceBlock .name {
        margin: 0;
    }
    .mainMaps {
        padding: 30px 0;
        min-height: 50vw;
    }
    .oneMainService .name {
        margin: 0 0 10px;
    }
    .managerList {
        margin: 20px 0 0;
    }
    .minTitle {
        margin: 10px 0 15px;
    }
    .feedbackformBlock .stext {
        margin: 0 0 15px;
    }
    .feedbackformBlock {
        padding: 10px 20px 75px;
    }
    .feedbackForm {
        margin: 10px 0 0;
    }
    .feedbackForm > div {
        margin: 15px 0 0;
    }
    .feedbackForm label {
        padding: 0;
    }
    .feedbackForm .buttonBlock {
        margin: 15px 0 0;
    }
    .footer {
        margin: 15px 0 10px;
    }
    .copyBlock {
        margin: 5px 0 0;
    }
    .companyContactsList {
        padding: 20px 20px 20px 0;
        margin: 20px 0 10px;
    }
    .tabsNav label {
        padding-left: 10px;
        padding-right: 10px;
    }
    .pickingList {
        margin: 0 0 20px;
    }
    .onePicking:first-child {
        border-top: 0 none;
    }
    .onePicking .thumbPicking {
        width: 33%;
    }
    .onePicking .propertyPicking {
        display: none;
    }
    .onePicking .infoPicking {
        width: 67%;
        margin: 0;
        padding: 0 0 0 20px;
    }
    .orderCalculat .textBlock {
        padding-top: 40px;
    }
    .orderCalculat .text br {
        display: none;
    }
    .orderCalculat .buttonBlock {
        margin: 0 0 0 20px;
        text-align: center;
    }
    .orderCalculat .buttonBlock .button {
        margin: 10px 0 0;
        display: block;
    }
    .orderCalculat .buttonBlock .button:first-child {
        margin-top: 0;
    }
    .commentsBlock .overComment, .newsList .oneNews {
        padding: 15px;
    }
    .newsList .img {
        margin: 0 0 10px;
    }
    .newsList .oneNews .img {
        font-size: 0;
        padding: 69% 0 0;
    }
    .bestPositionCatLink .name {
        padding: 10px 0 0;
    }
    .newsList {
        margin: 0;
    }
    .newsList .date {
        margin: 0 0 5px;
    }
    .newsName {
        margin: 0 0 20px;
    }
    .projectPropertyList {
        margin: 20px 0;
    }
    .projectInfoText p {
        margin: 10px 0 0;
    }
    .projectTitle {
        margin: 0 0 10px;
    }
}
/* Laptop S */
@media screen and (max-width: 1024px) {
    .topLine .wr {
        padding: 0 15px;
    }
    .topNav a {
        margin-right: 7px;
    }
    .topSearch input[type="search"] {
        width: 160px;
    }
    .logo b {
        display: none;
    }
    .logo:before {
        border: 0 none;
    }
    .pageBlock .mainCatList {
        margin-left: -10px;
        margin-right: -10px;
    }
    .pageBlock .mainCatList {
        display: table;
        width: 100vw;
        width: calc(100vw - 20px);
        margin: 0 -10px 20px;
    }
    .pageBlock .mainCatList a {
        display: table-cell;
        width: auto;
        padding: 15px 1vw;
        position: relative;
        border-left: 5px solid #fff;
    }
    .pageBlock .mainCatList a:first-child {
        border-left: 0 none;
    }
    .home .mainCatList {
        border: 5px solid #fff;
        width: 100vw;
        width: calc(100vw - 40px);
    }
    .home .mainCatList a {
        width: 100%;
        border-left: 5px solid #fff;
        /*overflow: visible;*/
        padding-left: 7px;
        padding-right: 7px;
    }
    .home .mainCatList a:first-child {
        border-left: 0 none;
    }
    .mainInfoBlock {
        margin: 0 0 30px;
    }
    /*
    .bestPosition .img {
        float: none;
        width: auto;
        padding: 75.75% 0 0;
    }
    .bestPosition .info {
        margin: 10px 0 0;
    }
    .bestPosition .name {
        margin: 0 0 5px;
    }
    */
    .evidenceBlock .name {
        font-size: 36px;
    }
    .oneProductDescription {
        margin: 0 20px 0 0;
        padding: 0 0 0 68px;
        width: 33.3%;
    }
    .oneProductDescription .stext br {
        display: none;
    }
    .oneMainService {
        width: 33.3%;
    }
    .portfolioSlides .img {
        float: none;
        width: 68%;
    }
    .portfolioSlides .name {
        margin: 10px 0 0 15px;
    }
    .mainNewsList .img {
        font-size: 0;
        padding: 54% 0 0;
        margin: 0 0 10px;
    }
    .mainNewsList .date {
        margin: 0 0 5px;
    }
    .callLine a {
        display: block;
    }
    .oneManager .name, .oneManager .stext {
        padding-left: 10px;
        padding-right: 10px;
    }
    .oneManager .stext {
        line-height: 1.25;
    }
    .oneManager .stext a {
        display: block;
        margin: 10px 0 0;
    }
    .leftSide {
        width: 23%;
    }
    .leftSide + .page {
        margin-left: 23%;
        padding-left: 20px;
    }
    .smallCatList {
        margin: 0 0 7px;
    }
    .smallPosition {
        margin: 0 0 20px;
        width: 49%;
        padding: 0;
    }
    .smallPosition:nth-child(3n+1) {
        clear: none;
    }
    .smallPosition:nth-child(2n+1) {
        clear: left;
        margin-right: 2%;
    }
    .smallPosition:hover {
        background: var(--kam-surface);
        color: var(--kam-text);
    }
    .smallPosition:hover a, .smallPosition:hover .price {
        color: inherit;
    }
    .smallPosition:hover .smallInfoPos {
        display: none;
    }
    .catInfoBlock {
        overflow: visible;
    }
    .catInfoBlock .mediaBlock, .catInfoBlock .infoBlock {
        margin-bottom: 20px;
    }
    .catInfoBlock .mediaBlock {
        width: 50%;
    }
    .catInfoBlock .infoBlock {
        float: none;
        margin: 0 0 0 50%;
        padding: 0 0 0 20px;
        width: auto;
    }
    .catInfoBlock .catFormBlock {
        clear: both;
        width: auto;
        float: none;
        margin: 30px 0 0;
    }
    .catInfoBlock .feedbackformBlock {
        padding: 5px 15px 20px;
    }
    .catFormBlock .buttonBlock {
        text-align: left;
    }
    .feedbackForm label span {
        margin-left: 30px;
    }
    .pageNav {
        margin: 30px 0;
    }
    .companyContactsList > div {
        padding: 0 10px 0 0;
    }
    .companyContactsList br {
        display: none;
    }
    .bigPosition .propertyList {
        display: none;
    }
    .filterLine input[type="text"] {
        width: 100%;
    }
    input[type="text"], input[type="password"], input[type="tel"], input[type="email"], textarea {
        padding-left: 10px;
        padding-right: 10px;
    }
}
/* Prevent mobile/tablet pages from becoming wider than the viewport. */
@media screen and (max-width: 1023px) {
    html, body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }
    .home .topMain, .home .bestPosition, .home .bestPosition .owl-carousel, .home .bestPosition .owl-stage-outer {
        width: 100%;
        max-width: 100%;
    }
}
/* Tablet */
@media screen and (max-width: 768px) {
	body {
		padding-bottom: calc(68px + env(safe-area-inset-bottom));
	}
	.mobileConversionBar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 12000;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1px;
		padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
		background: rgba(15, 23, 42, 0.97);
		box-shadow: 0 -6px 18px rgba(15, 23, 42, 0.18);
	}
	.mobileConversionBar__link {
		display: flex;
		min-width: 0;
		min-height: 50px;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 2px;
		padding: 5px 4px;
		border: 0;
		border-radius: 8px;
		background: transparent;
		color: #f4f7fb;
		font-family: inherit;
		font-size: 11px;
		font-weight: 500;
		line-height: 1.15;
		text-align: center;
		text-decoration: none;
	}
	.mobileConversionBar__link span {
		font-size: 18px;
		line-height: 1;
	}
	.mobileConversionBar__link--primary {
		background: var(--kam-accent);
		color: var(--kam-text);
		font-weight: 700;
	}
	body.showMobileNav .mobileConversionBar {
		display: none;
	}
	.topMain .buttonBlock {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.topMain .buttonBlock .button {
		width: 100%;
		margin: 0;
	}
	.feedbackLine {
		padding-bottom: 4px;
	}
	section {
        overflow: hidden;
    }
    .topLine, .managerContacts, .feedbackLink, .companyContacts {
        display: none;
    }
    .blockScroll {
        overflow: hidden !important;
        max-width: 100vw;
    }
    .overlayNavBlock {
        background: rgba(255, 255, 255, 0.75);
        color: #000;
        overflow: hidden;
        position: absolute;
        right: 0;
        top: 0;
        min-height: 100vh;
        width: 0;
        display: block;
        z-index: 10000;
        -webkit-transition: all ease 0.3s;
        transition: all ease 0.3s;
        opacity: 0;
    }
    .overlayClose {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        left: 0;
        display: block;
    }
    .optionalNavBlock {
        background: #1B4F98;
        width: 100%;
        max-width: 300px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        overflow: auto;
        -webkit-transition: 0.2s ease-out 0.3s;
        transition: 0.2s ease-out 0.3s;
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        box-shadow: 0 0 20px rgba(0,0,0,0.25);
    }
    .showMobileNav .showNav:after {
        content: "\f335";
        color: #fff;
    }
    .showMobileNav jdiv .wrap_mW {
        display: none !important;
    }
    .showMobileNav .overlayNavBlock {
        width: 100%;
        -moz-opacity: 1;
        opacity: 1;
    }
    .showMobileNav .optionalNavBlock {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    .showNav {
        margin: 0;
        float: right;
        text-align: center;
        color: inherit;
        width: 60px;
        height: 60px;
        line-height: 1;
        display: block;
        font-size: 0;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 15000;
    }
    .showNav:after {
        content: "\f333";
        font-family: 'dashicons';
        font-size: 33px;
        line-height: 60px;
        -webkit-transition: color 0.5s ease-out;
        transition: color 0.5s ease-out;
    }
    .optionalLine {
        padding: 20px;
    }
    .optionalLine a {
        color: #fff !important;
    }
    .optionalLine.color a {
        color: #ffcc00 !important;
    }
    .optionalLine.blackLine {
        background: #000;
    }
    .optionalLine .logo:before {
        background: url("../img/logo-white.png") no-repeat !important;
    }
    .optionalLine .logo b {
        display: none;
    }
    .optionalLine.blackLine ul {
        margin: 15px 0 0;
        padding: 0;
        list-style: none;
        font-size: 14px;
        font-weight: bold;
        text-transform: uppercase;
        overflow: hidden;
    }
    .optionalLine.blackLine li {
        display: block;
        float: left;
        width: 50%;
    }
    .optionalLine.blackLine li a {
        color: #fff !important;
        display: block;
        padding: 5px;
        margin: 0 -5px;
    }
    .optionalLine .topSearch {
        margin: 15px 0 0;
    }
    .optionalLine .topSearch input[type="search"] {
        width: 100%;
    }
    .optionalLine .managerContacts, .optionalLine .feedbackLink, .optionalLine .companyContacts {
        display: block;
    }
    .optionalLine .feedbackLink {
        margin: 15px 0 0;
        text-align: center;
    }
    .optionalLine .feedbackLink .button {
        display: block;
    }
    .optionalLine .companyContacts {
        align-items: center;
        gap: 6px;
        min-width: 0;
        margin: 15px 0 0;
        padding: 15px 0 0;
        border-left: 0;
        text-align: center;
    }
    .optionalLine .companyContacts br {
        display: none;
    }
    .optionalLine .companyContacts a {
        white-space: normal;
    }
    .optionalLine .companyContacts a:last-child {
        font-size: 12px;
    }
    .overlayNavBlock {
        color: #fff;
    }
    .overlayNavBlock a {
        color: #fff;
    }
    .headerLine {
        padding: 10px 0;
    }
    .logo {
        margin: 0;
        line-height: 22px;
        height: 40px;
        overflow: hidden;
    }
    .logo:before {
        min-width: 115px;
        background-size: contain;
        background-position: 0 50%;
        height: 40px;
    }
    .logo b {
        display: inline;
    }
    .home .mainCatList {
        display: none;
    }
    .col-3, .col-4, .col-6 {
        max-width: 100%;
    }
    .col-6 {
        max-width: 100%;
        padding-bottom: 20px;
    }
    .bestPosition .onePosition {
        margin: 0 0 20px;
    }
    .evidenceBlock .wr {
        display: block;
    }
    .evidenceBlock .oneEvidence {
        display: flex;
        align-items: center;
        margin: 10px 0;
    }
    .evidenceBlock .name {
        margin: 0 10px 0 0;
        white-space: nowrap;
        font-size: 22px;
        line-height: 1.71;
    }
    .evidenceBlock .name span {
        font-size: 14px;
    }
    .evidenceBlock .stext br {
        display: none;
    }
    .productDescriptionList {
        display: block;
    }
    .oneProductDescription {
        margin: 15px 0;
        width: auto;
        padding-top: 7px;
    }
    .mainServiceList {
        display: block;
    }
    .oneMainService {
        width: auto;
        margin: 15px 0;
    }
    .oneMainService br {
        display: none;
    }
    .portfolioSlides .oneProduct .img {
        width: auto;
        padding: 70% 0 0;
    }
    .portfolioSlides .oneProduct:after {
        display: none;
    }
    .portfolioSlides .name {
        margin: 10px 0 0;
        padding: 0;
    }
    .mainNewsList {
        display: block;
    }
    .mainNewsList .oneNews {
        margin: 0 0 20px;
    }
    .feedbackformBlock {
        float: none;
        width: auto;
        padding: 10px 20px 30px;
        margin: 0 -20px;
    }
    .callLine {
        margin: 0 -20px;
    }
    .feedbackContacts {
        float: none;
        width: auto;
        margin: 0;
        padding: 0;
    }
    .companyContactsList {
        margin: 15px -20px;
        padding: 20px;
    }
    .fancybox-container .feedbackformBlock {
        margin-left: 0;
        margin-right: 0;
    }
    .pageBlock .mainCatList {
        display: none;
    }
    .path {
        margin: 10px 0;
    }
    .newsList .oneNews {
        width: 50%;
    }
    .newsList .oneNews:nth-child(4n+1) {
        clear: none;
    }
    .newsList .oneNews:nth-child(2n+1) {
        clear: left;
    }
    .commentsBlock .oneComment {
        width: 50%;
    }
    .commentsBlock .oneComment:nth-child(4n+1) {
        clear: none;
    }
    .commentsBlock .oneComment:nth-child(2n+1) {
        clear: left;
    }
    .rightSide {
        display: none;
    }
    .rightSide + .page {
        margin: 0;
    }
    .leftSide {
        display: none;
    }
    .leftSide + .page {
        margin: 0;
        padding: 0;
    }
    .wp-caption {
        max-width: 100%;
    }
    .pageNav a {
        display: block;
        text-align: center;
    }
    .projectRow + .projectRow {
        padding-top: 20px;
    }
    .oneGroup {
        width: calc(50% - 10px);
        margin: 0 0 20px 20px;
    }
    .oneGroup:first-child, .oneGroup:nth-child(3n+1) {
        clear: none;
        margin-left: 20px;
    }
    .oneGroup:first-child, .oneGroup:nth-child(2n+1) {
        clear: left;
        margin-left: 0;
    }
    .catInfoBlock .mediaBlock {
        width: auto;
        float: none;
        margin: 0 0 20px;
    }
    .catInfoBlock .infoBlock {
        margin: 0 0 20px;
        padding: 0;
    }
    .catDescriptionBlock .tabsNav label {
        margin: 0 0 4px;
        display: block;
    }
    .error404Block {
        padding: 0;
        background: transparent;
        width: auto;
        height: auto;
    }
    .error404Block br {
        display: none;
    }
}
/* Mobile */
@media screen and (max-width: 520px) {
    .title {
        font-size: 24px;
    }
    .topMain .textBlock {
        margin-top: -27px;
        padding-top: 35px;
    }
    .companyContactsList {
        display: block;
    }
    .companyContactsList > div {
        max-width: 100%;
        margin: 10px 0;
    }
    .companyContactsList > div:first-child {
        margin-top: 0;
    }
    .footer .leftBlock, .footer .rightBlock {
        float: none;
        text-align: center;
    }
    .footer .rightBlock {
        margin: 5px 0 0;
    }
    .contactsMap #map {
        position: static;
        height: 50vh;
        width: auto;
        left: 0;
    }
    .contactsText {
        position: relative;
        left: 0;
        width: auto;
    }
    .oneGroup .name {
        font-size: 18px;
        margin: 5px 0 0;
    }
    .orderCalculat .textBlock {
        display: block;
    }
    .orderCalculat .buttonBlock {
        margin: 15px 0 0;
    }
}
/* Mobile L */
@media screen and (max-width: 425px) {
    /*
    .logo b {
        display: none;
    }
    */
    .pageNav a span {
        max-width: 265px;
    }
}
/* Responsive UI layer. It follows the legacy breakpoints above intentionally. */
@media screen and (max-width: 1280px) {
    .wr {
        padding-left: 16px;
        padding-right: 16px;
    }
    .mainInfoBlock {
        margin-bottom: 108px;
    }
    .topMain {
        margin-bottom: 28px;
        padding-top: 210px;
    }
    .pageBlock {
        margin-bottom: 0;
    }
    .pageTextBlock, .portfolioProducts, .partnersLine, .feedbackLine, .productDescription, .bestPositionCatBlock, .mainNews {
        margin-top: 32px;
    }
    .bigCatList {
        margin-bottom: 72px;
    }
    .bigPosition {
        margin: 40px 0;
    }
    .feedbackLine .feedbackOver {
        margin-top: 20px;
    }
    .companyContactsList {
        padding-right: 20px;
    }
    .orderCalculat {
        grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
        gap: 14px;
    }
    .orderCalculat .textBlock {
        margin: 0;
        padding: 24px 22px 20px;
    }
    .orderCalculat .text {
        max-width: none;
        font-size: 15px;
    }
    .orderCalculat .buttonBlock {
        margin-left: 0;
    }
    .orderCalculat .buttonBlock .button {
        min-width: 168px;
    }
}
@media screen and (max-width: 1024px) {
    .pageBlock .mainCatList {
        display: flex;
        width: auto;
        margin: 0 0 18px;
    }
    .pageBlock .mainCatList a {
        display: block;
        width: auto;
        padding: 12px 10px;
    }
    .home .mainCatList {
        width: auto;
        border: 0;
    }
    .home .mainCatList a {
        width: auto;
        border-left: 0;
    }
    .leftSide {
        width: 24%;
    }
    .leftSide + .page {
        margin-left: 24%;
        padding-left: 16px;
    }
    .newsList, .catalogGroupsList, .smallCatList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bigPosition .img {
        width: 44%;
    }
    .bigPosition .info {
        margin-left: 46%;
    }
    .orderCalculat {
        grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
        gap: 16px;
    }
    .orderCalculat .textBlock {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        align-items: center;
        justify-content: space-between;
        margin: 0;
    }
    .orderCalculat .text {
        max-width: none;
    }
    .catInfoBlock .mediaBlock, .catInfoBlock .infoBlock {
        margin-bottom: 18px;
    }
    .feedbackLine .feedbackOver {
        display: block;
    }
    .feedbackContacts, .feedbackformBlock {
        float: none;
        width: auto;
    }
    .orderCalculat .buttonBlock {
        justify-content: flex-start;
    }
    .companyContactsList {
        flex-wrap: wrap;
        padding: 20px 18px;
    }
}
@media screen and (max-width: 768px) {
    .showNav {
        width: 56px;
        height: 56px;
    }
    .showNav:after {
        line-height: 56px;
        font-size: 30px;
    }
    .overlayNavBlock {
        background: rgba(15, 23, 42, 0.78);
        position: fixed;
        inset: 0;
        height: 100vh;
        min-height: 100vh;
        max-height: 100dvh;
    }
    .optionalNavBlock {
        background: #0f172a;
        max-width: 320px;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        height: 100vh;
        max-height: 100dvh;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .newsList, .catalogGroupsList, .smallCatList {
        grid-template-columns: 1fr;
    }
    .searchResultList .oneResult {
        align-items: flex-start;
    }
    .orderCalculationBlock {
        padding: 22px 0 28px;
    }
    .orderCalculat {
        display: block;
    }
    .orderCalculat .title {
        max-width: none;
        margin-bottom: 12px;
    }
    .orderCalculat .textBlock {
        display: block;
        margin: 0;
        padding: 24px 16px 18px;
    }
    .orderCalculat .title {
        padding-top: 0;
    }
    .orderCalculat .icon {
        display: none;
    }
    .orderCalculat .text {
        max-width: 100%;
        margin-bottom: 14px;
    }
    .orderCalculat .buttonBlock {
        width: 100%;
    }
    .pageNav a {
        display: block;
        text-align: center;
    }
    .pageNav span {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }
    .footer {
        justify-content: center;
        text-align: center;
    }
    .policy {
        justify-content: center;
    }
    .feedbackformBlock {
        margin-left: -16px;
        margin-right: -16px;
        padding: 12px 16px 28px;
    }
    .callLine {
        margin-left: -16px;
        margin-right: -16px;
        font-size: 22px;
        padding: 18px 10px;
    }
    .companyContactsList {
        display: block;
        margin: 15px -16px;
        padding: 18px 16px;
    }
    .companyContactsList > div {
        max-width: 100%;
        margin: 0 0 10px;
    }
    .oneGroup, .newsList .oneNews {
        padding: 16px;
    }
    .catInfoBlock .mediaBlock, .catInfoBlock .infoBlock {
        margin-bottom: 16px;
    }
    .tabsNav label {
        font-size: 11px;
        padding: 7px 10px;
    }
}
/* Desktop header: keep contacts compact and place the call button beside them. */
@media screen and (min-width: 1025px) {
    .headerLine {
        padding: 11px 0;
    }
    .headerLine .wr {
        gap: 18px;
    }
    .headerLine .logo {
        flex: 0 1 360px;
        min-width: 280px;
    }
    .headerLine .managerContacts {
        flex: 0 0 250px;
        line-height: 1.4;
    }
    .headerLine .feedbackLink {
        margin-left: auto;
        margin-right: 0;
        flex: 0 0 auto;
    }
    .headerLine .companyContacts {
        min-width: 245px;
        margin-left: 0;
        padding: 3px 0 3px 18px;
        gap: 2px;
    }
    .headerLine .companyContacts a {
        font-size: 21px;
        line-height: 1.1;
    }
    .headerLine .companyContacts a:last-child {
        font-size: 14px;
        line-height: 1.2;
    }
    .pageBlock .path {
        margin: 0 0 14px;
        padding: 2px 0 3px;
        line-height: 1.5;
    }
}
/* Keep the header contact stack balanced before the mobile menu takes over. */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .headerLine .logo {
        max-width: 290px;
    }
    .headerLine .companyContacts {
        min-width: 184px;
        padding-left: 16px;
    }
    .headerLine .companyContacts a {
        font-size: 16px;
    }
    .headerLine .companyContacts a:last-child {
        font-size: 11px;
    }
}
@media screen and (max-width: 1024px) {
    .topLine > .wr {
        gap: 16px;
    }
    .topLine > .wr > .rightBlock {
        flex-basis: 160px;
    }
    .topLine .topSearch {
        width: 160px;
    }
    .feedbackformBlock:empty, .feedbackformBlock:not(:has(*)) {
        min-height: 88px;
        margin-left: 0;
        margin-right: 0;
    }
}
@media screen and (max-width: 768px) {
    /* Keep catalog links available without squeezing five buttons into one row. */
    .pageBlock .mainCatList {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: auto;
        margin: 0 0 18px;
    }
    .pageBlock .mainCatList a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 0;
        min-height: 44px;
        padding: 10px 8px;
        border: 0;
        border-radius: 10px;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        line-height: 1.15;
    }
    .pageBlock .mainCatList a:first-child {
        border-left: 0;
    }
    .feedbackformBlock:empty, .feedbackformBlock:not(:has(*)) {
        min-height: 84px;
        margin-left: -16px;
        margin-right: -16px;
        padding: 18px 16px 18px 70px;
    }
    .feedbackformBlock:empty::before, .feedbackformBlock:not(:has(*))::before {
        left: 18px;
        width: 34px;
        height: 34px;
    }
    .feedbackformBlock:empty::after, .feedbackformBlock:not(:has(*))::after {
        font-size: 14px;
    }
}
@media screen and (max-width: 520px) {
    .title {
        font-size: 24px;
    }
    .mainInfoBlock {
        margin-bottom: 28px;
    }
    .topMain .textBlock {
        margin-top: -27px;
        padding: 24px 16px 18px;
    }
    .topMain .textBlock .text {
        max-width: 100%;
    }
    .orderCalculat {
        display: block;
    }
    .orderCalculat .title {
        max-width: none;
        padding-top: 0;
        margin-bottom: 10px;
    }
    .orderCalculat .text {
        font-size: 15px;
        line-height: 1.5;
    }
    .orderCalculat .buttonBlock .button {
        width: 100%;
        min-width: 0;
    }
    .pageNav a span {
        max-width: none;
        white-space: normal;
    }
    .bigPosition .img, .bigPosition .info {
        float: none;
        width: auto;
        margin-left: 0;
    }
    .bigPosition .img {
        padding-top: 68%;
    }
    .priceBlock .price {
        font-size: 20px;
    }
    .oneGroup .name {
        font-size: 18px;
        margin-top: 8px;
    }
    .searchResultList .oneResult {
        flex-direction: column;
    }
    .searchResultList .img {
        width: 100%;
        flex-basis: auto;
        padding-top: 56%;
    }
    .footer {
        gap: 8px;
    }
    .footer .leftBlock, .footer .rightBlock {
        width: 100%;
        text-align: center;
    }
    .choice-city {
        padding: 18px 16px;
    }
}
/* Mobile navigation: show the existing menu as a readable single column. */
@media screen and (max-width: 768px) {
    .optionalNavBlock .siteNav {
        margin-top: 18px;
    }
    .optionalNavBlock .topNav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        overflow: visible;
    }
    .optionalNavBlock .topNav li {
        float: none;
        width: auto;
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }
    .optionalNavBlock .topNav li:first-child {
        border-top: 0;
    }
    .optionalNavBlock .topNav a {
        display: block;
        margin: 0;
        padding: 10px 0;
        line-height: 1.25;
        white-space: normal;
    }
    /* Keep the catalog as a separate accent action, like a mobile catalog drawer. */
    .optionalNavBlock .topNav > .menu-item-catalog-mega {
        margin-bottom: 12px;
        border-top: 0;
    }
    .optionalNavBlock .topNav > .menu-item-catalog-mega > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 14px;
        border-radius: 10px;
        background: #ffcc00;
        color: #111827 !important;
        font-weight: 500;
        letter-spacing: 0.01em;
    }
    .optionalNavBlock .topNav > li:not(.menu-item-catalog-mega) {
        border-top: 1px solid rgba(255, 255, 255, 0.16);
    }
    .optionalNavBlock .topNav > li:not(.menu-item-catalog-mega) > a {
        padding: 11px 4px;
        color: #fff !important;
        font-weight: 400;
    }
    .optionalNavBlock .topSearch {
        margin-top: 18px;
    }
    .optionalNavBlock .topSearch .search-field {
        min-height: 40px;
        height: 40px;
    }
    /* Keep the dynamic catalog usable in the narrow navigation panel. */
    .optionalNavBlock .topNav > .menu-item-catalog-mega > .catalogMegaMenu {
        position: static;
        width: auto;
        max-width: none;
        max-height: none;
        height: auto;
        overflow: visible;
        margin: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        display: none;
        visibility: hidden;
        transform: none;
        opacity: 0;
        pointer-events: none;
    }
    /* Mobile catalog uses separate drill-down screens instead of the desktop grid. */
    .optionalNavBlock .catalogMegaMenu__layout {
        display: none;
    }
    .optionalNavBlock.catalogMobileMenu--active .topNav > li:not(.menu-item-catalog-mega), .optionalNavBlock.catalogMobileMenu--active .topSearch, .optionalNavBlock.catalogMobileMenu--active > .optionalLine.color {
        display: none;
    }
    .optionalNavBlock.catalogMobileMenu--active .topNav {
        display: block;
    }
    .optionalNavBlock.catalogMobileMenu--active .siteNav {
        margin-right: -20px;
        margin-left: -20px;
    }
    .optionalNavBlock.catalogMobileMenu--active .topNav > .menu-item-catalog-mega {
        margin: 0;
    }
    .optionalNavBlock.catalogMobileMenu--active .topNav > .menu-item-catalog-mega > a {
        display: none;
    }
    .optionalNavBlock.catalogMobileMenu--active .topNav > .menu-item-catalog-mega > .catalogMegaMenu {
        display: block;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        background: #0f172a;
    }
    .optionalNavBlock .catalogMobileMenu {
        display: none;
        margin: 0;
        background: #0f172a;
        color: #fff;
    }
    .optionalNavBlock.catalogMobileMenu--active .catalogMobileMenu {
        display: block;
    }
    .catalogMobileMenu__screen[hidden] {
        display: none;
    }
    /* Let the parent menu handle scrolling instead of clipping the active screen. */
    .optionalNavBlock .catalogMobileMenu__screen {
        overflow: visible;
        background: #0f172a;
    }
    .optionalNavBlock.catalogMobileMenu--active .catalogMobileMenu {
        padding-bottom: 0;
    }
    .optionalNavBlock .catalogMobileMenu__screen.is-active {
        padding-bottom: 48px;
        padding-bottom: calc(48px + env(safe-area-inset-bottom));
    }
    .catalogMobileMenu__header {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        align-items: center;
        gap: 8px;
        min-height: 58px;
        padding: 8px 20px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    }
    .catalogMobileMenu__back, .catalogMobileMenu__close {
        width: 38px;
        height: 38px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        font-size: 30px;
        font-weight: 300;
        line-height: 1;
        cursor: pointer;
    }
    .catalogMobileMenu__back[disabled] {
        color: rgba(255, 255, 255, 0.28);
        cursor: default;
    }
    .catalogMobileMenu__back:focus-visible, .catalogMobileMenu__close:focus-visible {
        outline: 2px solid #ffcc00;
        outline-offset: 2px;
    }
    .optionalNavBlock .catalogMobileMenu .catalogMobileMenu__title {
        display: block;
        min-width: 0;
        width: auto;
        margin: 0;
        padding: 0;
        color: #fff !important;
        font-size: 21px;
        font-weight: 500;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
    }
    .optionalNavBlock .catalogMobileMenu .catalogMobileMenu__title--medium {
        font-size: 19px;
        letter-spacing: 0.01em;
    }
    .optionalNavBlock .catalogMobileMenu .catalogMobileMenu__title--long {
        font-size: 17px;
        letter-spacing: 0;
    }
    .optionalNavBlock .optionalLine.blackLine .catalogMobileMenu__items {
        margin: 0;
        padding: 0;
        list-style: none;
        font-size: 15px;
        font-weight: 400;
        text-transform: none;
        overflow: visible;
    }
    .optionalNavBlock .catalogMobileMenu .catalogMobileMenu__item {
        float: none;
        width: auto;
        border-top: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }
    .optionalNavBlock .catalogMobileMenu .catalogMobileMenu__link {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) 22px;
        align-items: center;
        gap: 12px;
        min-height: 68px;
        padding: 10px 20px;
        color: #fff !important;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.3;
        text-decoration: none !important;
    }
    .catalogMobileMenu__link:hover, .catalogMobileMenu__link:focus-visible {
        color: #ffcc00 !important;
    }
    .catalogMobileMenu__image {
        display: block;
        width: 52px;
        height: 52px;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 8px;
        background: #f7f8fa center / cover no-repeat;
    }
    .catalogMobileMenu__link-text {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .catalogMobileMenu__arrow {
        color: rgba(255, 255, 255, 0.62);
        font-size: 30px;
        font-weight: 300;
        line-height: 1;
        text-align: right;
    }
    .catalogMobileMenu__link:hover .catalogMobileMenu__arrow, .catalogMobileMenu__link:focus-visible .catalogMobileMenu__arrow {
        color: #ffcc00;
    }
    .catalogMobileMenu__empty {
        margin: 0;
        padding: 22px 20px;
        color: rgba(255, 255, 255, 0.72);
        font-size: 14px;
        line-height: 1.45;
    }
    .optionalNavBlock .topNav > .menu-item-catalog-mega.is-open > .catalogMegaMenu {
        display: block;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
    .optionalNavBlock .catalogMegaMenu__layout {
        display: none;
        height: auto;
        min-height: 0;
        max-height: none;
    }
    .optionalNavBlock .catalogMegaMenu__sidebar {
        margin-bottom: 14px;
        padding: 8px 12px 10px;
        border: 1px solid rgba(255, 204, 0, 0.32);
        border-radius: 8px;
        background: rgba(15, 27, 45, 0.72);
    }
    .optionalNavBlock .catalogMegaMenu__categories {
        padding: 0;
    }
    .optionalNavBlock .catalogMegaMenu__category {
        border-top: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    }
    .optionalNavBlock .catalogMegaMenu__category:last-child {
        border-bottom: 0;
    }
    .optionalNavBlock .catalogMegaMenu .catalogMegaMenu__category-link, .optionalNavBlock .catalogMegaMenu .catalogMegaMenu__category.is-active > .catalogMegaMenu__category-link {
        margin: 0;
        padding: 10px 8px;
        background: transparent;
        color: #fff !important;
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.015em;
        line-height: 1.3;
        transition: background-color 0.16s ease, color 0.16s ease, padding-left 0.16s ease;
    }
    .optionalNavBlock .catalogMegaMenu__category-link:hover, .optionalNavBlock .catalogMegaMenu__category-link:focus-visible {
        background: rgba(255, 204, 0, 0.08);
        color: #ffcc00 !important;
    }
    .optionalNavBlock .catalogMegaMenu__category.is-active > .catalogMegaMenu__category-link {
        padding-left: 12px;
        background: rgba(255, 204, 0, 0.14);
        box-shadow: inset 3px 0 0 #ffcc00;
        color: #ffcc00 !important;
    }
    .optionalNavBlock .catalogMegaMenu__content {
        display: none;
        padding: 14px 0 0;
        overflow: visible;
    }
    .optionalNavBlock .catalogMegaMenu.catalogMegaMenu--has-selection .catalogMegaMenu__content {
        display: block;
    }
    .optionalNavBlock .catalogMegaMenu__products {
        display: block;
    }
    .optionalNavBlock .catalogMegaMenu__product {
        padding: 10px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
    }
    .optionalNavBlock .catalogMegaMenu__product-link {
        color: #fff !important;
        font-size: 14px;
    }
    .optionalNavBlock .catalogMegaMenu__product-image {
        width: 100%;
        max-width: 160px;
        aspect-ratio: 1 / 0.78;
        margin-bottom: 8px;
    }
    .optionalNavBlock .catalogMegaMenu__panel-title {
        margin-bottom: 14px;
        color: #fff !important;
        font-size: 22px;
    }
    .optionalNavBlock .catalogMegaMenu__cards {
        display: block;
    }
    .optionalNavBlock .catalogMegaMenu__card {
        padding: 10px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.14);
    }
    .optionalNavBlock .catalogMegaMenu__card-title, .optionalNavBlock .catalogMegaMenu__card-links a, .optionalNavBlock .catalogMegaMenu__empty-link {
        color: #fff !important;
    }
    .optionalNavBlock .catalogMegaMenu__card-title {
        font-size: 14px;
    }
    .optionalNavBlock .catalogMegaMenu__card-image {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
    }
    .optionalNavBlock .catalogMegaMenu__card-links {
        margin-top: 8px;
        padding-left: 12px;
        border-left: 1px solid rgba(255, 255, 255, 0.22);
    }
    .optionalNavBlock .catalogMegaMenu__card-links a, .optionalNavBlock .catalogMegaMenu__empty-link {
        padding: 5px 0;
        font-size: 13px;
    }
}
/* Keep the content full-width after the desktop sidebar is hidden. */
@media screen and (max-width: 768px) {
    .leftSide + .page, .rightSide + .page {
        margin: 0;
        padding-left: 0;
        padding-right: 0;
        width: auto;
    }
    .smallPosition {
        width: auto;
        margin: 0;
    }
    .smallPosition:nth-child(2n+1) {
        margin-right: 0;
    }
    .title span {
        display: block;
        max-width: 100%;
        margin-left: 0;
        padding-left: 0;
        overflow-wrap: anywhere;
    }
    .title span::before, .title span::after {
        display: none;
    }
}
/* Two readable columns keep long catalog pages compact on phones. */
@media screen and (max-width: 520px) {
    .smallCatList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 12px;
    }
    .smallPosition .img {
        border-radius: 12px;
    }
    .smallPosition .name {
        padding-top: 8px;
        font-size: 14px;
        line-height: 1.3;
    }
    .smallPosition .presence {
        margin-top: 8px;
    }
    .smallPosition .presence span {
        padding: 4px 7px;
        border-width: 1px;
        border-radius: 999px;
        font-size: 10px;
    }
    .smallPosition .priceBlock .price {
        font-size: 17px;
        line-height: 1.25;
    }
    .smallPosition .priceBlock .oldPrice {
        font-size: 12px;
    }
}
/* Match the compact card spacing on tablet and mobile layouts. */
@media screen and (max-width: 1024px) {
    .smallPosition {
        float: none;
        width: auto;
        margin: 0;
        padding: 10px;
        border: 1px solid var(--kam-border);
        border-radius: 12px;
        background: var(--kam-surface);
    }
    .smallPosition:nth-child(2n+1) {
        margin-right: 0;
    }
    .smallPosition .img {
        border-radius: 10px;
    }
    .smallPosition .name {
        padding-top: 8px;
        line-height: 1.3;
    }
    .smallPosition .presence {
        margin-top: 8px;
    }
    .smallPosition .priceBlock {
        margin-top: 6px;
    }
}
@media screen and (max-width: 520px) {
    .smallPosition {
        padding: 8px;
    }
    .smallPosition .name {
        min-height: 36px;
        font-size: 14px;
    }
}
/* Make the existing recommended-products carousel readable on phones. */
@media screen and (max-width: 768px) {
    .bestPosition {
        margin: 28px 0 30px;
        max-width: 100%;
        overflow-x: hidden;
    }
    .home .topMain {
        max-width: 100%;
        overflow-x: hidden;
    }
    .bestPosition .owl-carousel, .bestPosition .owl-stage-outer {
        max-width: 100%;
        overflow-x: hidden;
    }
    .bestPosition .title {
        margin-bottom: 12px;
    }
    .bestPosition .owl-stage-outer {
        border-radius: 14px;
    }
    .bestPosition .onePosition {
        display: grid;
        grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
        gap: 14px;
        align-items: center;
        margin: 0;
        padding: 10px;
        border: 1px solid var(--kam-border);
        border-radius: 14px;
        background: var(--kam-surface);
    }
    .bestPosition .img {
        float: none;
        width: auto;
        padding-top: 72%;
        border-radius: 10px;
    }
    .bestPosition .info {
        margin: 0;
        min-width: 0;
    }
    .bestPosition .name {
        margin: 0 0 8px;
        font-size: 16px;
        line-height: 1.3;
    }
    .bestPosition .price {
        font-size: 18px;
        line-height: 1.25;
    }
    .bestPosition .owl-prev, .bestPosition .owl-next {
        top: 50%;
        width: 32px;
        height: 32px;
        padding: 0;
        border-radius: 50%;
        background: rgba(244, 247, 251, 0.92);
        transform: translateY(-50%);
        z-index: 2;
    }
    .bestPosition .owl-prev {
        left: 4px;
    }
    .bestPosition .owl-next {
        right: 4px;
    }
    .bestPosition .owl-prev svg, .bestPosition .owl-next svg {
        height: 18px;
    }
}
/* Use the full viewport for the phone navigation drawer. */
@media screen and (max-width: 575px) {
    .optionalNavBlock {
        width: 100vw;
        max-width: none;
    }
}
/* Keep the homepage hero title readable at narrow phone widths. */
@media screen and (max-width: 520px) {
    .home .topMain .title {
        margin-bottom: 14px;
        font-size: clamp(24px, 7.2vw, 30px);
        line-height: 1.08;
        letter-spacing: 0.02em;
    }
    .home .topMain .title span {
        display: block;
        max-width: 100%;
        margin: 0;
        padding: 0;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }
    .home .topMain .textBlock {
        margin-top: 0;
        padding: 20px 16px 18px;
        border-width: 2px;
    }
}
/* Keep the mobile footer content inside the page container. */
@media screen and (max-width: 768px) {
	.bigCatList {
		gap: 18px;
		margin-bottom: 48px;
	}
	.bigCatList .bigPosition {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 12px;
		border-radius: 14px;
	}
	.bigCatList .bigPosition .img {
		height: auto;
		padding-top: 68%;
		border-radius: 11px;
	}
	.bigCatList .bigPosition .info {
		padding: 2px 4px 6px;
	}
	.bigCatList .bigPosition .namePosition {
		font-size: clamp(20px, 6vw, 25px);
	}
	.bigCatList .bigPosition .priceBlock {
		margin-top: 10px;
	}
	.pageBlock .mainCatList {
		display: none;
	}
	.pageBlock > .wr > .newsList {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.pageBlock > .wr > .newsList .oneNews {
		width: auto;
		float: none;
		padding: 14px;
	}
	.pageBlock > .wr > .newsList .img {
		padding-top: 56.25%;
		margin-bottom: 12px;
	}
	.pageBlock > .wr > .newsList .date {
		font-size: 16px;
		margin-bottom: 6px;
	}
	.pageBlock > .wr > .newsList .name {
		font-size: 16px;
		line-height: 1.35;
	}
	.catInfoBlock .catFormBlock {
		padding-left: 8px;
		padding-right: 8px;
	}
	.catInfoBlock .priceNotice {
		margin-top: 12px;
		padding: 11px 12px;
		font-size: 12px;
	}
	.catInfoBlock .catFormBlock .feedbackformBlock {
		padding-left: 18px;
		padding-right: 18px;
	}
    .feedbackLine {
        margin-top: 32px;
    }
    .feedbackLine .feedbackOver {
        margin: 0;
    }
    .feedbackLine .feedbackformBlock, .feedbackLine .callLine, .feedbackLine .companyContactsList {
        margin-left: 0;
        margin-right: 0;
    }
    .feedbackLine .feedbackformBlock {
        min-height: 84px;
        padding: 24px 16px 20px;
        border-radius: 14px;
    }
    .feedbackLine .feedbackformBlock:not(:empty) .minTitle {
        margin-bottom: 10px;
        font-size: 22px;
    }
    .feedbackLine .feedbackformBlock:not(:empty) .stext {
        margin-bottom: 18px;
        font-size: 12px;
    }
    .feedbackLine .feedbackformBlock:not(:empty) .feedbackForm {
        gap: 10px;
    }
    .feedbackLine .feedbackformBlock:not(:empty) .feedbackForm textarea {
        min-height: 112px;
    }
    .feedbackLine .feedbackformBlock:not(:empty) .feedbackForm label {
        font-size: 11px;
    }
    .feedbackLine .feedbackContacts {
        width: auto;
        padding: 0;
    }
    .feedbackLine .callLine {
        margin-top: 12px;
        padding: 16px 12px;
        border-radius: 14px;
        font-size: clamp(18px, 5.2vw, 22px);
        line-height: 1.25;
    }
    .feedbackLine .companyContactsList {
        margin-top: 12px;
        margin-bottom: 0;
        padding: 16px;
        border-radius: 14px;
        gap: 12px;
    }
    .feedbackLine .companyContactsList > div {
        max-width: none;
        margin: 0;
    }
    .feedbackLine .footer {
        margin: 18px 0 0;
        padding: 14px 0 0;
        border-top: 1px solid var(--kam-border);
    }
    .feedbackLine .policy {
        gap: 8px;
        margin-top: 10px;
        line-height: 1.4;
    }
    .feedbackLine .policy a {
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    .catalogPagination {
        margin: 22px 0 32px;
    }
    .catalogPagination ul.page-numbers {
        gap: 6px;
    }
    .catalogPagination .page-numbers {
        min-width: 42px;
        min-height: 42px;
        padding: 8px 10px;
    }
}

/* Keep the single-news layout readable on phones. */
@media screen and (max-width: 768px) {
    .pageBlock .newsText {
        margin-top: 20px;
        padding: 20px 16px 22px;
        border-radius: 14px;
    }
    .pageBlock .newsName {
        font-size: clamp(22px, 7vw, 28px);
    }
    .pageBlock .newsText .text {
        font-size: 16px;
        line-height: 1.6;
    }
    .pageBlock .pageNav {
        margin-top: 20px;
    }
    .pageBlock .pageNav > span {
        width: 100%;
    }
    .pageBlock .pageNav > span > a {
        flex: 1 1 100%;
        justify-content: center;
        text-align: center;
    }
}

/* Keep the city selector usable on small screens. */
@media screen and (max-width: 768px) {
    .choice-city {
        position: fixed;
        top: 12px;
        left: 12px;
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 24px);
        padding: 22px 16px 18px;
        border-radius: 16px;
        transform: none;
    }

    .choice-city__header {
        margin-right: 36px;
        font-size: 22px;
    }

    .choice-city__header2 {
        margin-right: 36px;
        margin-bottom: 16px;
        font-size: 18px;
    }

    .city-list.row {
        display: block;
        max-height: calc(100dvh - 150px);
        padding-right: 4px;
    }

    .city-list.row .col-3 {
        margin: 0;
    }

    .choice-city a {
        padding: 9px 8px;
        font-size: 12px;
    }

    .choice-city__close {
        top: 21px;
        right: 16px;
    }
}

/* Keep the mobile drawer attached to the viewport and avoid redundant gaps. */
@media screen and (max-width: 768px) {
    .headerLine.fromTop {
        transform: none !important;
    }

    .overlayNavBlock {
        width: 100vw;
    }

    .optionalNavBlock {
        inset: 0;
        width: 100%;
        max-width: none;
    }

    .optionalLine {
        padding: 16px;
    }

    .optionalNavBlock .siteNav,
    .optionalNavBlock .topSearch {
        margin-top: 0;
    }

    .optionalNavBlock .topSearch {
        margin-top: 10px;
    }

    .optionalLine .feedbackLink {
        margin-top: 12px;
    }

    .optionalLine .companyContacts {
        margin-top: 12px;
        padding-top: 12px;
    }
}
