/*CSS Reset*/
* {
    margin: 0;
    padding: 0;
    outline: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
}

div.img > img {
    display: none;
}

/* remember to define focus styles! */
:focus {
    outline: 0;
}

.hide-mobile {
    display: block;
}

html {
    scroll-behavior: smooth;
}

body {
    line-height: 1.3;
    color: #333333;
    background-color: #FFFEFC;
    display: flex;
    flex-direction: column;
    min-height: 100dvh;

    margin: 0;
    padding: 0;
    font-family: 'Lora', serif;
}

ol, ul {
    list-style-position: inside;
    margin: 0;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: top
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
}

blockquote, q {
    quotes: "" "";
}

/* 	*, *:before, *:after {box-sizing: border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;}
*//*CSS Reset*//*Clearfix*/
.clearfix:before, .clearfix:after {
    content: "";
    display: table;
}

.clearfix:after {
    clear: both;
}

/* ie6-7 */
.clearfix {
    zoom: 1;
}

/*Clearfix*/

/* font-family: "RobotoRegular"; */
@font-face {
    font-family: "RobotoRegular";
    src: url("/fonts/RobotoRegular/RobotoRegular.eot");
    src: url("/fonts/RobotoRegular/RobotoRegular.eot?#iefix") format("embedded-opentype"), url("/fonts/RobotoRegular/RobotoRegular.woff") format("woff"), url("/fonts/RobotoRegular/RobotoRegular.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

/* font-family: "RobotoLight"; */
@font-face {
    font-family: "RobotoLight";
    src: url("/fonts/RobotoLight/RobotoLight.eot");
    src: url("/fonts/RobotoLight/RobotoLight.eot?#iefix") format("embedded-opentype"), url("/fonts/RobotoLight/RobotoLight.woff") format("woff"), url("/fonts/RobotoLight/RobotoLight.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

/* font-family: "RobotoMedium"; */
@font-face {
    font-family: "RobotoMedium";
    src: url("/fonts/RobotoMedium/RobotoMedium.eot");
    src: url("/fonts/RobotoMedium/RobotoMedium.eot?#iefix") format("embedded-opentype"), url("/fonts/RobotoMedium/RobotoMedium.woff") format("woff"), url("/fonts/RobotoMedium/RobotoMedium.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

/* font-family: "RobotoBold"; */
@font-face {
    font-family: "RobotoBold";
    src: url("/fonts/RobotoBold/RobotoBold.eot");
    src: url("/fonts/RobotoBold/RobotoBold.eot?#iefix") format("embedded-opentype"), url("/fonts/RobotoBold/RobotoBold.woff") format("woff"), url("/fonts/RobotoBold/RobotoBold.ttf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "RobotoItalic";
    src: url(fonts/Roboto-Italic.ttf);
}

@font-face {
    font-family: 'RobotoSlab';
    src: local('Roboto Slab Thin'), local('RobotoSlab-Thin'), url('/fonts/RobotoSlab/robotoslabthin.woff2') format('woff2'), url('/fonts/RobotoSlab/robotoslabthin.woff') format('woff'), url('/fonts/RobotoSlab/robotoslabthin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Slab';
    src: local('Roboto Slab Light'), local('RobotoSlab-Light'), url('/fonts/RobotoSlab/robotoslablight.woff2') format('woff2'), url('/fonts/RobotoSlab/robotoslablight.woff') format('woff'), url('/fonts/RobotoSlab/robotoslablight.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Slab';
    src: local('Roboto Slab Regular'), local('RobotoSlab-Regular'), url('/fonts/RobotoSlab/robotoslabregular.woff2') format('woff2'), url('/fonts/RobotoSlab/robotoslabregular.woff') format('woff'), url('/fonts/RobotoSlab/robotoslabregular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Slab';
    src: local('Roboto Slab Bold'), local('RobotoSlab-Bold'), url('/fonts/RobotoSlab/robotoslabbold.woff2') format('woff2'), url('/fonts/RobotoSlab/robotoslabbold.woff') format('woff'), url('/fonts/RobotoSlab/robotoslabbold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed Light'), local('RobotoCondensed-Light'), url('/fonts/RobotoCondensed/Robotocondensedlight.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondensedlight.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondensedlight.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed Light Italic'), local('RobotoCondensed-LightItalic'), url('/fonts/RobotoCondensed/Robotocondensedlightitalic.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondensedlightitalic.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondensedlightitalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed'), local('RobotoCondensed-Regular'), url('/fonts/RobotoCondensed/Robotocondensed.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondensed.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondensed.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed Italic'), local('RobotoCondensed-Italic'), url('/fonts/RobotoCondensed/Robotocondenseditalic.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondenseditalic.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondenseditalic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'), url('/fonts/RobotoCondensed/Robotocondensedbold.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondensedbold.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondensedbold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Roboto Condensed';
    src: local('Roboto Condensed Bold Italic'), local('RobotoCondensed-BoldItalic'), url('/fonts/RobotoCondensed/Robotocondensedbolditalic.woff2') format('woff2'), url('/fonts/RobotoCondensed/Robotocondensedbolditalic.woff') format('woff'), url('/fonts/RobotoCondensed/Robotocondensedbolditalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}

.hidden {
    opacity: 0;
}

.visible {
    opacity: 1;
}

* {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box
}

a {
    color: #e9510e;
    text-decoration: underline;
    outline: none;
}

a:hover {
    text-decoration: none;
    cursor: pointer;
    color: #e9510e;
}

img {
    border: none;
}

.clear {
    clear: both;
}

strong, b {
    font-weight: bold;
}

h1, .h1 {
    font-family: 'Playfair Display', serif;
    color: #e9510e;
    margin: 10px 0;
    text-align: center;
    letter-spacing: 1px;
}

h1.left {
    text-align: center;
    margin: 20px;
    font-family: 'Playfair Display', serif;
    font-size: 42px;
    color: #62605D;
}

h1.black {
    color: #000
}

h2, .h2 {
    font-family: 'Lora', serif;
    color: #000;
    font-size: 25px;
    font-weight: bold;
    margin: 10px 0;
    text-align: center;
    letter-spacing: 1px;
    text-transform: uppercase;
}

h2 a {
    color: #0e76bc;
    text-decoration: none;
}

h2 a:hover {
    text-decoration: underline;
}

h3 {
    color: #444;
    font-size: 13px;
    display: block;
    margin: 0 0 20px 30px;
    font-weight: bold;
}

h3:before {
    font-family: FontAwesome;
    content: "";
    height: 23px;
    width: 19px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -3px 0 0 -27px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -49px -93px;
}


a.telLink,
button.telLink {
    text-decoration: none;
    color: #fff;
    margin-right: 35px;
}

#header {
    padding: 15px 0 5px;
    max-height: none;
    height: auto;
    width: 100%;
    backdrop-filter: blur(3px);
    border: 1px solid rgb(255, 255, 255, 0.2);
}

.header {
    max-width: 1170px;
    margin: 0 auto;
    color: #fff;
    height: auto;
}

/* Главная */

.index_page .header,
.index_page .header .tel a,
.index_page .header .tel button.telLink,
.index_page .header a.vk_soc:before,
.index_page .header a.tg_soc:before,
.index_page .header .tel a.telLink:before,
.index_page .header .tel button.telLink:before,
.index_page a.telLink {
    color: #fff;
}

.index_page #header {
    background: rgba(255, 255, 255, 0.15) !important;
    box-shadow: none;
}

/* Внутренние */
.category-block-inner .header,
.category-block-inner .header .tel a,
.category-block-inner .header .tel button.telLink,
.category-block-inner .header a.vk_soc:before,
.category-block-inner .header a.tg_soc:before,
.category-block-inner .header .tel a.telLink:before,
.category-block-inner .header .tel button.telLink:before,
.category-block-inner a.telLink,
.category-block-inner .topmenu ul li a,
.category-block-inner .topmenu_mobile ul li a,
.category-block-inner .catalogmenu_mobile a,
.category-block-inner .minibasket_mobile a {
    color: #62605D;
}

.category-block-inner #header {
    background-color: #F5F4F2;
}

.header .logo {
    display: inline-block;
    float: left;
    width: 18%;
}

.logo .logo_dark {
    display: none;
}

.index_page .logo .logo_light {
    display: inline-block;
}

.index_page .logo .logo_dark {
    display: none;
}

.category-block-inner .logo .logo_light {
    display: none;
}

.category-block-inner .logo .logo_dark {
    display: inline-block;
}

.header .logo a {
    width: 100%;
}

.header .logo a img {
    max-height: 90px;
    height: auto;
    width: 90%;
    margin: 0;
    padding: 0;
}

.header .slogan {
    display: inline-block;
    width: 43%;
    float: left;
    padding: 10px 0 0 0;
    font-family: 'Lora', serif;
}

.header .slogan p {
    padding: 5px 0;
    font-size: 0.75em /*9px*/;
    font-weight: normal;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.header .slogan p.hh {
    font-size: 1.5em /*19px*/;
    text-transform: uppercase;
    font-family: 'Lora', serif;
    font-weight: 600;
}

.header .tel {
    display: inline-block;
    float: right;
    width: 22%;
    padding: 0 20px 0 0;
    font-family: 'Lora', serif;
    text-align: right;
}

.header .tel b {
    display: block;
    font-size: 1.4em;
    padding: 0 0 8px 0;
    font-size: 22px;
}

.header .tel i {
    font-style: italic;
    font-size: 10px;
    letter-spacing: 3px;
}

.header .tel p {
}

.header .tel a,
.header .tel button.telLink {
    font-weight: normal;
    color: #fff;
    padding: 30px 0 0 0;
    display: inline-block;
    text-decoration: none;
    font-family: 'Lora', serif;
    font-size: 19px;
    border: none;
    position: relative;
}

.header .tel button.telLink {
    background: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    text-align: inherit;
    line-height: inherit;
}

.header .tel a::after,
.header .tel button.telLink::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;

    width: 100%;
    height: 1px;
    border-radius: 2px;

    background-color: currentColor;

    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.header .tel a:hover::after,
.header .tel button.telLink:hover::after {
    transform: translateX(-50%) scaleX(1);
}

.header .tel a.telLink:before,
.header .tel button.telLink:before {
    content: "\f095";
    font-family: FontAwesome;
    font-size: 22px;
    padding: 0 5px 0 0;
    vertical-align: middle;
    color: #fff; /*float:left;*/
}

.header .tel p {
}

.header-phone-modal {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    z-index: 9999;
    background: rgba(19, 18, 17, 0.45);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 20px;
    box-sizing: border-box;
    animation: phoneModalFadeIn 0.24s ease;
}

.header-phone-modal[hidden] {
    display: none !important;
}

.header-phone-modal__card {
    width: 100%;
    max-width: 360px;
    background: #F5F4F2;
    border-radius: 16px;
    padding: 34px 24px 24px;
    box-sizing: border-box;
    position: relative;
    margin: auto;
    box-shadow: 0 18px 48px rgba(16, 16, 16, 0.25);
    animation: phoneModalCardIn 0.24s ease;
}

.header-phone-modal__close {
    position: absolute;
    right: 14px;
    top: 12px;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    cursor: pointer;
}

.header-phone-modal__close span {
    position: absolute;
    left: 7px;
    top: 15px;
    width: 18px;
    height: 2px;
    background: #62605D;
}

.header-phone-modal__close span:first-child {
    transform: rotate(45deg);
}

.header-phone-modal__close span:last-child {
    transform: rotate(-45deg);
}

.header-phone-modal__title {
    margin: 0 0 18px;
    font-family: 'Lora', serif;
    font-size: 23px;
    line-height: 1.2;
    color: #62605D;
    text-align: center;
}

.header-phone-modal__link {
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 11px 12px;
    margin-bottom: 10px;
    border: 1px solid rgba(98, 96, 93, 0.2);
    border-radius: 12px;
    font-family: 'Lora', serif;
    font-size: 21px;
    color: #62605D;
}

.header-phone-modal__link:last-child {
    margin-bottom: 0;
}

html.header-phone-modal-open,
body.header-phone-modal-open {
    overflow: hidden;
}

@keyframes phoneModalFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes phoneModalCardIn {
    from {
        opacity: 0;
        transform: translateY(14px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.header a.vk_soc:before, .header a.tg_soc:before {
    color: #fff;
    font-weight: normal;
    padding: 10px 0 0 0;
    display: inline-block;
}

.header .tel p a.inst_soc:before {
    color: #fff;
}


.header .minibasket {
    display: inline-block;
    float: right;
    width: 35px;
    height: 35px;
    margin: 23px 74px 0 0;
    padding: 0;
    background: url('/templates/ikra163/images/cart.png') no-repeat center center;
    background-size: 35px 35px;
    position: relative;

    transition: transform 0.2s ease;
}

.category-block-inner .header .minibasket {
    background-image: url('/templates/ikra163/images/cart_dark.png');
}

.header .minibasket:hover {
    transform: translateY(-1px) scale(1.02);
}

.header .minibasket a {
    font-weight: bold;
}

/* Счётчик товаров в корзине.
   Число из %total-amount% отдаётся в скрытый .basket_info_summary — этот узел
   нужен нетронутым: по классу его находит существующий basket.js и переписывает
   текст при добавлении/удалении товара через AJAX ("3 шт. ", "В корзине нет
   ни одного товара." и т.п.) Трогать этот текст форматированием нельзя — он
   не наш, разных видов и без единого формата. Вместо этого рядом стоит
   .basket-badge, которую синхронизирующий скрипт (inc.footer.tpl) держит
   в чистом виде: только число, без лишнего текста. */
#basket .basket_info_summary {
    /* атрибут hidden в разметке уже скрывает узел; дублируем это здесь
       на случай, если его в шаблоне когда-нибудь уберут при правке —
       иначе текст вроде «В корзине нет ни одного товара.» на миг
       вылезет рядом с иконкой до того, как отработает синхронизация */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.basket-badge {
    display: none;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;

    position: absolute;
    top: -3px;
    right: -6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;

    background: #E95A0C;
    border-radius: 999px;
    box-shadow: 0 1px 3px rgba(20, 16, 13, 0.35);

    color: #FFFEFC;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
}

.basket-badge.is-visible {
    display: flex;
}

#basket {
    width: 30px;
    height: 30px;
    position: relative;
}

#basket > a {
    display: block;
    width: 30px;
    height: 30px;
}

.topmenu {
    max-width: 1200px;
    max-height: 50px;
    margin: 10px auto 0;
    padding: 0;
    text-align: center;
    font-family: 'Lora', serif;
}

.topmenu ul {
    float: none;
    display: inline-block;
    padding: 0;
    margin: 0 auto;
}

.topmenu ul li {
    list-style: none;
    padding: 0px;
    margin: 0;
    display: inline-block
}

.topmenu ul li a {
    text-decoration: none;
    font-size: 1.15em;
    color: #fff;
    text-transform: uppercase;
    display: inline-block;
    margin: 6px 35px 10px; /*20px 45px*/;
    padding: 5px 0;
    letter-spacing: 0.07em;

    position: relative;
}

.topmenu ul li a::after {
    content: "";
    position: absolute;
    bottom: 0;

    width: 100%;
    height: 1px;
    border-radius: 2px;

    background-color: currentColor;

    left: 50%;
    transform: translateX(-50%) scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.topmenu ul li:hover a::after,
.topmenu ul li.active a::after {
    transform: translateX(-50%) scaleX(1);
}

.category-block-inner .topmenu ul li a {
    color: #62605D;
}

.topmenu_mobile {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0;
    font-family: 'Lora', serif;
    display: none;
}


.header_menu {
    display: none;
}

.index_page {
    flex: 1;
    min-height: 100dvh;
    position: relative;
    background-image: url('/templates/ikra163/images/index_header_bg.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.index_page::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.06);
    pointer-events: none;
}

.index_page > * {
    position: relative;
    z-index: 1;
}

.index_page #header {
    background: none;
    box-shadow: none;
}

.index_page #navibar {
    display: none;
}

.index_page .header_menu {
    display: block;
    height: 1px;
    border: none;
    border-collapse: collapse;
    background-color: #fff;
    opacity: 0.3;
}

.index_page h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    text-shadow: -4px 4px 5px rgba(0, 0, 0, 0.2);
    font-size: 4em;
    text-align: center;
    color: #fff;
    margin: 130px auto 10px;
}

.index_page h2 {
    font-family: 'Lora', serif;
    font-weight: normal;
    font-size: 1em;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    padding: 10px 0 10px 0;
}

.index_page h2 a {
    text-decoration: none;
    color: #FFF;
}

.index_page h2 a:hover {
    color: #e9510e;
}

.index_page a.butcatalog {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px auto 10px;
    width: 220px;
    height: 75px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    box-shadow: -4px 4px 5px rgba(0, 0, 0, 0.2);
    background-color: rgba(222, 222, 222, 0.4);
    font-family: 'Lora', serif;
    font-size: 28px;
    font-weight: 400;
    text-decoration: none;
    color: #fff;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.index_page a.butcatalog:hover {
    transform: translateY(-2px) translateX(1px);
    box-shadow: -6px 6px 10px rgba(0, 0, 0, 0.25);
}

.scroll-down {
    position: absolute;
    bottom: 15px;
    left: 50%;

    width: 25px;
    height: 25px;
    background: url('/templates/ikra163/images/down_arrow.png') no-repeat center;
    background-size: contain;
    display: block;

    transition: transform 0.2s ease;
}

.scroll-down:hover {
    transform: translateY(4px) scale(1.02);
}

#menu {
    background-color: #000;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.22);
    z-index: 10;
    position: relative;
}

.menu {
    max-width: 1170px;
    margin: 0 auto;
}

.menu ul {
    display: table;
    width: 100%;
    text-align: center;
}

.menu ul li {
    display: table-cell;
    transition: all 0.2s linear 0s;
}

.menu ul li:hover, .menu ul li.active {
    background-color: #f3de7a;
    background-image: linear-gradient(to bottom, #f3de7a 0px, #bc8931 100%);
    border-bottom-color: #bc8931;
    border-top-color: #f3de7a;
    border-width: 1px 0;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
    transition: all 0.2s linear 0s;

}

.menu ul li:hover a, .menu ul li.active a {
    color: #262626;
}

.menu ul li a {
    text-decoration: none;
    color: #fff;
    display: block;
    font: bold 15px/18px "Arial", sans-serif;
    padding: 17px 11px 20px;
    text-transform: uppercase;
}


#navibar {
    border-bottom: #eeeff2 1px solid;
    font-family: 'Lora', serif;
    background-color: #fff;
}

.navibar {
    color: #e9510e;
    max-width: 1170px;
    margin: 20px auto;
    display: none;
}

.navibar i:before {
    content: "\f0da";
    font-family: FontAwesome;
    font-size: 13px;
    margin: 0 15px;
    vertical-align: middle;
    color: #454545
}

.navibar a {
    color: #454545;
    text-decoration: none;
}

.navibar a:hover {
    color: #e9510e;
}


.index-top-slider {
    text-align: center;
    margin: 30px 0;
}

.img-slider {
    height: 250px;
}

.img-slider a {
    margin: 10px;
}

.img-slider a img {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 10px;
    border-radius: 10px;
    width: auto;
    max-height: 100%;
    max-width: 90%;
}


#content-slider-2 {
    display: block
}

#content-slider-1 {
    display: none
}

.index_banner {
    width: 100%;
    text-align: center;
}

.index_banner a {
    display: inline-block;
    width: 780px;
    margin: 20px auto;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 10px;
    border-radius: 10px;
    overflow: hidden;
}


#content {
}

.content {
    max-width: 1170px;
    margin: 0 auto;
    padding: 10px 0 20px;
}

.content > .rightColumn {
    display: inline-block;
    float: right;
    width: 78%;
}

.content > .leftColumn {
    display: inline-block;
    float: left;
    width: 21%;
}

.content > .leftColumn ul {
    list-style: none
}

.content > .leftColumn ul ul {
    padding: 0 0 0 15px;
}

.content h2 {
    display: none;
}

.content > .leftColumn h3 {
    color: #2b2b2b;
    font-size: 20px;
    margin: 20px auto;
    text-transform: uppercase;
    font-family: 'Lora', serif;
}

.content > .leftColumn h3:before {
    background: none;
    display: none;
}

.content > .leftColumn > hr {
    width: 70px;
    margin: 2px 0 10px 0;
    height: 2px;
    text-align: left;
    display: inline-block;
    background-color: #e9510e;
    border: none;
}

.content hr.cl1 {
    width: 100%;
    margin: 20px 0;
    height: 27px;
    text-align: center;
    display: block;
    border: none;
    background: url('/templates/ikra163/images/hr_1.png') no-repeat top center transparent
}

.content hr.cl2 {
    width: 100%;
    margin: 20px 0;
    height: 27px;
    text-align: center;
    display: block;
    border: none;
    background: url('/templates/ikra163/images/hr_2.png') no-repeat top center transparent
}

.content .descr_h1 {
    margin: 10px 0 20px 0;
}


.leftColumn .innermenu {
}

.leftColumn .innermenu > div {
    color: #000;
    font-size: 18px;
    text-align: left;
    text-transform: uppercase;
    padding: 0 0 10px 0;
}

.leftColumn .innermenu li {
    list-style: none;
    padding: 0;
    margin: 10px 0;
}

.leftColumn .innermenu li a {
    display: inline-block;
    padding: 5px 0;
    margin: 0 0 0 25px;
    overflow: hidden;
    color: #000;
    font-size: 18px;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Lora', serif;
}

.leftColumn .innermenu li a:before {
    content: "";
    height: 25px;
    width: 21px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: 0 0 0 -30px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: 0px 20px;
}

.leftColumn .innermenu li:hover a, .leftColumn .innermenu li.active a {
    color: #dd3216;
}

.leftColumn .innermenu li:hover a:before, .leftColumn .innermenu li.active a:before {
    color: #dd3216;
}

.leftColumn .innermenu li#id496 a:before, .leftColumn .innermenu li#id551 a:before, .leftColumn .innermenu li#id1931 a:before, .leftColumn .innermenu li#id2020 a:before {
    background-position: -2px 0px;
}

.leftColumn .innermenu li.active#id496 a:before, .leftColumn .innermenu li:hover#id496 a:before, .leftColumn .innermenu li.active#id551 a:before, .leftColumn .innermenu li:hover#id551 a:before, .leftColumn .innermenu li.active#id1931 a:before, .leftColumn .innermenu li:hover#id1931 a:before, .leftColumn .innermenu li:hover#id2020 a:before {
    background-position: -27px 0px;
}

.leftColumn .innermenu li#id585 a:before {
    background-position: -2px -26px;
}

.leftColumn .innermenu li.active#id585 a:before, .leftColumn .innermenu li:hover#id585 a:before {
    background-position: -27px -26px;
}

.leftColumn .innermenu li#id617 a:before, .leftColumn .innermenu li#id2623 a:before, .leftColumn .innermenu li#id2625 a:before {
    background-position: -4px -49px;
}

.leftColumn .innermenu li.active#id617 a:before, .leftColumn .innermenu li:hover#id617 a:before, .leftColumn .innermenu li.active#id2623 a:before, .leftColumn .innermenu li:hover#id2623 a:before, .leftColumn .innermenu li.active#id2625 a:before, .leftColumn .innermenu li:hover#id2625 a:before {
    background-position: -29px -49px;
}

.leftColumn .innermenu li#id645 a:before {
    background-position: -4px -72px;
}

.leftColumn .innermenu li.active#id645 a:before, .leftColumn .innermenu li:hover#id645 a:before {
    background-position: -29px -72px;
}

.leftColumn .innermenu li#id670 a:before {
    background-position: -2px -95px;
}

.leftColumn .innermenu li.active#id670 a:before, .leftColumn .innermenu li:hover#id670 a:before {
    background-position: -27px -95px;
}

.leftColumn .innermenu li#id1896 a:before {
    background-position: -2px -95px;
}

.leftColumn .innermenu li.active#id1896 a:before, .leftColumn .innermenu li:hover#id1896 a:before {
    background-position: -27px -95px;
}

.leftColumn .innermenu li#id1921 a:before {
    background-position: -4px -49px;
}

.leftColumn .innermenu li.active#id1921 a:before, .leftColumn .innermenu li:hover#id1921 a:before {
    background-position: -29px -49px;
}

.leftColumn .innermenu li#id2021 a:before, .leftColumn .innermenu li#id2028 a:before {
    background-position: -2px -25px;
}

.leftColumn .innermenu li.active#id2021 a:before, .leftColumn .innermenu li:hover#id2021 a:before, .leftColumn .innermenu li.active#id2028 a:before, .leftColumn .innermenu li:hover#id2028 a:before {
    background-position: -27px -25px;
}

.leftColumn .innermenu li#id710 a:before, .leftColumn .innermenu li#id1705 a:before {
    background-position: -3px -118px;
}

.leftColumn .innermenu li.active#id710 a:before, .leftColumn .innermenu li:hover#id710 a:before, .leftColumn .innermenu li.active#id1705 a:before, .leftColumn .innermenu li:hover#id1705 a:before {
    background-position: -28px -118px;
}

.leftColumn .innermenu li#id1263 a:before {
    background-position: -0px -25px;
}

.leftColumn .innermenu li.active#id1263 a:before, .leftColumn .innermenu li:hover#id1263 a:before {
    background-position: -25px -25px;
}


.leftColumn .innermenu li#id2626 a:before {
    background-position: -2px -95px;
}

.leftColumn .innermenu li.active#id2626 a:before, .leftColumn .innermenu li:hover#id2626 a:before {
    background-position: -27px -95px;
}


.leftColumn .innermenu li#id2215 a:before {
    background-position: -2px -25px;
}

.leftColumn .innermenu li.active#id2215 a:before, .leftColumn .innermenu li:hover#id2215 a:before {
    background-position: -27px -25px;
}


.leftColumn .innermenu li#id2622 a:before, .leftColumn .innermenu li#id2624 a:before {
    background-position: -3px -118px;
}

.leftColumn .innermenu li.active#id2622 a:before, .leftColumn .innermenu li:hover#id2622 a:before, .leftColumn .innermenu li.active#id2624 a:before, .leftColumn .innermenu li:hover#id2624 a:before {
    background-position: -28px -118px;
}


.leftColumn .brands {
}

.leftColumn .brands div {
    margin: 0 auto;
    vertical-align: middle;
}

.leftColumn .brands div a {
    width: 170px;
    display: inline-block;
    border: 3px solid #fff;
    margin: 7px;
    background-color: #fff;
    padding: 5px;
    vertical-align: middle;
}

.leftColumn .brands div a.active, .leftColumn .brands div a:hover {
    border: 3px solid #bc8931;
}

.leftColumn .brands div.active:after, .leftColumn .brands div:hover:after {
    content: "\f054";
    font-family: FontAwesome;
    font-size: 33px;
    margin-right: 0px;
    vertical-align: middle;
    color: #bc8931;
    margin: 0 0 0 -15px;
}

.leftColumn .brands div img {
    width: 100%;
    height: auto;
}

.content > .rightColumn h1 {
    color: #333;
    text-align: left;
}

.about-home {
    padding: 35px 0;
    margin-bottom: 15px;
    background: #FFFEFC;
}

.about-home__inner {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 20px;
}

.about-home__title {
    margin: 0 0 24px;
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: 64px;
    font-weight: 500;
    color: #62605D;
    text-transform: uppercase;
}

.about-home__lead {
    margin: 0 auto 48px;
    max-width: 900px;
    text-align: center;
    font-size: 20px;
    line-height: 1.5;
    color: #62605D;
}

.about-home__grid {
    display: flex;
    gap: 24px;
    align-items: stretch;
}

.about-home__col {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.about-home__col--left,
.about-home__col--right {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.about-home__col--left {
    gap: 24px;
}

.about-home__card--tall {
    flex: 1;
}

.about-home__col--right .about-home__card {
    height: 100%;
}

.about-home__card {
    background: #F5F4F2;
    border: 1px solid rgba(98, 96, 93, 0.15);
    border-radius: 15px;
    padding: 32px;
    color: #62605D;
    font-size: 18px;
    line-height: 1.45;

    transition: transform 0.2s ease, box-shadow 0.2s ease;
    will-change: transform;
    cursor: default;
}

.about-home__card:hover {
    transform: translateY(-6px) scale(1.01);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.about-home__card--tall {
    height: 100%;
}

.about-home__card p {
    margin: 0;
}

.about-home__card ul {
    margin: 18px 0 0 20px;
    padding: 0;
}

.about-home__card li {
    margin-bottom: 10px;
}

.partners {
    width: 100%;
    height: 100px;
}

.partners h3 {
    margin: 50px 0 5px 0;
}

.partners div {
    width: 21%;
    margin: 0 2%;
    display: inline-block;
    float: left;
    background-color: #fff;
    text-align: center;
}

.partners div img {
    height: 60px
}


.ul_dost li#a10636 {
    display: none;
}


#slider {
    height: 300px;
    overflow: hidden;
}

#slider .img {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

#slider > .img > img {
    width: 100%;
    margin: -200px 0 0 0;
}

.sliderIndex {
    height: 500px !important;
}

.sliderIndex .img {
    width: 100%;
    height: 500px !important;
    overflow: hidden;
}

.sliderIndex #catalog {
    margin: -600px auto 0
}

.sliderIndex > .img > img {
    width: 100%;
    margin: -200px 0 0 0;
}

#catalog {
    max-width: 1010px;
    margin: -400px auto 0;
    z-index: 100;
    position: relative;
}

#catalog > div {
    z-index: 100;
    position: relative;
}

#catalog .item {
    display: inline-block;
    float: left;
    width: 23%;
    margin: 1%;
    height: 215px;
    overflow: hidden;
}

#catalog .item a {
    border: 10px solid #fff;
    border-bottom: none;
    opacity: 0.8;
    display: inline-block;
    transition: all 0.2s linear;
}

#catalog .item a img {
    width: 100%;
}

#catalog .item span {
    position: relative;
    width: 100%;
    text-align: center;
    margin: -3px 0 0 0;
    padding: 4px 0;
    background-color: #fff;
    opacity: 0.8;
    display: block;
    text-decoration: none;
    font-family: 'Lora', serif;
    font-size: 18px;
    color: #000;
}

#catalog .item a:hover, #catalog .item:hover span {
    opacity: 1
}

#catalog .utp {
    margin: 138px 0 38px 0;
    text-align: center;
    font-size: 27px;
    font-weight: bold;
    color: #fff;
}

#catalog .utp p {
    padding: 10px 0;
}


table.brand_filtr {
    width: 100%;
}

table.brand_filtr td {
    width: 20%;
    vertical-align: middle;
}

table.brand_filtr td img {
    width: 90%;
}


.category-block {
    max-width: 1010px;
    margin: 00px auto 0;
}

.category-block ul li {
    display: table-cell;
    transition: all 0.2s linear 0s;
}

.category-block ul li:hover, .category-block ul li.active {
    transition: all 0.2s linear 0s;
}

ul.catalog_category2 {
    padding: 0;
    margin: 0;
    display: inline-block;
    float: left;
    width: 100%;
}

ul.catalog_category2 li {
    width: 30%;
    margin: 1%;
    padding: 0;
    list-style: none;
    display: inline-block;
    float: left;
}

ul.catalog_category2 li a {
    width: 100%;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

ul.catalog_category2 li a img {
    width: 100%;
    border: solid 1px #e9510e
}

ul.catalog_category2 li.active a img, ul.catalog_category2 li:hover a img {
    -moz-transform: scale(1.1); /* Для Firefox */
    -ms-transform: scale(1.1); /* Для IE */
    -webkit-transform: scale(1.1); /* Для Safari, Chrome, iOS */
    -o-transform: scale(1.1); /* Для Opera */
    transform: scale(1.1);
    transition: all 0.3s linear 0s;
}

ul.catalog_category2 li a b {
    background-color: #fff;
    color: #000;
    display: block;
    font-size: 15px;
    margin: -81px 0 49px 0;
    opacity: 0.9;
    padding: 5px;
}

ul.catalog_category2 li:hover a b, ul.catalog_category2 li.active a b {
    background-image: linear-gradient(to bottom, #ff590f 0px, #ca460c 100%);
    color: #fff;
    transition: all 0.2s linear 0s;
}

.category-block-inner {
}

/* Только списки категорий каталога — не хедер (.topmenu ul и т.д.) */
.category-block-inner ul.catalog_category > li,
.category-block-inner ul.catalog_category2 > li {
    height: 66px;
    overflow: hidden;
    margin-top: 0 !important;
}

.category-block-inner ul.catalog_category > li a img,
.category-block-inner ul.catalog_category2 > li a img {
    opacity: 0.4;
    margin: -95px 0 0 0;
    width: 100%;
}

.catalogList {
}

.catalogList .item {
    margin: 0.5%;
    padding: 4px;
    display: inline-block;
    float: left;
    width: 32%;
    height: 450px;
    overflow: hidden;
}

.catalogList .item .photo {
    height: auto;
    width: 100%;
    overflow: hidden;
    text-align: center;
    padding: 0;
    border: #ebecef solid 2px;
    background-color: #fff;
    -moz-border-radius: 100%;
    border-radius: 12% /*100%*/;
    margin: 0 auto;
    transition: all 0.2s ease;
}

.catalogList .item .photo a {
    display: inline-block;
    height: auto;
    width: 100%;
    min-height: 280px;
    background: url('/no_photo.jpg') no-repeat center center transparent;
}

.catalogList .item:hover .photo {
    border: #62605D solid 1px;
}

.catalogList .item .photo img {
    width: 100%;
    height: auto;
    float: none;
}

.catalogList .item a.title {
    display: block;
    text-align: center;
    margin: 10px auto 0;
    font-size: 16px;
    color: #62605D;
    text-decoration: none;
    height: 41px;
}


.catalogList .item .ves {
    font-size: 16px;
    display: block;
    text-align: center;
    color: #999;
}

.catalogList .item .ves i {
    font-size: 15px;
}

.catalogList .item .proizvoditel {
    font-size: 14px;
    display: block;
    text-align: center;
    color: #999;
}

.catalogList .item .tara {
    display: inline-block;
    float: right;
    width: 50%;
    text-align: center;
    font-size: 14px;
}

.catalogList .item > u {
    display: none;
}

.catalogList .item .price-basket {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 16px;
    padding: 10px 30px;
    margin: 10px 0;
    border-top: solid #eeeff2 1px;
    border-bottom: solid #eeeff2 1px;
}

.catalogList .item .price {
    display: inline-block;
    text-align: center;
    font-size: 20px;
    margin: 0;
    float: none;
    width: auto;
    white-space: nowrap;
    justify-self: start;
    text-align: left;
}

.catalogList .item .price i:before {
    content: " ₽";
    font-family: inherit;
    font-size: 1em;
    margin-left: 0;
    color: inherit;
}

.catalogList .item .basket {
    display: inline-block;
    text-align: right;
    float: none;
    width: auto;
    margin: 0;
    white-space: nowrap;
    justify-self: end;
}

.catalogList .item .basket a.non_basket {
    color: #e9510e;
    font-size: 15px;
    font-weight: normal;
    text-decoration: none;
    font-family: 'Lora', serif;
    text-transform: lowercase;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
    line-height: 1;
}

.catalogList .item .basket a.non_basket:before {
    font-family: FontAwesome;
    content: "\f067";
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.catalogList .item .basket a.non_basket:hover, .catalogList .item .basket a.non_basket:focus {
    color: #62605D;
}

.catalogList .item .basket a.non_basket:hover:before {
    color: #62605D;
}

.catalogList .item .basket a.in_basket {
    color: #62605D;
    font-size: 15px;
    font-weight: normal;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
    line-height: 1;
}

.catalogList .item .basket a.in_basket:before {
    font-family: FontAwesome;
    content: "\f291";
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.catalogList .item .status {
    text-align: center;
    padding: 0;
    font-family: 'Lora', serif;
    font-style: italic;
}

.catalogList .item .status span {
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.catalogList .item .status span.ok {
    color: #62605D;
}

.catalogList .item .status span.ok:before {
    font-family: FontAwesome;
    content: "\f00c";
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.catalogList .item .status span.no {
    color: #aaa;
}

.catalogList .item .status span.no:before {
    font-family: FontAwesome;
    content: "\f057";
    margin-right: 5px;
    display: inline-block;
    vertical-align: middle;
}

.catalogList .akciya {
}

.catalogList .akciya .price_block {
    color: #fff;
}

.catalogList .akciya .price_block b.price {
    background: url('/templates/ikra163/images/price_bg_akciya.png') no-repeat right top transparent;
}

.catalogList .akciya > u {
    height: 60px;
    width: 250px;
    display: inline-block;
    position: absolute;
    margin: 0;
    background: url('/templates/ikra163/images/cost-clear.png') no-repeat right top transparent;
    text-align: right;
    padding: 12px 4px 0 0;
    text-decoration: none;
    color: #fff;
    font-size: 1.5em;
}

.catalogList .akciya .price {
    color: #dd3216;
}

.catalogList .akciya .price > span {
    display: inline;
    font-size: 15px;
    color: #ccc;
}

.catalogList .akciya .price > span strike:after {
    content: "\f158";
    font-family: FontAwesome;
    font-size: 13px;
    margin-left: 3px;
    color: #ccc;
}

.catalogListIndex {
}

.catalogListIndex .item {
    margin: 0.5%;
    padding: 4px;
    display: inline-block;
    float: left;
    width: 24%;
    height: 450px;
    overflow: hidden;
}


.bgWhite {
    background-color: #fffefc;
}

table#order_block {
    border: 1px solid #ddd
}

table#order_block th {
    text-align: center;
    font-weight: bold;
    background-color: #ccc;
    padding: 10px;
    border: 1px solid #fff
}

table#order_block td {
    padding: 10px;
    border: 1px solid #ddd;
    vertical-align: middle;
}

table#order_block td a {
    color: #000;
    text-decoration: none;
}

table#order_block input.value_tovar {
    text-align: center;
    padding: 2px;
    width: 50px;
}

table#order_block a.delete {
    color: red
}

table#order_block td.photo {
    width: 100px !important;
}

table#order_block td.photo a {
    width: 100%;
}

table#order_block td.photo a img {
    width: 100%;
    height: auto
}


form.formBasket {
}

form.formBasket label:hover {
    cursor: pointer
}

form.formBasket h3 {
    padding: 10px;
    margin: 20px 0 5px 0;
    font-size: 18px;
    background-color: #ccc
}

form.formBasket ul {
    padding: 0 0 0 18px;
}

form.formBasket li {
    padding: 5px 0;
    font-size: 14px;
}

input.textinputs {
}

form.formBasket input#oneStepInputString {
    width: 90%;
    color: #aaa;
    margin: 0 5%;
}

table.adress, table.contacsUser {
    width: 50%;
}

table.adress td, table.contacsUser td {
    padding: 10px;
    width: 400px;
}

table.adress td input, table.contacsUser td input {
    padding: 5px;
    width: 100%;
}

table.adress td.title, table.contacsUser td.title {
    width: 200px;
    text-align: right;
    padding: 14px 0 0 0;
    font-size: 12px;
}

input.buttonBasket, a.buttonBasket {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin: 0;
    padding: 0px 10px;
    list-style: none !important;
    background-image: linear-gradient(to bottom, #37c493 0px, #2a9771 100%);
    background-color: #30ab80;
    color: #fff;
    display: inline-block;
    font-weight: normal;
    position: relative;
    text-decoration: none;
    border: 0;
    border-collapse: collapse;
    border: none;
    padding: 7px 15px;
}

input.buttonBasket:before {
    content: "\f290";
    font-family: FontAwesome;
    float: left;
    font-size: 20px;
    margin: 7px 10px 0 0;
    color: #000;
}

input.buttonBasket:hover, a.buttonBasket:hover {
    cursor: pointer;
    background-image: linear-gradient(to bottom, #30ab80 0px, #37c493 100%);
}

div.basket h3 {
    text-align: center;
}

.contentInner {
    background-color: #fffefc;
}

.docsBlock {
    margin: 0px 0 0 0;
}

.docsBlock div {
    width: 100%;
}

.docsBlock div a {
    display: inline-block;
    margin: 10px 20px;
}


ul.catalog_recepts {
    width: 100%
}

ul.catalog_recepts li {
    display: inline-block;
    float: left;
    width: 18%;
    margin: 0 1%;
}

ul.catalog_recepts li a {
    text-decoration: none;
    width: 100%;
    display: block;
    color: #000;
    text-align: center;
}

ul.catalog_recepts li a img {
    width: 100%;
    height: auto;
}

ul.catalog_recepts li a p {
}


.ItemFull {
    font-family: 'Lora', serif;
}

.ItemFull h3 {
    border-bottom: 2px solid #ccc;
    padding: 0 0 10px 0;
    margin: 40px 0 10px 0;
    font-size: 18px;
}

.ItemFull td.tdphoto {
    width: 50%;
    padding: 0 20px 0 0;
}

.ItemFull .tdphoto .photo, .ItemFull .tdphoto .photo a, .ItemFull .tdphoto .photo a img {
    width: 100%;
    height: auto;
    display: inline-block;
}

.ItemFull .photoSmall > a {
    width: 31%;
    margin: 0 1%;
    padding: 0;
    display: inline-block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.ItemFull .photoSmall > a img {
    width: 100%;
    height: auto;
}

.ItemFull .catalogItem .tdphoto > ul {
    display: none;
}

.ItemFull .akciya .tdphoto > u {
    height: 60px;
    width: 250px;
    display: inline-block;
    position: absolute;
    margin: 0;
    background: url('/templates/ikra163/images/cost-clear.png') no-repeat left top transparent;
    text-align: left;
    padding: 12px 0 0 3px;
    text-decoration: none;
    color: #fff;
    font-size: 1.5em;
}

.ItemFull .akciyaBlock {
    font-size: 28px;
    font-family: 'Lora', serif;
    display: inline-block;
    padding: 10px 0;
}

.ItemFull .akciyaBlock strike {
    display: inline-block;
    color: #808080;
    font-size: 18px;
    font-weight: normal;
}

.ItemFull .akciyaBlock strike:after {
    content: "\f158";
    font-family: FontAwesome;
    margin-left: 1px;
    font-weight: normal;
    font-size: 15px;
    color: #808080;
}

.ItemFull .akciyaBlock span.price {
    display: inline-block;
    color: #e9510e;
    font-weight: normal;
    margin: 0 10px
}

.ItemFull .akciyaBlock span.price:after {
    content: "\f158";
    font-family: FontAwesome;
    margin-left: 5px;
    font-size: 20px;
    font-weight: normal;
    color: #e9510e;
}

.ItemFull div.price {
    display: inline-block;
    color: #000;
    font-weight: normal;
    margin: 0 10px;
    font-size: 28px;
    font-family: 'Lora', serif;
    padding: 10px 0;
}

.ItemFull div.price:after {
    content: "\f158";
    font-family: FontAwesome;
    margin-left: 5px;
    font-size: 20px;
    font-weight: normal;
    color: #000;
    padding: 10px 0;
}

.ItemFull .status {
    text-align: center;
    padding: 0;
    font-family: 'Lora', serif;
    font-style: italic;
    display: inline-block;
    margin: 12px 0 0 45px;
    padding: 10px 0;
    vertical-align: top;
    width: 130px;
    text-align: left;
}

.ItemFull .status span {
    margin: 0 -27px 0 0
}

.ItemFull .status span.ok {
    color: #62605D;
}

.ItemFull .status span.ok:before {
    font-family: FontAwesome;
    content: "";
    height: 23px;
    width: 19px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -3px 0 0 -27px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -51px -52px;
}

.ItemFull .status span.no {
    color: #aaa;
}

.ItemFull .status span.no:before {
    font-family: FontAwesome;
    content: "";
    height: 23px;
    width: 19px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -3px 0 0 -27px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -51px -73px;
}


.ItemFull .ves {
    background-color: #f7f7f7;
    display: inline-block;
    padding: 10px 30px 15px 10px;
    font-size: 13px;
    margin: 0 10px 10px 0;
}

/* единица измерения дописывается только тем блокам, где вес заполнен;
   класс проставляет скрипт в подвале — иначе у товаров без веса
   получилось бы «Вес:  г» */
.ves--has-value::after {
    content: " г";
}

.ItemFull .ves b {
    padding: 5px 0px 11px 0px;
}

.ItemFull .ves b:before {
    font-family: FontAwesome;
    content: "";
    height: 40px;
    width: 35px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: 0 8px -13px 0;
    display: inline-block;
    padding: 0;
    background-position: -72px -1px;
}

.ItemFull .tara {
    background-color: #f7f7f7;
    display: inline-block;
    padding: 10px 30px 15px 10px;
    font-size: 13px;
    margin: 0 10px 10px 0;
}

.ItemFull .tara b {
    padding: 5px 0px 11px 0px;
}

.ItemFull .tara b:before {
    font-family: FontAwesome;
    content: "";
    height: 40px;
    width: 35px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: 0 8px -14px 0;
    display: inline-block;
    padding: 0;
    background-position: -72px -44px;
}

.ItemFull .proizvoditel {
    background-color: #f7f7f7;
    display: inline-block;
    padding: 10px 30px 15px 10px;
    font-size: 13px;
    margin: 0 10px 10px 0;
}

.ItemFull .proizvoditel b {
    padding: 5px 0px 11px 0px;
}

.ItemFull .proizvoditel b:before {
    font-family: FontAwesome;
    content: "";
    height: 40px;
    width: 40px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: 0 8px -14px 0;
    display: inline-block;
    padding: 0;
    background-position: -72px -84px;
}

.ItemFull .form_basket {
    font-family: 'Lora', serif;
    margin: 35px 0;
}

.ItemFull .form_basket i {
    text-transform: uppercase;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
}

.ItemFull .form_basket input {
    width: 100px;
    padding: 5px 10px;
    height: 45px;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin: 0 15px;
    vertical-align: top;
}

.ItemFull .form_basket a {
    display: inline-block;
    padding: 15px 80px 10px 100px;
    height: 45px;
    color: #fff;
    background-color: #e9510e;
    text-decoration: none;
    text-transform: uppercase;
    font-style: normal;
    font-size: 12px;
    border-radius: 10px;
    border: 1px solid #e9510e
}

.ItemFull .form_basket a:hover {
    color: #fff;
    background-color: #ff7c3d;
}

.ItemFull .form_basket a:before {
    font-family: FontAwesome;
    content: "";
    height: 23px;
    width: 19px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -3px 0 0 -34px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -3px -141px;
}

.ItemFull .form_basket a:hover:before {
    background-position: -50px -2px !important;
}

.ItemFull .form_basket a.basket_list {
}


.ItemFull .basket {
}

.ItemFull .basket h3 {
    text-align: left;
    margin: 20px 0 20px 0;
    padding: 20px 0 0 45px;
    border-top: 1px solid #ccc;
    border-bottom: none;
}

.ItemFull .basket h3.deliv:before {
    font-family: FontAwesome;
    content: "";
    height: 25px;
    width: 45px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -3px 0 0 -45px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -89px -122px;
}

.ItemFull .basket h3.opla:before {
    font-family: FontAwesome;
    content: "";
    height: 33px;
    width: 45px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -9px 0 0 -45px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -89px -148px;
}


ul#news {
}

#news li .img {
    display: inline-block;
    float: left;
    width: 160px;
}

#news li .text {
    display: inline-block;
}

#news li {
    list-style: none;
    padding: 10px 0;
}

#news li .text > a {
    color: #000;
}

#news li .text .anons {
}

#news li .text .anons a {
}

.index_footer_left {
    background: url('/templates/ikra163/images/index_footer_left.jpg') no-repeat left top transparent;
    padding: 0;
    width: 169px;
    height: 417px;
    position: relative;
    margin: -96px 0 -201px 0;
    z-index: 1;
    display: inline-block;
    float: left;
}

.index_footer_right {
    background: url('/templates/ikra163/images/index_footer_right.jpg') no-repeat right top transparent;
    padding: 0;
    width: 250px;
    height: 401px;
    position: relative;
    margin: -196px 0 -185px 0;
    z-index: 1;
    display: inline-block;
    float: right;
}

#footer {
    background-color: #f9f8f4;
    padding: 20px 0;
    height: auto;
    font-family: 'Lora', serif;
    position: relative;
    margin: 0;
}

.footer {
    width: 85%;
    margin: 0 auto;
    color: #525252;
    z-index: 2;
    position: relative;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* .footer::after {
    content: "";
    display: block;
    clear: both;
} */

.footer > div {
    width: 23%;
    margin: 0 1%;
    display: inline-block;
}

.footer > div:first-child {
    margin-right: 60px; /* отступ после первого */
}

.footer > div:not(:first-child) {
    margin: 0 5px; /* расстояния между 2-3-4 */
}

.footer > div hr {
    width: 150px;
    margin: 10px auto 5px auto;
    height: 2px;
    text-align: center;
    display: block;
    float: none;
    background-color: rgb(98, 96, 93, 0.3);
    border: none;
}

.footer > div:first-child p {
    text-align: center;
    font-size: 10px;
}

.footer a {
    color: #525252;
    text-decoration: none;
    display: inline-block;
    transition: transform 0.2s ease;
}

.footer a:hover {
    transform: translateX(2px);
}

.footer h5 {
    text-align: left;
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 1em;
}

.footer h5 b {
    font-size: 0.9em;
}

.footer p {
    padding: 7px 0;
}

.footer ul {
    padding: 0;
}

.footer ul li {
    list-style: none;
    padding: 5px 0 0 5px;
    text-align: left;
    font-size: 1em;
    text-transform: lowercase;
}

.footer ul li:before {
    content: "\f18e";
    font-family: FontAwesome;
    font-size: 1em;
    margin-right: 5px;
    color: #e1e0de;
    font-weight: normal;
}

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

.footer .logo img {
    padding-left: 50px;
    width: 300px;
    height: auto;
}

.footer .fleft {
    display: inline-block;
    float: left;
    width: 48%
}

.footer .fright {
    display: inline-block;
    float: right;
    width: 48%
}

.footer .logo a {
    border: none !important;
}

#footer2 {
    background-color: #fff;
}

.footseparate {
    background: url('/templates/ikra163/images/footseparate.jpg') no-repeat top center transparent;
    width: 100%;
    height: 51px;
    margin: -41px 0 0 0;
    z-index: 1000;
    position: relative;
    display: block;
}

.footer2 {
    max-width: 1170px;
    margin: 0px auto;
    padding: 60px 0;
    color: #999;
    font-family: 'Lora', serif;
}

.footer2 .copyright {
    display: inline-block;
    float: left;
    width: 40%;
    font-size: 0.8em;
    font-family: 'Lora', serif;
}

.footer2 .footmenu {
    display: inline-block;
    float: right;
    width: 60%;
}

.footer2 .footmenu ul {
}

.footer2 .footmenu ul li {
    list-style: none;
    display: inline-block;
    float: left;
    padding: 0 10px
}

.footer2 .footmenu ul li a {
    color: #999;
    text-decoration: none;
    font-family: 'Lora', serif;
    display: inline-block;
    text-transform: lowercase;
    font-size: 0.8em
}

.footer2 .footmenu ul li a:hover, .footer2 .footmenu ul li a.active {
    color: #545454;
    text-decoration: none;
    transition: all 0.2s linear 0s;
    border-bottom: 2px solid #e9510e;
}

.sotring {
    margin: 20px 25px 10px 0 ;
    text-align: right;
}

.numpage {
    width: 100%;
    color: #ccc;
    padding: 1px 0;
    clear: both;
    margin: 15px 0;
}

.numpage div, .numpage a {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.numpage a {
    color: #000;
    display: inline-block;
    font-size: 13px;
    padding: 4px;
    text-decoration: underline;
    padding: 2px 5px;
}

.numpage a.none {
    text-decoration: none;
    padding: 0 4px;
}

.numpage a:hover, .numpage a.active {
    background-color: #ffd93f;
    text-decoration: none;
}

.numpage .pages {
    display: none; /* block */
    text-align: center;
    margin-top: 25px;
}

.numpage .pages a {
}

.numpage .sotring {
    display: block;
    text-align: center;
    margin: 20px 0 0 0;
}

.numpage .sotring a {
}

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

.filter-page .prev, .filter-page .inner, .filter-page .next {
    display: inline-block;
    vertical-align: middle;
}

.filter-page a {
    text-decoration: none;
    color: #000;
    padding: 5px 12px;
}

.filter-page a:hover, .filter-page a.active {
    background-color: #f5f4f2;
}

.filter-page .prev {
    margin-right: 5px;
}

.filter-page .next {
    margin-left: 5px;
}

.filter-page .prev a, .filter-page .next a {
    border: 1px solid #E4E4E4;
    border-radius: 3px;
    display: block;
    padding: 6px 10px 7px;
}

.filter-page .inner {
    border-collapse: collapse;
}

.filter-page .inner a {
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #E4E4E4;
}

.filter-page .inner a:not(:last-child) {
    border-right: none;
}

.filter-page .inner a:first-of-type {
    border-radius: 3px 0 0 3px;
}

.filter-page .inner a:last-of-type {
    border-radius: 0 3px 3px 0;
}


.deliv_block {
    margin: 0px 0;
    padding: 0px 0;
}

.deliv_block .deliv_block_item {
    border: solid 1px #ebebeb;
    font-family: 'Lora', serif;
    width: 31%;
    margin: 0px 1% 10px;
    float: left;
    display: inline-block;
    padding: 10px;
    font-size: 21pt;
    height: 240px;
}

.deliv_block_item .cena {
    display: block;
    width: 70%;
    text-transform: uppercase;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #e9510e;
    text-align: center;
    padding: 10px;
    margin: 15px auto;
    color: #fff;
    position: relative;
}

.deliv_block_item .tex {
    text-transform: uppercase;
    text-align: center;
    margin: 10px 0;
    font-size: 17px;
}

.deliv_block_item hr {
    width: 70px;
    margin: 15px auto;
    height: 2px;
    text-align: center;
    display: block;
    background-color: #e9510e;
    border: none;
}

.deliv_block_item p {
    text-align: center;
    color: #666666;
    font-size: 0.461em;
}

.deliv_block_item .clear {
    margin: 0;
    padding: 0;
    height: 0;
}


/*навигация*/
.newslider-vertical {
    height: 280px;
    width: 100%;
}

.sliderkit-nav-clip {
    width: 100% !important;
    height: auto;
}


.newslider-vertical .sliderkit-nav {
    height: 280px;
    position: relative;
    text-align: center;
    z-index: 10;
    display: inline-block;
    float: left;
    width: 20%;
}

.newslider-vertical .sliderkit-nav ul {
    width: 100%;
    display: block;
    height: 280px;
}

.newslider-vertical .sliderkit-nav ul li {
    width: 100% !important;
    background-color: #fff;
    display: block;
    height: 45px !important;
}

.newslider-vertical .sliderkit-nav ul li a {
    border-top: 1px solid #f2f2f2;
    border-left: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2;
    border-collapse: collapse;
    background: #fff none repeat scroll 0 0;
    color: #000;
    font-size: 1.3em;
    height: 100%;
    padding: 13px 10px 0 10px;
    text-align: left;
    text-decoration: none;
    width: 100%;
    transition: all 0.2s linear 0s;
}

.newslider-vertical .sliderkit-nav ul li a:hover, .newslider-vertical .sliderkit-nav ul li.sliderkit-selected a {
    background-color: #e9510e;
    background: linear-gradient(to top, #ca460c, #e9510e);
    color: #fff;
    transition: all 0.2s linear 0s;
}


.newslider-vertical .sliderkit-panels {
    height: 100%;
    float: right;
    overflow: hidden;
    position: relative;
    width: 80%;
    left: 0;
    border: none;
}

.newslider-vertical .sliderkit-panel {
    border: 10px solid #fff;
    background: #fff none repeat scroll 0 0;
    height: 270px;
    left: 0;
    padding: 0;
    top: 0;
    width: 780px;
    border: 1px solid #ccc
}

.newslider-vertical .sliderkit-panel img {
    width: 100%
}

.yaMapBlock {
    z-index: 1990;
    background: url('/templates/ikra163/images/bg_transparent.png') repeat center top transparent;
    width: 100%;
    height: 600px;
    position: absolute;
}

.block_contacts_adress {
    margin: -200px 0 0 0;
    z-index: 2000;
    position: relative;
}

.block_contacts_adress > div {
    display: inline-block;
    float: left; /*width:19.2%;margin:10px 0.4%;*/
    width: 22%;
    margin: 10px 5.6%;
    background-color: #fff;
    text-align: center;
    padding: 0px 0 15px 0;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3)
}

.block_contacts_adress > div img {
    display: block;
    width: 100%;
    background: url('/images/folder_1/whatsapp_image_2017-06-20_at_10_22_38.jpeg') no-repeat center top transparent;
    margin: 0 0 20px 0;
    height: 200px
}

.block_contacts_adress > div p {
    text-align: center;
    padding: 6px 0;
    z-index: 100;
    position: relative;
    font-family: 'Lora', serif;
    font-size: 0.9em;
}

.block_contacts_adress > div p strong {
    font-size: 1.1em
}

.block_contacts_adress > div p strong:before {
    font-family: FontAwesome;
    content: "";
    height: 40px;
    width: 40px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -53px auto 15px;
    display: block;
    z-index: 200;
    padding: 0;
    background-position: -48px -127px;
}

.block_contacts_adress > div a {
    color: #e9510e;
    font-size: 0.8em;
    font-weight: bold;
    padding: 10px 0;
    text-decoration: none;
    margin: 0;
}

.block_contacts_adress > div a:hover {
    text-decoration: underline
}

.block_contacts_adress > div a.tellinkc {
    font-family: 'Lora', serif;
    color: #000;
    display: inline;
    font-size: 15px;
    font-weight: normal;
    padding: 0;
    text-decoration: none;
    margin: 0;
    z-index: 100;
}

.contacts_page h1 {
    text-align: left;
}

/* Те же токены, что у .checkout-page — для «пилюль» заголовков на страницах филиалов */
.contacts_page {
    --checkout-soft: #ECEBEA;
    --checkout-text: #62605D;
}

.contact_inner {
    padding: 20px 0 0 0;
}

.contact_inner > div {
    border-bottom: 1px solid #eeeff2;
    padding: 20px 30px 20px 0;
    color: #666;
    margin: 0 50px 0 10px
}

.contact_inner > div a {
    text-align: left;
    color: #666;
}

.contact_inner h4 {
    font-family: 'Lora', serif;
    display: inline-block;
    margin: 0 0 16px 8px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--checkout-soft, #ECEBEA);
    color: var(--checkout-text, #62605D);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.contact_inner h4:before {
    display: none;
    content: none;
}

.contact_inner .adr_block {
}

.contact_inner .clock_block {
}

.contact_inner .clock_block ul.open {
    list-style: none;
    margin: 0;
    padding: 0;
    color: #62605D;
}

.contact_inner .clock_block ul.open li {
    display: inline-block;
    float: left;
    margin: 0 10px 10px 0;
    padding: 5px 10px;
    border: 2px solid #62605D;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 40%;
    border-radius: 40%;
    font-size: 1.1em;
}

.contact_inner .clock_block strong.open {
    color: #62605D;
    font-size: 1.2em;
    display: inline-block;
    margin: 6px 0 0 0;
    font-weight: normal;
}

.contact_inner .clock_block ul.close {
    list-style: none;
    margin: 0;
    padding: 0;
    color: #666;
}

.contact_inner .clock_block ul.close li {
    display: inline-block;
    float: left;
    margin: 0 10px 10px 0;
    padding: 5px 10px;
    border: 2px solid #666;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 40%;
    border-radius: 40%;
    font-size: 1.1em;
}

.contact_inner .clock_block strong.close {
    color: #666;
    font-size: 1.2em;
    display: inline-block;
    margin: 6px 0 0 0;
    font-weight: normal;
}

.contact_inner .contact_block {
}

/* Филиалы (contacts_inner.tpl): контент из CMS — без правок разметки в админке */
@media (max-width: 900px) {
    .contacts_page {
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
        max-width: 100%;
        overflow-x: hidden;
    }

    .contacts_page div[umi\:field-name="content"] {
        max-width: 100%;
        overflow-x: hidden;
    }

    .contacts_page table {
        width: 100% !important;
        max-width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
    }

    .contacts_page table tbody,
    .contacts_page table thead,
    .contacts_page table tr,
    .contacts_page table td,
    .contacts_page table th {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .contacts_page table td,
    .contacts_page table th {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .contacts_page img {
        display: block;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto;
        margin-right: auto;
    }

    .contacts_page iframe,
    .contacts_page embed,
    .contacts_page object {
        max-width: 100%;
    }

    .contacts_page .contact_inner > div {
        margin-left: 0;
        margin-right: 0;
        padding: 16px 0;
    }

    .contacts_page .contact_inner h4 {
        margin-left: 0;
        margin-right: 0;
    }

    .contacts_page [style*="float:left"],
    .contacts_page [style*="float: left"],
    .contacts_page [style*="float:right"],
    .contacts_page [style*="float: right"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .contacts_page .clock_block ul.open,
    .contacts_page .clock_block ul.close {
        padding-left: 0;
    }

    .contacts_page .clock_block ul.open::after,
    .contacts_page .clock_block ul.close::after {
        content: "";
        display: table;
        clear: both;
    }

    .contacts_page .clock_block ul.open li,
    .contacts_page .clock_block ul.close li {
        float: none;
        display: inline-block;
        margin: 4px 8px 8px 0;
        vertical-align: middle;
    }

    .contacts_page .clock_block strong.open,
    .contacts_page .clock_block strong.close {
        display: block;
        margin: 10px 0 0 0;
    }
}


a.vk_soc, a.inst_soc, a.tg_soc {
    text-decoration: none;
    font-size: 17px;
    color: #000;
}

a.vk_soc:before {
    content: "\f189";
    font-family: FontAwesome;
    font-size: 20px;
    margin-right: 5px;
    vertical-align: middle;
    color: #000;
}

a.inst_soc:before {
    content: "\f16d";
    font-family: FontAwesome;
    font-size: 20px;
    margin-right: 5px;
    vertical-align: middle;
    color: #000;
}

a.tg_soc:before {
    content: "\f2c6";
    font-family: FontAwesome;
    font-size: 20px;
    margin-right: 5px;
    vertical-align: middle;
    color: #000;
}

.contacts a.vk_soc, .contacts a.inst_soc, .contacts a.tg_soc {
    text-decoration: none;
    font-size: 15px;
    color: #fff;
}

.contacts a.vk_soc:before, .contacts a.inst_soc:before {
    color: #fff;
}


.personal-agree {
}

.personal-agree p {
    color: #aaa;
}

label.checkmyi_field {
}


#tabs {
}

#tabs > ul {
    margin: 40px 0;
    width: 100%;
}

#tabs > ul li {
    list-style: none;
}

#tabs > ul li a {
    display: inline-block;
    float: left;
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 10px;
    border-radius: 10px;
    padding: 5px 10px;
    background-color: #fff;
    color: #9f9e9b;
    font-family: 'Lora', serif;
    margin: 0 10px;
    text-decoration: none;
    margin: 6px;
}

#tabs > ul li.ui-state-active a, #tabs > ul li:hover a {
    border: 1px solid #e9510e;
    background-color: #e9510e;
    color: #fff;
}

#tabs .ui-tabs-panel {
}

#tabs .ui-widget-content {
    display: block;
}

#tabs .ui-widget-content p.button_i {
    text-align: center;
}

#tabs .ui-widget-content p.button_i a {
    display: inline-block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-border-radius: 40px;
    border-radius: 40px;
    padding: 10px 20px;
    border: 1px solid #e9510e;
    background-color: #e9510e;
    color: #fff;
    font-family: 'Lora', serif;
    text-decoration: none;
}

#tabs .ui-widget-content p.button_i a:hover {
    border: 1px solid #e9510e;
    background-color: #fff;
    color: #e9510e;
}

#tabs .ui-widget-content p.button_i a i:after {
    content: "\f178";
    font-family: FontAwesome;
    font-size: 25px;
    margin-left: 10px;
    vertical-align: middle;
    color: #fff;
}

#tabs .ui-widget-content p.button_i a:hover i:after {
    color: #e9510e;
}

#tabs .ui-tabs-hide {
    display: none
}


.topmenu_mobile, .top_phone_mobile {
    display: none;
}

.header .minibasket i {
    display: none;
}

.minibasket_mobile {
    display: none;
}

.catalogmenu_mobile {
    display: none;
}

.mobile_dop_addBasketLink {
    display: none;
}


a.top_phone_mobile {
    display: none;
    width: 100%;
    font-family: 'Lora', serif;
    padding: 10px 10px !important;
    margin: 5px 0;
    text-decoration: none;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    border: 1px solid #aaa !important;
    color: #fff;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-radius: 5px;
    -moz-border-radius: 5px;
    text-decoration: none;
    text-align: center;
}

a.top_phone_mobile:hover {
    background-color: #fff;
    color: #e9510e;
}

a.top_phone_mobile u {
    width: 100%;
    text-decoration: none;
    font-size: 1.2em;
}

a.top_phone_mobile u:after {
    content: "\f095";
    font-family: FontAwesome;
    font-size: 25px;
    margin-left: 15px;
    vertical-align: middle;
    color: #fff;
}

a.top_phone_mobile:hover u:after {
    color: #e9510e;
}


.topmenu_mobile {
    display: none;
}

.topmenu_mobile .menu_open {
    margin: 5px 0;
    -moz-border-radius: 5px;
    border-radius: 5px;
    width: 100%;
    display: block;
    padding: 10px 10px;
    text-decoration: none;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    border: 1px solid #aaa !important;
}

.topmenu_mobile .menu_open:hover {
    background-color: #fff;
    color: #e9510e;
}

.topmenu_mobile .menu_open u {
    width: 100%;
    text-decoration: none;
    font-size: 1.2em;
}

.topmenu_mobile .menu_open u:after {
    content: "\f0c9";
    font-family: FontAwesome;
    font-size: 25px;
    margin-left: 15px;
    vertical-align: middle;
    color: #fff;
}

.topmenu_mobile .menu_open:hover u:after {
    color: #e9510e;
}

.topmenu_mobile .menu_close {
    position: absolute;
    top: 0px;
    padding: 15px 10px;
    text-decoration: none;
    margin: 0;
    display: none;
    background-color: #fff;
    color: #e9510e;
    width: 100%;
    ext-align: center;
    font-size: 1.1em;
    left: 0
}

.topmenu_mobile .menu_close u {
    text-decoration: none;
}

.topmenu_mobile .menu_close u:before {
    content: "\f060";
    font-family: FontAwesome;
    font-size: 20px;
    margin-right: 5px;
    vertical-align: middle;
    color: #e9510e;
}

.topmenu_mobile ul {
    float: none;
    padding: 0px 0;
    margin: 0;
    position: absolute;
    top: 50px;
    display: none;
    background-color: #fff;
    width: 100%;
    z-index: 2000;
    left: 0
}

.topmenu_mobile ul li {
    height: auto !important;
    list-style: none;
    padding: 0px;
    margin: 0;
    display: block;
    width: 100%;
    border-collapse: collapse;
}

.topmenu_mobile ul li a {
    text-decoration: none;
    font-size: 1em;
    color: #000;
    text-transform: uppercase;
    display: block;
    margin: 0;
    padding: 15px;
    width: 100%;
    border-bottom: 1px solid #ecebe7;
    border-top: 1px solid #ecebe7;
    border-collapse: collapse;
}

.topmenu_mobile ul li:hover a, .topmenu_mobile ul li.active a {
    color: #fff;
    background-color: #e9510e;
    transition: all 0.2s linear 0s;
    border-top: 1px solid #e9510e;
    border-bottom: 1px solid #e9510e;
}

.topmenu_mobile ul li:hover, .topmenu_mobile ul li.active {
}


.catalogmenu_mobile {
    width: 48%;
    float: left;
    margin: 0;
    padding: 0;
    font-family: 'Lora', serif;
    display: none;
}

.catalogmenu_mobile .catalogmenu_open {
    display: block;
    padding: 10px 10px;
    margin: 0;
    text-decoration: none;
    background-color: #e9510e;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid #e9510e;
}

.catalogmenu_mobile .catalogmenu_open:hover {
    background-color: #fff;
    color: #e9510e;
}

.catalogmenu_mobile .catalogmenu_open u {
    width: 100%;
    text-decoration: none;
    font-size: 1.2em;
}

.catalogmenu_mobile .catalogmenu_open u:after {
    content: "\f0c9";
    font-family: FontAwesome;
    font-size: 25px;
    margin-left: 15px;
    vertical-align: middle;
    color: #fff;
}

.catalogmenu_mobile .catalogmenu_open:hover u:after {
    color: #e9510e;
}

.catalogmenu_mobile .catalogmenu_close {
    position: absolute;
    top: 0px;
    padding: 15px 10px;
    text-decoration: none;
    margin: 0;
    display: none;
    background-color: #fff;
    color: #e9510e;
    width: 100%;
    ext-align: center;
    font-size: 1.1em;
}

.catalogmenu_mobile .catalogmenu_close u {
    text-decoration: none;
}

.catalogmenu_mobile .catalogmenu_close u:before {
    content: "\f060";
    font-family: FontAwesome;
    font-size: 20px;
    margin-right: 5px;
    vertical-align: middle;
    color: #e9510e;
}

.catalogmenu_mobile ul {
    float: none;
    padding: 0px 0;
    margin: 0;
    position: absolute;
    top: 50px;
    display: none;
    background-color: #fff;
    width: 100%;
    z-index: 2000;
}

.catalogmenu_mobile ul li {
    height: auto !important;
    list-style: none;
    padding: 0px;
    margin: 0;
    display: block;
    width: 100%;
    border-collapse: collapse;
}

.catalogmenu_mobile ul li a {
    text-decoration: none;
    font-size: 1em;
    color: #000;
    text-transform: uppercase;
    display: block;
    margin: 0;
    padding: 15px 15px 15px 40px;
    width: 100%;
    border-bottom: 1px solid #ecebe7;
    border-top: 1px solid #ecebe7;
    border-collapse: collapse;
}

.catalogmenu_mobile ul li:hover a, .catalogmenu_mobile ul li.active a {
    color: #fff;
    background-color: #e9510e;
    transition: all 0.2s linear 0s;
    border-top: 1px solid #e9510e;
    border-bottom: 1px solid #e9510e;
}

.catalogmenu_mobile ul li:hover, .catalogmenu_mobile ul li.active {
}

.catalogmenu_mobile .innermenu li a:before {
    content: "";
    height: 25px;
    width: 21px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: 0 0 0 -30px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: 0px 20px;
}

.catalogmenu_mobile .innermenu li:hover a, .catalogmenu_mobile .innermenu li.active a {
    color: #fff;
}

.catalogmenu_mobile .innermenu li:hover a:before, .catalogmenu_mobile .innermenu li.active a:before {
    color: #fff;
}

.catalogmenu_mobile .innermenu li#id496 a:before, .catalogmenu_mobile .innermenu li#id551 a:before, .catalogmenu_mobile .innermenu li#id1931 a:before {
    background-position: -2px 0px;
}

/*.catalogmenu_mobile .innermenu li.active#id496 a:before, .catalogmenu_mobile .innermenu li:hover#id496 a:before, .catalogmenu_mobile .innermenu li.active#id551 a:before, .catalogmenu_mobile .innermenu li:hover#id551 a:before{background-position:-27px 0px;}*/

.catalogmenu_mobile .innermenu li#id585 a:before {
    background-position: -2px -26px;
}


/*	.catalogmenu_mobile .innermenu li.active#id585 a:before, .catalogmenu_mobile .innermenu li:hover#id585 a:before{background-position:-27px -26px;}
		.catalogmenu_mobile .innermenu li.active#id617 a:before, .catalogmenu_mobile .innermenu li:hover#id617 a:before{background-position:-29px -49px;}
		.catalogmenu_mobile .innermenu li.active#id645 a:before, .catalogmenu_mobile .innermenu li:hover#id645 a:before{background-position:-29px -72px;}
		.catalogmenu_mobile .innermenu li.active#id670 a:before, .catalogmenu_mobile .innermenu li:hover#id670 a:before{background-position:-27px -95px;}
		.catalogmenu_mobile .innermenu li.active#id710 a:before, .catalogmenu_mobile .innermenu li:hover#id710 a:before{background-position:-28px -118px;}
		*/
.catalogmenu_mobile .innermenu li#id617 a:before {
    background-position: -4px -49px;
}

.catalogmenu_mobile .innermenu li#id645 a:before {
    background-position: -4px -72px;
}

.catalogmenu_mobile .innermenu li#id670 a:before {
    background-position: -2px -95px;
}

.catalogmenu_mobile .innermenu li#id710 a:before {
    background-position: -3px -118px;
    height: 23px
}

.catalogmenu_mobile .innermenu li#id1263 a:before {
    background-position: 0px -25px;
}

.catalogmenu_mobile .innermenu li#id1705 a:before {
    background-position: -3px -118px;
    height: 23px
}


.minibasket_mobile {
    display: none;
    width: 48%;
    padding: 0;
    margin: 0 1%;
    float: right;
}

.minibasket_mobile a {
    display: inline-block !important;
    float: right;
    width: 100%;
    font-family: 'Lora', serif;
    padding: 10px 10px !important;
    margin: 0;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid #fff !important;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-radius: 5px;
    -moz-border-radius: 5px;
    text-decoration: none;
    text-align: center;
    color: #e9510e;
    background-color: #fff;
}

.minibasket_mobile a:hover {
    background-color: #e9510e;
    color: #fff;
    border: 1px solid #e9510e !important;
}

.minibasket_mobile a i:after {
    content: "\f291";
    font-family: FontAwesome;
    font-size: 24px;
    margin-left: 15px;
    vertical-align: middle;
    color: #e9510e;
}

.minibasket_mobile a:hover i:after {
    color: #fff;
}

.newsItemPreview {
    display: inline-block;
    float: left;
    width: 23%;
    margin: 1%;
}

.newsItemPreview a {
    display: block;
    text-decoration: none;
    color: #fff;
}

.newsItemPreview img {
    width: 100%;
}

.newsItemPreview p {
    width: 100%;
    background: url('https://img.fonariki.ru/images/bg_black_tr.png') repeat top left transparent;
    height: 70px;
    margin: -70px 0 0 0;
    z-index: 100;
    position: relative;
    padding: 5px 10px;
    font-size: 1.2em;
    text-align: center;
}


.articleItemPreview {
    display: block;
    margin: 1%;
    float: none;
    width: 100%;
    height: 150px;
}

.articleItemPreview > div {
    display: inline-block;
    float: left;
    vertical-align: center;
    padding: 0 10px;
}

.articleItemPreview > a {
    font-size: 1.3em;
    color: #000;
    line-height: 1.5em;
}

.articlesBlockIndex {
    display: block;
    margin: 10px 0;
    padding: 10px;
}

.articlesBlockIndex > h2 {
}

.articlesBlockIndex > a {
}

.articlesBlockIndex .articlesItem {
    width: 80%;
    display: block;
    margin: 10px auto;
    padding: 20px 0;
    border-top: 1px solid #ccc;
    font-family: 'Lora', serif !important;
}

.articlesBlockIndex .articlesItem .anons_img {
    display: block;
    float: left;
    margin: 0 20px 0 0;
}

.articlesBlockIndex .articlesItem .anons_img a {
    text-decoration: none;
}

.articlesBlockIndex .articlesItem .anons_text {
    display: block;
    padding: 0;
    font-family: 'Lora', serif !important;
    overflow: hidden;
}

.articlesBlockIndex .articlesItem .anons_text a.articles_title {
    font-size: 1.4em;
    color: #000;
    margin-bottom: 10px;
    display: block;
    text-decoration: none;
    transition: all 0.2s ease;
}

.articlesBlockIndex .articlesItem .anons_text a.articles_title:hover {
    transform: translateX(1px);
    color: #e9510e;
}

.articlesBlockIndex .articlesItem .anons_text p {
    padding: 0;
    margin: 0;
    font-size: 0.8em
}

.articlesBlockIndex .articlesItem .anons_text a.articles_link {
    display: block;
    padding: 10px 0 0 0;
    color: #e9510e;
    text-decoration: none;
    font-size: 0.9em;
    transition: all 0.2s ease;
}

.articlesBlockIndex .articlesItem .anons_text a.articles_link:hover {
    transform: translateX(1px);
}

.moreArticles {
    text-decoration: none;
    font-size: 1.1em;
    color: #444;
    display: inline;
    margin: 5px 0;
    font-weight: normal;
}

.moreArticles:after {
    font-family: FontAwesome;
    content: "\f105 ";
    margin: 0 0 0 15px;
}

.receptLeftBlock {
    display: inline-block;
    float: left;
    width: 30%;
    padding: 10px;
}

.receptLeftBlock .receptPhoto {
}

.receptLeftBlock .receptIngredien {
}

.receptRightBlock {
    display: inline-block;
    float: right;
    width: 70%;
    padding: 10px;
}

.usefulltext {
    display: none;
    margin: 20px 0;
    border-top: solid 1px #ccc;
    padding-top: 20px;
    padding-left: 30px;
    font-family: 'Lora', serif;
}

a.open_usefulltext {
    text-decoration: none;
    font-size: 1.1em;
    color: #444;
    display: block;
    margin: 5px 0;
    font-weight: normal;
}

a.open_usefulltext:before {
    font-family: FontAwesome;
    content: "";
    height: 23px;
    width: 19px;
    background: url('/templates/ikra163/images/sprites.png') no-repeat transparent;
    overflow: hidden;
    z-index: 100;
    margin: -2px 0 0 -25px;
    display: inline-block;
    padding: 0;
    position: absolute;
    background-position: -49px -93px;
}

a.arrowDown:after {
    font-family: FontAwesome;
    content: "\f107";
    margin: 0 0 0 15px;
}

a.arrowUp:after {
    font-family: FontAwesome;
    content: "\f106";
    margin: 0 0 0 15px;
}


.hidden_usefulltext {
    border-left: solid 1px #e9510e;
    padding: 10px 10px 10px 20px;
    margin-left: 20px;
    display: none;
}

.hidden_usefulltext p {
}

/*   ---   СТРАНИЦЫ   ---   */

/* -- DELIVERY -- */

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
}

.delivery-title {
    color: #62605D;
    font-size: 36px;
    margin-bottom: 30px;
}

.subtitle {
    color: #62605D;
    font-size: 20px;
    margin-bottom: 50px;
}

/* карточки */

.cards {
    margin-top: 40px;
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}

.card {
    background-color: #F5F4F2;
    border-radius: 15px;
    border: 1px solid rgb(98, 96, 93, 0.2);
    padding: 25px;
    width: 350px;
    box-shadow: 0 0 0 1px #e5e5e5;
    cursor: default;
    transition: all 0.5s ease;
}

.card:hover {
    transform: translateY(-8px) scale(1.15);
    filter: drop-shadow(0 12px 20px rgba(0,0,0,0.2));
}

.card-price {
    min-width: 180px;
    background-color: #ecebea;
    font-size: 24px;
    border: 1px solid #ddd;
    padding: 10px;
    display: inline-block;
    margin-bottom: 10px;
    border-radius: 6px;
}

.card-sub {
    font-size: 14px;
    color: #777;
    margin: 5px auto 10px;
}

.card-text {
    margin: auto;
    font-size: 16px;
    line-height: 1.5;
}

.card-text.small {
    margin: auto;
    font-size: 12px;
}

/* линия */

.divider {
    margin: 50px auto;
    width: 60%;
    border: none;
    border-top: 1px solid rgb(98, 96, 93, 0.7);
}

.divider.mini {
    margin: 25px auto;
    width: 50%;
    border: none;
    border-top: 1px solid rgb(98, 96, 93, 0.7);
}

/* самовывоз */

.pickup {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin: 25px auto 60px;
}

.pickup-list {
    text-align: center;
    line-height: 2;
    transition: transform 0.2s ease;
}

.pickup-list a {
    display: inline-block;
    text-decoration: none;
    color: #62605D;
    transition: transform 0.2s ease, color 0.2s ease;
}

.pickup-list a:hover {
    transform: translate(5px, -3px);
}

.arrow {
    width: 55px;
    height: 55px;
    border-top: 2px solid #aaa;
    border-right: 2px solid #aaa;
}

.arrow.left {
    transform: rotate(-135deg);
}

.arrow.right {
    transform: rotate(45deg);
}


/* -- CASHBACK -- */

.cashback-text {
    color: #62605D;
    line-height: 1.6;
    margin-bottom: 20px;
}

.cashback-text p {
    font-size: 18px;
    text-align: center;
    margin-bottom: 8px;
}

/* уровни */

.levels {
    display: flex;
    justify-content: center;
    gap: 35px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.levels img {
    width: 180px;
    height: auto;

    display: block;
    transition: all 0.5s ease;
}

.levels img:hover {
    transform: translateY(-8px) scale(1.15);
    filter: drop-shadow(0 12px 20px rgba(0,0,0,0.2));
}

/* блок действий */

.actions {
    display: flex;
    justify-content: center;
    gap: 180px;
    margin: 70px auto 0;
    flex-wrap: wrap;
}

.action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

/* body — flex-колонка; без flex-end дочерний блок тянется и текст по центру выглядит по центру экрана */
.cashback-biboo {
    position: relative;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 clamp(16px, 4vw, 24px);
    margin-bottom: -10px;
    align-self: center;
}

/* область клика = только картинка (не растягивать на всю ширину блока) */
.cashback-biboo__link {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    flex-shrink: 0;
    line-height: 0;
    text-decoration: none;
    vertical-align: top;
    transition: opacity 0.2s ease;
}

.cashback-biboo__link:hover {
    opacity: 0.88;
}

.cashback-biboo__img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100px, 21vw);
}

.action-title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    color: #5f5c58;
}

/* кнопки */

.btn {
    min-width: 180px;
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid rgb(98, 96, 93, 0.15);
    border-radius: 8px;
    background: #F5F4F2;
    color: #62605D;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn:hover {
    color: #62605D;
    background: #e8e6e3;
    transform: translate(2px, -2px);
}

/* Скрываем мобильный хедер на десктопе */

.header_mobile.mobile-header {
    display: none;
}

.mobile-nav-overlay {
    display: none;
}

/* АДАПТИВ */

@media (max-width: 1100px) {
    .topmenu ul li a {
        margin: 20px 10px;
        padding: 5px 0;
    }

}

@media (max-width: 900px) {
    .topmenu {
        display: none;
    }

    .header .logo {
        width: 35%;
    }

    .header .slogan {
        width: 65%
    }

    .header .tel {
        width: 65%;
        float: left;
        margin: 0;
    }

    .header .tel a,
    .header .tel button.telLink {
        width: 100%;
    }

    .header .tel i {
        width: 100%;
    }

    .header .minibasket {
        width: 35%;
        float: right;
        margin: 0;
    }

    #content-slider-1 {
        display: none
    }

    #content-slider-2 {
        display: block
    }

    .catalogList .item {
        margin: 2%;
        padding: 4px;
        display: inline-block;
        float: left;
        width: 46% !important;
        height: 550px;
        overflow: hidden;
    }

    .content {
    }

    .content > .rightColumn {
        display: block;
        width: 100%;
    }

    .content > .leftColumn {
        display: block;
        width: 100%;
    }

    .content > .leftColumn ul {
        list-style: none
    }

    .content > .leftColumn ul ul {
        padding: 0 0 0 15px;
    }

    .content > .leftColumn h3 {
        color: #2b2b2b;
        font-size: 16px;
        text-transform: uppercase;
    }

    .content > .leftColumn h3:before {
        background: none;
        display: none;
    }

    .content > .leftColumn > hr {
        width: 70px;
        margin: 2px 0 10px 0;
        height: 2px;
        text-align: left;
        display: inline-block;
        background-color: #e9510e;
        border: none;
    }

    .deliv_block .deliv_block_item {
        width: 80%;
        margin: 30px auto;
        display: block;
        padding: 10px;
        font-size: 21pt;
        height: 240px;
        float: none;
    }

    .index_footer_right, .index_footer_left {
        display: none;
    }

    .block_contacts_adress > div {
        display: inline-block;
        float: left;
        width: 48%;
        margin: 15px 1%;
        background-color: #fff;
        text-align: center;
        padding: 0px 0 15px 0;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.3)
    }

    .block_contacts_adress > div img {
        height: 300px
    }

    .about-home__grid {
        flex-direction: column;
    }

    .about-home__col--left,
    .about-home__col--right {
        width: 100%;
    }

    #footer {
        background-color: #f9f8f4;
        padding: 20px 0;
        height: auto;
        font-family: 'Lora', serif;
        position: relative;
    }

    .footer > div {
        width: 98%;
        margin: 0 1%;
        display: block;
        float: none;
    }

    .footer ul li {
        list-style: none;
        padding: 5px 0 0 5px;
        text-align: center;
        font-size: 1.1em;
        text-transform: lowercase;
    }

    .footer2 .copyright {
        display: inline-block;
        float: none;
        width: 100%;
        font-size: 0.8em;
        font-family: 'Lora', serif;
    }

    .footer .fleft {
        display: inline-block;
        float: none;
        width: 100%
    }

    .footer .fright {
        display: inline-block;
        float: none;
        width: 100%
    }

    .footer2 .footmenu {
        display: none;
    }

    .footseparate {
        display: none
    }

    .footer2 {
        padding: 20px 0;
    }

    #tabs > ul li {
        list-style: none;
        margin: 5px 0;
        display: inline-block;
    }

    #tabs > ul li a {
        padding: 10px;
    }


    .index_banner a, .index_banner img {
        width: 90%;
        margin: 0 auto;
    }

    .sotring {
        display: none;
    }

    .content > .leftColumn {
        display: none;
        width: 100%;
    }

    h1 {
        text-align: center !important
    }

    table.catalogItem {
        display: block;
    }

    .catalogItem tr {
        display: block;
    }

    .catalogItem tr td {
        display: block;
        width: 100%;
        padding: 0 3%;
    }

    .catalogItem td.tdphoto {
        width: 70%;
        margin: 0 auto;
    }

    .catalogItem td.tdphoto .photo {
        width: 100%
    }

    .mobile_dop_addBasketLink {
        display: block;
        margin: 0 3%;
    }

    .ItemFull .form_basket {
    }

    .ItemFull .form_basket i {
    }

    .ItemFull .form_basket input {
        width: 55px
    }

    .ItemFull .form_basket a {
        width: 50%;
        text-align: center;
        padding: 13px 0 13px 21px
    }

    .ItemFull div.price {
        width: 50%;
        text-align: center;
        margin: 0;
        float: left;
    }

    .ItemFull div.status {
        width: 50%;
        text-align: center;
        margin: 12px 0 0 0;
        float: right;
    }

    .cards {
        flex-direction: column;
        align-items: center;
    }

    .pickup {
        flex-direction: column;
        gap: 20px;
    }

    .arrow {
        display: none;
    }

    .levels img {
        width: 140px;
    }

    .actions {
        gap: 40px;
    }
}

@media (max-width: 480px) {
    #content-slider-1 {
        display: none !important;
    }

    #content-slider-2 {
        display: block !important;
    }

    .catalogList .item {
        margin: 0.5% auto;
        padding: 4px;
        display: block;
        float: none;
        width: 90% !important;
        height: 600px;
        overflow: hidden;
    }

    .content {
    }

    .content > .rightColumn {
        display: block;
        width: 100%;
    }

    .content > .leftColumn {
        display: none;
        width: 100%;
    }

    .deliv_block .deliv_block_item {
        width: 90%;
        margin: 30px auto;
        display: block;
        padding: 10px;
        font-size: 21pt;
        height: 240px;
        float: none;
    }

    .topmenu {
        display: none;
    }

    .index_page .header_menu {
        display: none;
    }

    #header {
        padding: 0;
        height: 200px;
    }

    .header {
        width: 48%;
        float: left;
        display: inline-block;
        margin: 0 1%;
        height: 140px;
    }

    .header_mobile {
        width: 48%;
        float: right;
        display: inline-block;
        margin: 0 1%
    }

    .header .logo {
        width: 100%;
        height: 70px;
    }

    .header .slogan {
        width: 100%;
        padding: 0;
        text-align: center;
        height: 70px;
    }

    .header .slogan p {
        display: none;
    }

    .header .slogan p.hh {
        display: block;
    }

    .header .tel {
        width: 48%;
        padding: 0;
        margin: 0 1%;
    }

    .header .tel:before {
        display: none;
    }

    .header .tel .telLink, .header .tel i {
        display: none;
    }

    a.top_phone_mobile {
        display: block;
    }

    .topmenu_mobile {
        display: block;
    }

    table.adress, table.contacsUser {
        width: 100%;
    }

    input.buttonBasket {
        margin: 0 auto;
        padding: 17px 30px;
        display: inherit;
    }


    .block_contacts_adress > div {
        display: block;
        float: none;
        width: 90%;
        margin: 15px
    }

    .catalogmenu_mobile {
        width: 48%;
        float: left;
        margin: 0;
        padding: 0;
        font-family: 'Lora', serif;
        display: inline-block;
    }

    .minibasket_mobile {
        display: inline-block;
        width: 48%;
        padding: 0;
        margin: 0 1%;
        float: right;
    }

    .header .minibasket {
        display: none;
    }


    h1 {
        line-height: 1.2 !important;
        font-size: 30px !important;
        text-align: center !important
    }

    table.catalogItem {
        display: block;
    }

    .catalogItem tr {
        display: block;
    }

    .catalogItem tr td {
        display: block;
        width: 100%;
        padding: 0 3%;
    }

    .catalogItem td.tdphoto {
        width: 100%
    }

    .catalogItem td.tdphoto .photo {
        width: 100%
    }

    .mobile_dop_addBasketLink {
        display: block;
        margin: 0 3%;
    }

    .ItemFull .form_basket {
    }

    .ItemFull .form_basket i {
    }

    .ItemFull .form_basket input {
        width: 55px
    }

    .ItemFull .form_basket a {
        width: 50%;
        text-align: center;
        padding: 13px 0 13px 21px
    }

    .ItemFull div.price {
        width: 50%;
        text-align: center;
        margin: 0;
        float: left;
    }

    .ItemFull div.status {
        width: 50%;
        text-align: center;
        margin: 12px 0 0 0;
        float: right;
    }

    .catalogItem td.tdphoto {
        width: 100%
    }

    .catalogItem td.tdphoto .photo {
        width: 100%
    }

    .navibar a:first-of-type, .navibar i:first-of-type {
        display: none;
    }

    .levels {
        gap: 10px;
    }

    .levels img {
        width: 120px;
    }

    .actions {
        flex-direction: column;
        gap: 30px;
    }
}


/*   АДАПТИВ NEW   */

@media (max-width: 768px) {
    html, body {
        overflow-x: hidden;
    }

    .index_page {
        height: auto;
        min-height: 100vh;
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    #header {
        height: auto;
        padding: 0;
        max-height: none;
    }

    .header,
    .header_mobile,
    .topmenu_mobile,
    .catalogmenu_mobile,
    .minibasket_mobile,
    .footer,
    .about-home__inner {
        max-width: 100%;
        box-sizing: border-box;
    }

    .header {
        width: 100%;
        float: none;
        display: block;
        margin: 0;
        height: auto;
        padding: 0 16px;
    }

    .header_mobile {
        width: 100%;
        float: none;
        display: block;
        margin: 0;
        padding: 0 16px;
    }

    .header .logo {
        width: 100%;
        float: none;
        text-align: center;
        margin-bottom: 10px;
    }

    .header .logo a img {
        max-height: 56px;
        width: auto;
    }

    .header .slogan {
        width: 100%;
        float: none;
        height: auto;
        padding: 0;
        text-align: center;
    }

    .header .tel,
    .header .minibasket {
        display: none;
    }

    .catalogmenu_mobile,
    .minibasket_mobile {
        width: 100%;
        float: none;
        display: block;
        margin: 0;
    }

    .about-home {
        padding: 48px 0;
    }

    .about-home__inner {
        padding: 0 16px;
    }

    .about-home__title {
        font-size: 42px;
        line-height: 1.1;
    }

    .about-home__lead {
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 28px;
    }

    .about-home__grid {
        flex-direction: column;
        gap: 16px;
    }

    .about-home__col--left,
    .about-home__col--right {
        width: 100%;
    }

    .about-home__card {
        padding: 20px;
        font-size: 16px;
        line-height: 1.45;
    }

    .about-home__card--tall {
        min-height: 0;
    }

    #footer {
        padding: 24px 0;
    }

    .footer {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 16px;
        box-sizing: border-box;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 24px;
    }

    .footer > div {
        width: 100%;
        margin: 0;
        display: block;
    }

    .footer > div:first-child {
        text-align: center;
    }

    .footer > div:not(:first-child) {
        text-align: center;
    }

    .footer > div hr {
        margin: 16px auto;
    }

    .footer > div p,
    .footer > div a,
    .footer > div h5 {
        text-align: center;
    }

    .hide-mobile {
        display: none;
    }

    .levels {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 26px;
    }

    .levels img {
        display: block;
        width: min(220px, calc(100vw - 48px));
        max-width: 100%;
        height: auto;
    }
}

 /*-- АДАПТИВ MOBILE HEADER -- */

@media (max-width: 900px) {
    .header {
        display: none;
    }

    #header {
        padding: 0;
    }

    .topmenu,
    .catalogmenu_mobile,
    .minibasket_mobile,
    .topmenu_mobile,
    .top_phone_mobile {
        display: none !important;
    }

    .header_mobile.mobile-header {
        display: flex !important;
        align-items: center;
        justify-content: flex-start;
        position: relative;
        width: 100%;
        max-width: 100%;
        min-height: 64px;
        margin: 0;
        padding: 0 20px;
        box-sizing: border-box;
        float: none;
    }

    .mobile-header__logo {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex: 0 0 auto;
        width: auto;
        margin: 0;
        line-height: 0;
    }

    .mobile-header__logo img {
        display: block;
        height: 40px;
        width: auto;
    }

    .mobile-header__logo-light,
    .mobile-header__burger-light {
        display: block;
    }

    .mobile-header__logo-dark,
    .mobile-header__burger-dark {
        display: none;
    }

    .category-block-inner .mobile-header__logo-light,
    .category-block-inner .mobile-header__burger-light {
        display: none;
    }

    .category-block-inner .mobile-header__logo-dark,
    .category-block-inner .mobile-header__burger-dark {
        display: block;
    }

    .index_page .mobile-header__logo-light,
    .index_page .mobile-header__burger-light {
        display: block;
    }

    .index_page .mobile-header__logo-dark,
    .index_page .mobile-header__burger-dark {
        display: none;
    }

    html.mobile-nav-open .header_mobile.mobile-header > .mobile-header__logo,
    html.mobile-nav-open .header_mobile.mobile-header > .mobile-header__toggle,
    body.mobile-nav-open .header_mobile.mobile-header > .mobile-header__logo,
    body.mobile-nav-open .header_mobile.mobile-header > .mobile-header__toggle {
        visibility: hidden;
    }

    html.mobile-nav-open .mobile-nav-overlay .mobile-header__logo-light,
    body.mobile-nav-open .mobile-nav-overlay .mobile-header__logo-light {
        display: none !important;
    }

    html.mobile-nav-open .mobile-nav-overlay .mobile-header__logo-dark,
    body.mobile-nav-open .mobile-nav-overlay .mobile-header__logo-dark {
        display: block !important;
    }

    .mobile-header__toggle {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-header__burger {
        display: block;
        width: 28px;
        height: 28px;
        margin: 0;
        object-fit: contain;
    }

    .mobile-nav-overlay {
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: #f5f4f2;
        display: flex;
        flex-direction: column;
        height: 100vh;
        padding: 0 0 28px;
        box-sizing: border-box;
    }

    .mobile-nav-overlay[hidden] {
        display: none;
    }

    .mobile-nav-overlay__top {
        position: relative;
        min-height: 64px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 0 20px;
        box-sizing: border-box;
        margin-bottom: 40px;
    }

    .mobile-header__logo--overlay {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        margin: 0;
        line-height: 0;
    }

    .mobile-header__logo--overlay img {
        display: block;
        height: 40px;
        width: auto;
    }

    .mobile-nav-overlay__close-icon {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        padding: 0;
        border: none;
        background: transparent;
        cursor: pointer;
    }

    .mobile-nav-overlay__close-icon span {
        position: absolute;
        left: 10px;
        top: 19px;
        width: 20px;
        height: 2px;
        background: #62605D;
    }

    .mobile-nav-overlay__close-icon span:first-child {
        transform: rotate(45deg);
    }

    .mobile-nav-overlay__close-icon span:last-child {
        transform: rotate(-45deg);
    }

    .index_page .mobile-nav-overlay__close-icon span {
        background: #62605D;
    }

    .mobile-nav-overlay__menu {
        display: flex;
        flex-direction: column;
        gap: 28px;
        margin: 10px auto 15px;
    }

    .mobile-nav-overlay__menu a {
        text-decoration: none;
        text-align: center;
        font-family: 'Lora', serif;
        font-size: 24px;
        line-height: 1.2;
        color: #62605D;
        text-transform: uppercase;
    }

    .mobile-nav-overlay__phones {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin: 28px auto 40px;
        min-width: 250px;
    }

    .mobile-nav-overlay__phones a {
        display: block;
        text-align: center;
        text-decoration: none;
        font-family: 'Lora', serif;
        font-size: 20px;
        line-height: 1.15;
        color: #62605D;
        padding: 2px 12px;
    }

    .mobile-nav-overlay__actions {
        display: flex;
        flex-direction: column;
        min-width: 250px;
        gap: 12px;
        margin: 0 auto 50px;
    }

    .mobile-nav-overlay__button {
        display: block;
        width: 100%;
        padding: 16px 20px;
        border: 1px solid rgba(98, 96, 93, 0.2);
        border-radius: 14px;
        background: transparent;
        text-align: center;
        text-decoration: none;
        font-family: 'Lora', serif;
        font-size: 20px;
        color: #62605D;
        box-sizing: border-box;
    }

    .mobile-nav-overlay__button--primary {
        background: #E95A0C;
        border-color: #E95A0C;
        color: #fff;
    }

    .mobile-nav-overlay__close-button {
        margin-top: 18px;
        border: none;
        border-radius: 14px;
        background: transparent;
        padding: 14px 20px;
        font-family: 'Lora', serif;
        font-size: 18px;
        color: #62605D;
    }

    html.mobile-nav-open,
    body.mobile-nav-open {
        overflow: hidden;
    }

    html.mobile-nav-open #header,
    body.mobile-nav-open #header {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .mobile-nav-overlay {
        overflow-y: auto;
    }

    .index_page {
        height: 100vh;
    }

    .index_page h1 {
        font-size: 36px;
    }

    .index_page p {
        font-size: 20px !important;
    }

    .index_page .butcatalog {
        margin: 100px auto 10px !important;
        width: 220px !important;
        height: 65px !important;
        font-size: 24px !important;
    }

    html.mobile-nav-open #header,
    body.mobile-nav-open #header {
        position: relative;
        z-index: 20000;
    }

    .mobile-nav-overlay {
        position: fixed;
        inset: 0;
        z-index: 20001;
        background: #f5f4f2;
    }

    html.mobile-nav-open #content,
    html.mobile-nav-open #footer,
    html.mobile-nav-open #navibar,
    body.mobile-nav-open #content,
    body.mobile-nav-open #footer,
    body.mobile-nav-open #navibar {
        visibility: hidden;
    }

    .header_mobile.mobile-header,
    .mobile-nav-overlay__top {
        min-height: 64px;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .mobile-header__logo img,
    .mobile-header__logo--overlay img {
        display: block;
        height: 40px;
        width: auto;
    }

    .mobile-header__toggle,
    .mobile-nav-overlay__close-icon {
        position: absolute;
        /*right: 20px;*/
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        padding: 0;
    }

    /* финальный фикс размеров */

    .header_mobile.mobile-header,
    .mobile-nav-overlay__top {
        min-height: 80px;
        padding: 0 35px 0 20px;
        box-sizing: border-box;
    }

    .mobile-header__logo img,
    .mobile-header__logo--overlay img {
        display: block;
        height: 44px;
        width: auto;
    }

    .mobile-header__burger {
        width: 24px;
        height: 24px;
        margin: 0;
        object-fit: contain;
    }
}


/* окно куков */

/* ---------- Уведомление о файлах cookie ---------- */

.cookie {
    position: fixed;
    z-index: 1000;
    left: 20px;
    right: 20px;
    bottom: 20px;
    pointer-events: none;
}

.cookie .container {
    max-width: 900px;
    margin: 0 auto;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 24px;
    text-align: left;
    font-size: 14px;
    font-family: 'Lora', serif;
    color: #2E2A27;

    background: rgba(255, 255, 255, 0.78);
    -webkit-backdrop-filter: blur(16px) saturate(1.5);
    backdrop-filter: blur(16px) saturate(1.5);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(24, 20, 17, 0.16);

    pointer-events: auto;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.cookie.is-visible .container {
    opacity: 1;
    transform: translateY(0);
}

.cookie .container .cookie__text {
    flex: 1 1 auto;
    line-height: 1.55;
}

/* ссылка на политику — тонкое подчёркивание вместо жирного */
.cookie .container .cookie__text a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(46, 42, 39, 0.35);
    padding-bottom: 1px;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.cookie .container .cookie__text a:hover {
    color: #E95A0C;
    border-bottom-color: #E95A0C;
}

.cookie .container a#cookie-agreement-button {
    flex: 0 0 auto;
    display: inline-block;
    padding: 12px 28px;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    color: #62605D;
    background-color: transparent;
    border: 1px solid rgba(98, 96, 93, 0.4);
    border-radius: 12px;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.cookie .container a#cookie-agreement-button:hover {
    color: #FFFEFC;
    background-color: #62605D;
    border-color: #62605D;
    text-decoration: none;
}

@media (max-width: 640px) {
    .cookie {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .cookie .container {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 16px 18px;
        font-size: 13px;
        border-radius: 14px;
    }

    .cookie .container a#cookie-agreement-button {
        text-align: center;
        padding: 12px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cookie .container {
        transition: none;
        transform: none;
    }
}

#cookie-agreement {
}

/* страница Контакты */

.contacts-page-new {
    background: #fffefc;
}

.contacts-showcase {
    position: relative;
    margin-top: -150px;
    z-index: 20;
    padding: 0 0 80px;
}

.contacts-card__hr {
    border: 1px solid rgba(98, 96, 93, 0.45);
    width: 40%;
    margin: 18px auto;
}

.contacts-showcase__inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 20px;
}

.contacts-showcase__grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 50px;
    margin-bottom: 70px;
}

.contacts-card {
    width: calc(33.333% - 24px);
    background: #F5F4F2;
    border: 1px solid rgba(98, 96, 93, 0.2);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.10);
    transition: all 0.5s;
}

.contacts-card:hover {
    transform: translateY(-8px) scale(1.1);
    filter: drop-shadow(0 12px 20px rgba(0,0,0,0.2));
}

.contacts-card img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.contacts-card__body {
    padding: 26px 22px 28px;
    text-align: center;
}

.contacts-card__address {
    margin: 0 0 26px;
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    line-height: 1.2;
    color: #62605D;
}

.contacts-card__address_mini {
    margin: 0 0 26px;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    line-height: 1.2;
    color: #62605D;
}

.contacts-card__meta {
    margin: 0 0 10px;
    font-family: 'Lora', serif;
    font-size: 18px;
    line-height: 1.45;
    color: #62605D;
}

.contacts-card__meta a {
    color: #62605D;
    text-decoration: none;
}

.contacts-card__link {
    display: inline-block;
    margin-top: 12px;
    font-family: 'Lora', serif;
    font-size: 18px;
    font-weight: 600;
    color: #E95A0C;
    text-decoration: none;
    transition: all 0.2s ease;
}

.contacts-card__link:hover {
    transform: translateX(5px);
}

.contacts-social {
    padding-top: 10px;
    text-align: center;
}

.contacts-social__title {
    margin: 0 0 45px;
    font-family: 'Playfair Display', serif;
    font-size: 52px;
    line-height: 1.1;
    color: #62605D;
    text-transform: none;
}

.contacts-social__list {
    display: flex;
    justify-content: center;
    gap: 25px;
    flex-wrap: wrap;
}

.contacts-social__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 210px;
    padding: 16px 22px;
    border: 1px solid rgba(98, 96, 93, 0.25);
    border-radius: 15px;
    background: #F5F4F2;
    color: #62605D;
    font-family: 'Lora', serif;
    font-size: 18px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contacts-social__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

.contacts-social__button:before {
    margin-right: 10px;
    font-family: FontAwesome;
    font-size: 20px;
}

.contacts-social__button--tg:before {
    content: "\f2c6";
}

.contacts-social__button--max:before {
    content: "\f075";
}

.contacts-social__button--vk:before {
    content: "\f189";
}

@media (max-width: 900px) {
    .contacts-showcase {
        margin-top: -70px;
        padding-bottom: 60px;
    }

    .contacts-showcase__grid {
        flex-direction: column;
        gap: 24px;
    }

    .contacts-card {
        width: 100%;
    }

    .contacts-card img {
        height: 220px;
    }

    .contacts-card__address {
        font-size: 24px;
    }

    .contacts-social__title {
        font-size: 40px;
    }
}

@media (max-width: 480px) {
    .contacts-showcase {
        margin-top: -40px;
    }

    .contacts-showcase__inner {
        padding: 0 16px;
    }

    .contacts-card img {
        height: 200px;
    }

    .contacts-card__body {
        padding: 22px 18px 24px;
    }

    .contacts-card__address {
        font-size: 22px;
    }

    .contacts-card__meta,
    .contacts-card__link,
    .contacts-social__button {
        font-size: 16px;
    }

    .contacts-social__button {
        width: 100%;
        min-width: 0;
    }
}


/* Basket redesign */

.checkout-page {
    --checkout-bg: #FFFEFC;
    --checkout-card: #F5F4F2;
    --checkout-soft: #ECEBEA;
    --checkout-border: rgba(98, 96, 93, 0.5);
    --checkout-text: #62605D;
    --checkout-accent: #E95A0C;
    --checkout-radius: 14px;

    margin: 0 auto;
    padding: 24px 0 70px;
    color: var(--checkout-text);
    font-family: 'Lora', serif;
}

.checkout-page * {
    box-sizing: border-box;
}

.checkout-hero {
    margin: 0 0 28px;
    text-align: center;
}

.checkout-eyebrow,
.checkout-section__eyebrow {
    display: inline-block;
    margin: 0 0 10px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--checkout-soft);
    color: var(--checkout-text);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.checkout-page__title,
.checkout-card__title,
.checkout-section__title {
    margin: 20px 0 0 0;
    color: var(--checkout-text);
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.checkout-page__title {
    font-size: 52px;
    line-height: 1.08;
}

.checkout-page__lead {
    max-width: 720px;
    margin: 12px auto 0;
    font-size: 18px;
    line-height: 1.6;
    color: var(--checkout-text);
}

.checkout-card,
.checkout-section {
    margin: 0 0 20px;
    padding: 24px;
    background: var(--checkout-card);
    border: 1px solid var(--checkout-border);
    border-radius: var(--checkout-radius);
}

.checkout-card__header,
.checkout-section__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 0 0 20px;
}

.checkout-card__title {
    font-size: 34px;
    line-height: 1.12;
}

.checkout-section__title {
    font-size: 30px;
    line-height: 1.15;
}

.checkout-page .checkout-card__title:before,
.checkout-page .checkout-section__title:before {
    display: none;
    content: none;
}

.checkout-button {
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    padding: 14px 22px !important;
    text-decoration: none !important;
    font-family: 'Lora', serif !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.checkout-button--secondary {
    background: var(--checkout-bg) !important;
    color: var(--checkout-text) !important;
    border-color: var(--checkout-border) !important;
}

.checkout-button--primary {
    width: 100%;
    background: #62605D !important;
    color: #FFFEFC !important;
    border-color: #62605D !important;
}

.checkout-table-wrap {
    overflow-x: auto;
}

.checkout-page table#order_block {
    width: 100%;
    border: 0;
    border-collapse: separate;
    border-spacing: 0 14px;
    background: transparent;
}

.checkout-page table#order_block thead th {
    padding: 0 18px 12px;
    background: transparent;
    border: 0;
    font-family: 'Lora', serif;
    font-size: 14px;
    font-weight: 700;
    color: rgba(98, 96, 93, 0.9);
    text-align: left;
}

.checkout-page table#order_block tbody td {
    padding: 18px;
    border: 0;
    background: var(--checkout-bg);
    vertical-align: middle;
}

.checkout-page table#order_block tbody td:first-child {
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
}

.checkout-page table#order_block tbody td:last-child {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
}

.checkout-page table#order_block td a {
    color: var(--checkout-text);
    text-decoration: none;
}

.checkout-page table#order_block td.photo {
    width: 124px !important;
}

.checkout-page table#order_block td.photo a {
    display: block;
    width: 88px;
    margin: 0 auto;
    padding: 8px;
    background: var(--checkout-soft);
    border-radius: 12px;
}

.checkout-page table#order_block td.photo a img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.checkout-item__title {
    display: inline-block;
    font-size: 20px;
    line-height: 1.45;
    color: var(--checkout-text) !important;
}

.checkout-item__title:hover {
    color: var(--checkout-accent) !important;
}

.checkout-qty {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    background: var(--checkout-soft);
    border-radius: 12px;
}

.checkout-page table#order_block input.value_tovar {
    width: 64px;
    height: 42px;
    padding: 8px 10px;
    border: 1px solid rgba(98, 96, 93, 0.25);
    border-radius: 10px;
    background: #FFFEFC;
    color: var(--checkout-text);
    font-family: 'Lora', serif;
    font-size: 16px;
    text-align: center;
}

.checkout-qty__unit,
.checkout-item__value {
    font-size: 18px;
    color: var(--checkout-text);
}

.checkout-item__value--total {
    font-weight: 700;
    color: #2F2E2C;
}

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

.checkout-page table#order_block a.delete,
.checkout-item__delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--checkout-soft);
    color: #B54D2C !important;
    font-size: 26px;
    line-height: 1;
    transition: all 0.2s ease;
}

.checkout-page table#order_block a.delete:hover,
.checkout-item__delete:hover {
    background: #F3DDD5;
    color: #8F391D !important;
}

.checkout-cart-summary {
    display: flex;
    justify-content: flex-end;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.checkout-cart-summary__item {
    min-width: 220px;
    padding: 18px 20px;
    background: var(--checkout-bg);
    border: 1px solid var(--checkout-border);
    border-radius: 14px;
    text-align: left;
}

.checkout-cart-summary__label {
    display: block;
    margin: 0 0 6px;
    font-size: 14px;
    color: rgba(98, 96, 93, 0.8);
}

.checkout-cart-summary__value {
    font-size: 24px;
    color: #2F2E2C;
}

.checkout-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}

.checkout-layout__aside {
    position: relative;
}

.checkout-card--sticky {
    position: sticky;
    top: 24px;
}

.checkout-order-meta {
    margin: 18px 0 20px;
    padding: 16px 0;
    border-top: 1px solid rgba(98, 96, 93, 0.18);
    border-bottom: 1px solid rgba(98, 96, 93, 0.18);
}

.checkout-order-meta__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 0;
    font-size: 17px;
}

.checkout-order-meta__row strong {
    color: #2F2E2C;
}

.checkout-order-meta__row--total {
    margin-top: 10px;
}

.checkout-order-offer {
    text-align: center;
    margin: 15px auto 0 !important;
    font-size: 11px;
    line-height: 1.5;
    color: rgba(98, 96, 93, 0.75);
}

.checkout-order-offer a {
    text-decoration: none;
    color: var(--checkout-accent);
}

.checkout-order-note {
    margin: 0 0 18px;
    font-size: 15px;
    line-height: 1.6;
    color: rgba(98, 96, 93, 0.85);
}

.checkout-page .formBasket {
    margin: 0;
}

.checkout-page .formBasket ul {
    padding: 0;
    list-style: none;
}

.checkout-page .formBasket li {
    padding: 0;
    font-size: 16px;
}

.checkout-options {
    display: grid;
    gap: 14px;
}

.checkout-option {
    position: relative;
}

.checkout-option input[type="radio"] {
    position: absolute;
    top: 22px;
    left: 18px;
    margin: 0;
    accent-color: var(--checkout-accent);
}

.checkout-option label {
    display: block;
    padding: 18px 20px 18px 48px;
    background: var(--checkout-bg);
    border: 1px solid rgba(98, 96, 93, 0.22);
    border-radius: 14px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.checkout-option input[type="radio"]:checked + label {
    border-color: rgba(233, 90, 12, 0.55);
    box-shadow: 0 0 0 3px rgba(233, 90, 12, 0.08);
    background: #FFFDFC;
}

.checkout-option__title {
    display: block;
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: 700;
    color: #2F2E2C;
}

.checkout-option__meta {
    display: block;
    font-size: 15px;
    line-height: 1.5;
    color: rgba(98, 96, 93, 0.9);
}

.checkout-address-form__body {
    padding: 22px;
    background: var(--checkout-bg);
    border: 1px dashed rgba(98, 96, 93, 0.32);
    border-radius: 14px;
}

.checkout-fields-group__title {
    margin: 0 0 14px;
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    line-height: 1.2;
    color: var(--checkout-text);
}

.checkout-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.checkout-field__label {
    display: block;
    margin: 0 0 8px;
    font-size: 15px;
    color: rgba(98, 96, 93, 0.9);
}

.checkout-field__input,
.checkout-page table.adress td input,
.checkout-page form.formBasket input#oneStepInputString {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border: 1px solid rgba(98, 96, 93, 0.25);
    border-radius: 12px;
    background: #FFFEFC;
    color: var(--checkout-text);
    font-family: 'Lora', serif;
    font-size: 16px;
}

.checkout-field__input:focus,
.checkout-page table.adress td input:focus,
.checkout-page form.formBasket input#oneStepInputString:focus {
    border-color: rgba(233, 90, 12, 0.45);
    box-shadow: 0 0 0 3px rgba(233, 90, 12, 0.08);
}

.checkout-page table.adress {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 14px;
}

.checkout-page table.adress td {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
}

.checkout-page table.adress td.title {
    margin: 0 0 8px;
    text-align: left;
    font-size: 15px;
    color: rgba(98, 96, 93, 0.9);
}

.checkout-helper-link {
    display: inline-block;
    margin-top: 16px;
    color: var(--checkout-accent);
    font-size: 16px;
    text-decoration: none;
}

.checkout-helper-link:hover {
    text-decoration: underline;
}

.checkout-agree {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    padding: 18px 20px;
    background: var(--checkout-bg);
    border: 1px solid rgba(98, 96, 93, 0.18);
    border-radius: 14px;
    font-size: 15px;
    line-height: 1.6;
}

.checkout-agree input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 5px;
    accent-color: var(--checkout-accent);
}

.checkout-agree label {
    cursor: pointer;
}

.checkout-agree--optional {
    margin-top: 12px;
    background: transparent;
}

.checkout-agree a {
    color: var(--checkout-accent);
}

.checkout-page--empty {
    padding-top: 12px;
}

.checkout-card--empty {
    margin-top: 50px !important;
    text-align: center;
    padding-bottom: 50px;
}

.cart-catalogbut {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 210px;
    margin: 35px auto 0;
    padding: 16px 22px;
    border: 1px solid rgba(98, 96, 93, 0.25);
    border-radius: 15px;
    background: #ebebeb;
    color: #62605D;
    font-family: 'Lora', serif;
    font-size: 18px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cart-catalogbut:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

.checkout-mobile-label {
    display: none;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: rgba(98, 96, 93, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

@media (max-width: 1024px) {
    .checkout-layout {
        grid-template-columns: 1fr;
    }

    .checkout-card--sticky {
        position: static;
    }
}

@media (max-width: 768px) {
    .checkout-page {
        padding: 16px 0 50px;
    }

    .checkout-page__title {
        font-size: 38px;
    }

    .checkout-card,
    .checkout-section {
        padding: 18px;
    }

    .checkout-card__header,
    .checkout-section__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .checkout-fields-grid {
        grid-template-columns: 1fr;
    }

    .checkout-page table#order_block {
        border-spacing: 0 12px;
    }

    .checkout-page table#order_block thead {
        display: none;
    }

    .checkout-page table#order_block,
    .checkout-page table#order_block tbody,
    .checkout-page table#order_block tr,
    .checkout-page table#order_block td {
        display: block;
        width: 100%;
    }

    .checkout-page table#order_block tr {
        margin-bottom: 12px;
    }

    .checkout-page table#order_block tbody td {
        padding: 14px 16px;
        border-radius: 0;
    }

    .checkout-page table#order_block tbody td:first-child {
        border-top-left-radius: 14px;
        border-top-right-radius: 14px;
        border-bottom-left-radius: 0;
    }

    .checkout-page table#order_block tbody td:last-child {
        border-top-right-radius: 0;
        border-bottom-left-radius: 14px;
        border-bottom-right-radius: 14px;
    }

    .checkout-mobile-label {
        display: block;
    }

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

    .checkout-cart-summary__item {
        width: 100%;
        min-width: 0;
    }
}

.checkout-inline-message {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid rgba(233, 90, 12, 0.28);
    border-radius: 12px;
    background: #FFF3EE;
    color: #A24724;
    font-size: 15px;
    line-height: 1.55;
}

.checkout-inline-message[hidden] {
    display: none !important;
}

.checkout-layout,
.checkout-layout__main,
.checkout-layout__aside,
.checkout-card,
.checkout-section,
.checkout-personal-fields,
.checkout-fields,
.checkout-fields-group,
.checkout-fields-grid,
.checkout-field,
.checkout-address-form,
.checkout-address-form__body,
.checkout-page table.adress,
.checkout-page table.adress tbody,
.checkout-page table.adress tr,
.checkout-page table.adress td {
    min-width: 0;
    max-width: 100%;
}

.checkout-personal-fields,
.checkout-fields,
.checkout-fields-group,
.checkout-field {
    width: 100%;
}

.checkout-page table.adress {
    width: 100%;
    table-layout: fixed;
}

.checkout-page table.adress tbody,
.checkout-page table.adress tr {
    display: block;
    width: 100%;
}

.checkout-page table.adress td + td {
    margin-top: 8px;
}

.checkout-field__input,
.checkout-page table.adress td input,
.checkout-page table.adress td textarea,
.checkout-page form.formBasket input#oneStepInputString {
    display: block;
    width: 100%;
    max-width: 100%;
}

.checkout-field.is-invalid .checkout-field__input,
.checkout-page table.adress tr.is-invalid input,
.checkout-page table.adress tr.is-invalid textarea {
    border-color: rgba(233, 90, 12, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(233, 90, 12, 0.08);
    background: #FFF8F5;
}

.checkout-agree.is-invalid {
    border-color: rgba(233, 90, 12, 0.4);
    box-shadow: 0 0 0 3px rgba(233, 90, 12, 0.08);
}

.checkout-page {
    max-width: 100%;
    overflow-x: clip;
}

@media (max-width: 768px) {
    .checkout-page {
        padding: 12px 0 40px;
    }

    .checkout-hero {
        padding: 0 14px;
    }

    .checkout-card,
    .checkout-section,
    .checkout-agree,
    .checkout-card--sticky {
        width: calc(100% - 24px);
        max-width: calc(100% - 24px);
        margin-left: auto;
        margin-right: auto;
        padding: 16px;
    }

    .checkout-card__header .checkout-button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }

    .checkout-page table#order_block {
        width: 100%;
        display: block;
        border-spacing: 0;
    }

    .checkout-page table#order_block tbody {
        display: block;
        width: 100%;
    }

    .checkout-page table#order_block tr.checkout-item {
        display: block;
        padding: 16px;
        margin: 0 0 14px;
        background: var(--checkout-bg);
        border: 1px solid rgba(98, 96, 93, 0.16);
        border-radius: 14px;
    }

    .checkout-page table#order_block tbody td {
        display: block;
        width: 100% !important;
        padding: 0 0 14px;
        background: transparent;
        border-radius: 0 !important;
    }

    .checkout-page table#order_block tbody td:last-child {
        padding-bottom: 0;
    }

    .checkout-page table#order_block td.photo {
        width: 100% !important;
    }

    .checkout-page table#order_block td.photo a {
        width: 96px;
        margin: 0;
    }

    .checkout-item__title {
        font-size: 18px;
    }

    .checkout-qty {
        width: fit-content;
        max-width: 100%;
    }

    .checkout-layout,
    .checkout-fields-grid {
        grid-template-columns: 1fr;
    }

    .checkout-cart-summary {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .checkout-page__title {
        font-size: 30px;
    }

    .checkout-page__lead {
        padding: 0 14px;
        font-size: 16px;
        line-height: 1.5;
    }

    .checkout-card,
    .checkout-section,
    .checkout-agree,
    .checkout-card--sticky {
        width: 95%;
        max-width: 95%;
        padding: 14px;
    }

    .checkout-field__input,
    .checkout-page table.adress td input {
        min-height: 48px;
        padding: 12px 14px;
        font-size: 15px;
    }
}

.checkout-form .checkout-inline-message {
    display: none;
}

.checkout-form .checkout-inline-message:not([hidden]) {
    display: block;
}

.checkout-form .checkout-section,
.checkout-form .checkout-card,
.checkout-form .checkout-personal-fields,
.checkout-form .checkout-fields,
.checkout-form .checkout-fields-group,
.checkout-form .checkout-fields-grid,
.checkout-form .checkout-field,
.checkout-form .checkout-address-form,
.checkout-form .checkout-address-form__body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.checkout-form .checkout-section,
.checkout-form .checkout-address-form__body,
.checkout-form .checkout-card--cart,
.checkout-form .checkout-card--sticky {
    overflow: hidden;
}

.checkout-form .checkout-personal-fields .checkout-fields-grid {
    display: block !important;
    width: 100% !important;
}

.checkout-form .checkout-personal-fields .checkout-field {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

.checkout-form .checkout-personal-fields .checkout-field__input,
.checkout-form .checkout-personal-fields input,
.checkout-form .checkout-address-form__body input,
.checkout-form .checkout-address-form__body textarea,
.checkout-form .checkout-page table.adress td input,
.checkout-form .checkout-page table.adress td textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Форма адреса: таблица от CMS схлопывается, поля раскладываются сеткой
   в .checkout-address-form__body — см. блок «Сетка полей адреса» ниже.
   Привязка именно к .checkout-address-form__body: .checkout-page лежит
   снаружи .checkout-form, поэтому селектор через оба класса не совпал бы. */
.checkout-address-form__body table.adress,
.checkout-address-form__body table.adress tbody,
.checkout-address-form__body table.adress tr,
.checkout-address-form__body table.adress td {
    display: contents !important;
}

.checkout-address-form__body table.adress td {
    padding: 0 !important;
}

.checkout-form .checkout-page table.adress td.title {
    margin: 0 0 8px 0 !important;
    text-align: left !important;
}

.checkout-form .is-invalid.checkout-option label,
.checkout-form .checkout-agree.is-invalid,
.checkout-form .checkout-page table.adress tr.is-invalid input,
.checkout-form .checkout-field.is-invalid .checkout-field__input,
.checkout-form .checkout-personal-fields .checkout-field.is-invalid .checkout-field__input {
    border-color: rgba(233, 90, 12, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(233, 90, 12, 0.08) !important;
    background: #FFF8F5 !important;
}

/* ---------- Плавающие подписи полей ---------- */

.checkout-field {
    position: relative;
}

.checkout-form .checkout-field .checkout-field__input {
    min-height: 56px;
    padding: 23px 16px 9px !important;
}

.checkout-form .checkout-field--textarea .checkout-field__input {
    min-height: 96px;
    padding-top: 27px !important;
    resize: vertical;
}

.checkout-field .checkout-field__label {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    font-family: 'Lora', serif;
    font-size: 16px;
    line-height: 1;
    color: rgba(98, 96, 93, 0.58);
    pointer-events: none;
    transition: top 0.16s ease, font-size 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.checkout-field--textarea .checkout-field__label {
    top: 24px;
    transform: none;
}

/* подпись уезжает наверх, когда поле в фокусе или уже заполнено */
.checkout-field .checkout-field__input:focus ~ .checkout-field__label,
.checkout-field .checkout-field__input:not(:placeholder-shown) ~ .checkout-field__label {
    top: 11px;
    transform: none;
    font-size: 11.5px;
    letter-spacing: 0.02em;
    color: rgba(98, 96, 93, 0.78);
}

.checkout-field .checkout-field__input:focus ~ .checkout-field__label {
    color: rgba(233, 90, 12, 0.92);
}

/* ---------- Сетка полей адреса ---------- */

.checkout-form .checkout-address-form__body {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

/* Страховка: по умолчанию поле занимает всю строку, а короткие поля
   переопределяются ниже. Перечислены все варианты — обёртка .checkout-field,
   голый input/textarea в схлопнутой таблице и сама таблица, если
   display: contents почему-то не сработал. */
.checkout-form .checkout-address-form__body > *,
.checkout-address-form__body .checkout-field,
.checkout-address-form__body table.adress input,
.checkout-address-form__body table.adress textarea {
    grid-column: 1 / -1;
}

/* улица и дом — отдельной строкой во всю ширину */
.checkout-form .checkout-address-form__body [data-field$="[address]"] {
    grid-column: 1 / -1;
}

/* Подъезд, этаж и квартира — короткие, встают в один ряд.
   Селекторы продублированы для двух вариантов разметки: с обёрткой
   .checkout-field (data-field) и без неё, когда input лежит в сетке сам. */
.checkout-form .checkout-address-form__body [data-field$="[entrance]"],
.checkout-form .checkout-address-form__body [data-field$="[froor]"],
.checkout-form .checkout-address-form__body [data-field$="[flat]"],
.checkout-form .checkout-address-form__body input[name$="[entrance]"],
.checkout-form .checkout-address-form__body input[name$="[froor]"],
.checkout-form .checkout-address-form__body input[name$="[flat]"] {
    grid-column: span 2;
}

/* комментарий курьеру — снова во всю ширину */
.checkout-form .checkout-address-form__body [data-field$="[comment]"] {
    grid-column: 1 / -1;
}

@media (max-width: 640px) {
    .checkout-form .checkout-address-form__body {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        padding: 16px;
    }

    .checkout-form .checkout-address-form__body [data-field$="[entrance]"],
    .checkout-form .checkout-address-form__body [data-field$="[froor]"],
    .checkout-form .checkout-address-form__body [data-field$="[flat]"],
    .checkout-form .checkout-address-form__body input[name$="[entrance]"],
    .checkout-form .checkout-address-form__body input[name$="[froor]"],
    .checkout-form .checkout-address-form__body input[name$="[flat]"] {
        grid-column: span 1;
    }

    .checkout-field .checkout-field__label {
        left: 14px;
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .checkout-page {
        max-width: 430px;
        margin: 0 auto;
    }

    .checkout-form .checkout-card,
    .checkout-form .checkout-section,
    .checkout-form .checkout-agree,
    .checkout-form .checkout-card--sticky {
        width: calc(100% - 16px) !important;
        max-width: calc(100% - 16px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 14px !important;
    }

    .checkout-page table#order_block tr.checkout-item {
        overflow: hidden;
    }

    .checkout-page table#order_block td.photo a {
        width: 78px !important;
    }

    .checkout-item__title {
        font-size: 17px !important;
        line-height: 1.35 !important;
    }

    .checkout-qty {
        padding: 6px 10px !important;
    }

    .checkout-page table#order_block input.value_tovar {
        width: 52px !important;
        height: 38px !important;
    }
}

.checkout-form .checkout-address-form__body {
    padding: 20px !important;
}

@media (min-width: 769px) {
    .checkout-form .checkout-personal-fields .checkout-fields-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 18px !important;
        row-gap: 12px !important;
        width: 100% !important;
    }

    .checkout-form .checkout-personal-fields .checkout-field {
        margin: 0 !important;
    }
}

.checkout-form .checkout-personal-fields .checkout-reflection-cell,
.checkout-form .checkout-address-form__body .checkout-reflection-cell {
    padding: 0 !important;
}

.checkout-form .checkout-personal-fields tr,
.checkout-form .checkout-address-form__body tr {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
}

.checkout-form .checkout-personal-fields tr:last-child,
.checkout-form .checkout-address-form__body tr:last-child {
    margin-bottom: 0 !important;
}

.checkout-form .checkout-reflection-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.checkout-form .checkout-reflection-input--textarea {
    min-height: 110px;
    resize: vertical;
}

.checkout-form .checkout-personal-table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 12px !important;
    table-layout: fixed;
}

.checkout-form .checkout-personal-table tr {
    display: table-row !important;
    margin: 0 !important;
}

.checkout-form .checkout-personal-table td {
    padding: 0 !important;
    border: 0 !important;
}

.checkout-form .checkout-personal-table .checkout-reflection-input {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

h1.left[umi\:element-id="737"] {
    display: none !important;
}

/* ========================================================
   Mobile Adaptive Styles for Articles
   Override legacy layout for screens < 768px
   ======================================================== */

@media (max-width: 767px) {
    .articlesBlockIndex .articlesItem {
        width: 100% !important;
        margin: 20px 0 !important;
        padding: 0 !important;
    }

    .articlesBlockIndex .articlesItem .anons_img {
        display: block !important;
        float: none !important;
        margin: 10px auto 15px !important;
        width: 50% !important;
    }

    .articlesBlockIndex .articlesItem .anons_img img {
        width: 100% !important;
        height: auto !important;
        display: block;
    }

    .articlesBlockIndex .articlesItem .anons_text {
        display: block !important;
        overflow: visible !important;
        padding: 0 15px 15px 15px !important;
    }

    .articlesBlockIndex .articlesItem .anons_text a.articles_title {
        font-size: 1.1em !important;
        margin-bottom: 8px !important;
    }

    .articlesBlockIndex .articlesItem .anons_text p {
        font-size: 0.75em !important;
        margin-bottom: 10px !important;
    }

    .articlesBlockIndex .articlesItem .anons_text a.articles_link {
        text-align: center !important;
        margin: auto;
        padding: 8px 0 0 0 !important;
        font-size: 0.9em !important;
    }

    .articlesBlockIndex .articlesItem .clear {
        display: none;
    }
}

/* ========================================================
   Catalog Refresh (visual only, no mechanics)
   ======================================================== */

.catalog-page {
    padding: 24px 0 36px;
}

.catalog-page > .leftColumn {
    width: 24%;
    margin-top: 15px;
    padding: 15px 30px;
    background: #F5F4F2;
    border: 1px solid rgb(98, 96, 93, 0.2);
    border-radius: 18px;
    box-sizing: border-box;
}

.catalog-page > .rightColumn.catalog-main {
    width: 74%;
    padding-left: 18px;
    box-sizing: border-box;
}

.catalog-page .catalog-main > p {
    max-width: 95%;
    margin: 0 auto 14px;
    color: #6b6864;
    line-height: 1.55;
    text-align: center;
}

.catalog-page .catalog-mobile-categories-toggle,
.catalog-page .catalog-mobile-categories-button {
    display: none;
}

/* Сортировка и поиск — две самостоятельные карточки в общей строке
   (.catalog-toolbar), не одна общая панель. На ≤1024px строка становится
   колонкой, и .catalog-search переставляется через order выше .sotring —
   порядок «Категории, Поиск, Сортировка», который просил владелец. */
.catalog-toolbar {
    display: flex;
    /* stretch (не flex-start) — обе карточки растягиваются до высоты более
       высокой из них; вместе с одинаковым min-height ниже это и убирает
       перекос по высоте между сортировкой и поиском */
    align-items: stretch;
    gap: 16px;
    margin: 0 0 20px;
}

.catalog-page .sotring {
    flex: 1 1 auto;
    min-width: 0;
    /* тот же min-height, что у .catalog-search и у кнопки «Категории» —
       общий якорь высоты для всех трёх карточек колонки */
    min-height: 55px;
    box-sizing: border-box;
    margin: 0;
    padding: 12px 30px;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    background: #f5f4f2;
    border: 1px solid rgb(98, 96, 93, 0.2);
    border-radius: 12px;
    color: #78726b;
    font-family: 'Lora', serif;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.catalog-page .sotring .sorting-label {
    color: #7b746d;
    font-size: 16px;
    white-space: nowrap;
}

.catalog-page .sotring .sorting-options {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-wrap: wrap;
}

.catalog-page .sotring a {
    color: #8f867d;
    text-decoration: none;
    border: 1px solid #ddd4c9;
    border-radius: 999px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: #fff;
    transition: all 0.2s ease;
}

.catalog-page .sotring a:hover,
.catalog-page .sotring a.active {
    color: #7d4321;
    border-color: #be9f83;
    background: #efe2d3;
}

/* Карточка поиска — по ширине равна одной карточке товара: та же математика,
   что и у .catalog-page .catalogList (3 колонки, зазор между колонками 16px),
   поэтому при изменении раскладки сетки эту формулу нужно поправить вместе с ней.

   Иконка и поле — обычные flex-соседи с gap, не абсолютное позиционирование
   поверх поля: с ним легко ошибиться в расчёте отступа (там и была причина
   «иконка почти прилипла к тексту» на мобильной версии), а gap считает сам. */
/* Элемент — label, а не div: клик по пустому месту карточки (не только
   по самому input) должен ставить курсор в поле, это стандартное поведение
   label[for] для текстовых input, ровно как у соседней кнопки «Категории». */
.catalog-search {
    flex: 0 0 auto;
    width: calc((100% - 2 * 16px) / 3);
    max-width: 100%;
    /* 55px = высота поля (35px) + вертикальный padding (2×10px) — тот же
       min-height стоит у .sotring и у кнопки «Категории», чтобы все три
       карточки колонки совпадали по высоте */
    min-height: 55px;
    margin: 0;
    padding: 10px 14px;
    box-sizing: border-box;
    cursor: text;

    display: flex;
    align-items: center;
    gap: 10px;

    background: #f5f4f2;
    border: 1px solid rgb(98, 96, 93, 0.2);
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.catalog-search__icon {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    color: #9a9188;
    pointer-events: none;
}

/* Только для мобильного состояния покоя (см. @media max-width:1024px ниже) —
   на десктопе не используется вообще, input там всегда во всю ширину. */
.catalog-search__idle-text {
    display: none;
}

/* поле внутри карточки — заметно уже её собственных краёв за счёт padding
   на .catalog-search выше, чтобы читалось как «поле внутри рамки», а не
   рамка-на-рамке */
.catalog-search__input {
    flex: 1 1 auto;
    min-width: 0;
    /* 35px + 2×10px padding у .catalog-search (родителя) = 55px —
       ровно тот же min-height, что у .sotring и у кнопки «Категории» */
    height: 35px;
    padding: 0 12px;
    box-sizing: border-box;

    background: #fff;
    border: 1px solid #ddd4c9;
    border-radius: 10px;
    color: #57534e;
    font-family: 'Lora', serif;
    /* 16px и выше — иначе Safari на iOS зумит страницу при фокусе на поле;
       ограничение действует на всём тач-диапазоне (в т.ч. iPad ≤1024px),
       поэтому фиксируем это сразу в базовом правиле, а не только на телефонах */
    font-size: 16px;
}

.catalog-search__input::placeholder {
    color: #a39a8f;
}

.catalog-search__input:focus {
    outline: none;
    border-color: #be9f83;
    box-shadow: 0 0 0 3px rgba(190, 159, 131, 0.18);
}

/* иконка стоит в разметке перед input (нужна для абсолютного позиционирования
   слева), поэтому подсвечиваем её через :focus-within на общем контейнере —
   соседний селектор от input тут не сработал бы */
.catalog-search:focus-within .catalog-search__icon {
    color: #7d4321;
}

.catalog-search-empty {
    margin: 10px 0 24px;
    padding: 22px;
    text-align: center;
    background: #f5f4f2;
    border: 1px dashed rgb(98, 96, 93, 0.28);
    border-radius: 12px;
    color: #78726b;
    font-family: 'Lora', serif;
    font-size: 15px;
}

.catalog-search-empty span {
    color: #57534e;
    font-weight: 600;
}

/* пока ответ живого поиска летит с сервера — сетка слегка гаснет,
   чтобы клик по «В корзину» не пришёлся на карточку, которая
   вот-вот исчезнет */
.catalog-page .catalogList.is-searching {
    opacity: 0.45;
    pointer-events: none;
    transition: opacity 0.12s ease;
}

.catalog-page > .leftColumn h3 {
    margin: 4px 0 12px;
    font-size: 28px;
    font-weight: 600;
    text-transform: none;
    text-align: center;
    color: #57534e;
}

.catalog-page > .leftColumn > hr {
    width: 70px;
    display: block;
    margin: 10px auto 12px;
    background-color: #d7d7d4;
}

.catalog-page .leftColumn .innermenu li {
    margin: 6px 0;
}

.catalog-page .leftColumn .innermenu li a {
    margin-left: 0;
    padding: 7px 0;
    font-size: 18px;
    line-height: 1.25;
    color: #4c4843;
    text-transform: none;
    transition: all 0.2s ease;
}

.catalog-page .leftColumn .innermenu li a:before {
    content: "•";
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    margin: 0 10px 0 0;
    padding: 0;
    background: none !important;
    font-size: 22px;
    line-height: 0.85;
    color: #c7b09a;
    vertical-align: middle;
    transition: all 0.2s ease;
}

.catalog-page .leftColumn .innermenu li:hover a {
    color: #e9510e;
    transform: translateX(3px);
}

.catalog-page .leftColumn .innermenu li.active a {
    color: #e9510e;
}

.catalog-page .leftColumn .innermenu li:hover a:before {
    color: #e9510e;
    transform: translateX(3px);
}

.catalog-page .leftColumn .innermenu li.active a:before {
    color: #e9510e;
}

.catalog-page .leftColumn .brands div a {
    width: 100%;
    max-width: 180px;
    margin: 6px auto;
    border: 1px solid #ece7e1;
    border-radius: 12px;
    padding: 10px;
    transition: all 0.2s ease;
}

.catalog-page .leftColumn .brands div a.active,
.catalog-page .leftColumn .brands div a:hover {
    border-color: #d7c2ae;
    box-shadow: 0 4px 16px rgba(53, 37, 27, 0.08);
}

.catalog-page .leftColumn .brands div,
.catalog-page .leftColumn .brands {
    text-align: center;
}

.catalog-page .leftColumn .brands div.active:after,
.catalog-page .leftColumn .brands div:hover:after {
    display: none;
    content: none;
}

.catalog-page .catalogList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 16px;
}

.catalog-page .catalogList .item {
    margin: 0;
    padding: 12px 12px 20px;
    float: none;
    width: auto;
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
    border: 1px solid rgb(98, 96, 93, 0.2);
    border-radius: 16px;
    background: #FAF9F7;
    transition: all 0.3s ease;
    position: relative;
}

.catalog-page .catalogList .item:hover {
    box-shadow: 0 14px 30px rgba(53, 37, 27, 0.13);
    transform: translateY(-3px);
}

.catalog-page .catalogList .item .photo {
    border: 1px solid rgb(98, 96, 93, 0.2);
    border-radius: 16px;
    background:
        radial-gradient(ellipse 70% 65% at 50% 50%,
            rgba(255, 255, 255, 0.95) 0%,
            rgba(255, 250, 240, 0.55) 45%,
            rgba(255, 250, 240, 0) 100%);
}

.catalog-page .catalogList .item:hover .photo {
    border-color: rgb(98, 96, 93, 0.2);
}

.catalog-page .catalogList .item .photo a {
    min-height: 210px;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    box-sizing: border-box;
    padding: 0;
    overflow: hidden;
    background: none;
}

.catalog-page .catalogList .item .photo img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    display: block;
}

.catalog-page .catalogList .item a.title {
    margin: 12px 6px 0;
    min-height: 52px;
    height: auto;
    font-size: 16px;
    line-height: 1.3;
    color: #3f3a34;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.catalog-page .catalogList .item a.title .title-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.catalog-page .catalogList .item .price-basket {
    margin: 12px 0 8px;
    padding: 11px 25px;
    border-top: 1px solid #efe8e1;
    border-bottom: 1px solid #efe8e1;
}

.catalog-page .catalogList .item .price {
    font-size: 20px;
    font-weight: 600;
    color: #36322d;
}

.catalog-page .catalogList .item .basket a.non_basket,
.catalog-page .catalogList .item .basket a.in_basket {
    font-size: 15px;
    font-family: 'Lora', serif;
    letter-spacing: 0.1px;
}

.catalog-page .catalogList .item .basket a.non_basket {
    color: #e9510e;
    transition: all 0.2s ease;
}

.catalog-page .catalogList .item .basket a.non_basket:hover,
.catalog-page .catalogList .item .basket a.non_basket:focus {
    color: #62605D;
}

.catalog-page .catalogList .item .basket a.non_basket:hover:before,
.catalog-page .catalogList .item .basket a.non_basket:focus:before {
    color: #62605D;
}

.catalog-page .catalogList .item .basket a.in_basket {
    color: #6c6760;
}

.catalog-page .catalogList .item .status {
    margin-top: auto;
    padding-top: 6px;
    font-size: 14px;
    color: #66615a;
}

.catalog-page .numpage {
    margin: 20px 0 8px;
}

.catalog-page .numpage .pages a {
    margin: 0 2px;
    padding: 5px 10px;
    border-radius: 8px;
}

@media (max-width: 1024px) {
    .catalog-page > .leftColumn {
        width: 100%;
        float: none;
        margin-bottom: 18px;
    }

    .catalog-page > .rightColumn.catalog-main {
        width: 100%;
        float: none;
        padding-left: 0;
    }

    .catalog-page .catalogList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .catalog-page .catalogList .item {
        width: auto !important;
        height: auto;
        min-height: 0;
    }

    .catalog-page .catalogList .item a.title {
        font-size: 16px;
    }

    /* та же точка, где вся страница переходит на мобильную раскладку:
       строка с сортировкой и поиском становится колонкой, каждая карточка —
       на всю ширину, а порядок переставлен через order на «Поиск, Сортировка»
       (Категории идут первыми сами по себе, это уже .leftColumn выше) */
    .catalog-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .catalog-page .sotring {
        order: 2;
    }

    .catalog-search {
        order: 1;
        width: 100%;
    }

    /* Пока поле пустое и не в фокусе — тихая кнопка без заливки, как
       «Категории» рядом: тот же цвет, кегль и начертание текста, иконка
       вплотную к подписи, пара центрирована по всей строке.

       Две прошлые попытки (фиксированная ширина инпута в px, потом в ch)
       пытались УГАДАТЬ ширину плейсхолдера — то мимо в одну сторону
       (обрезался текст), то в другую (текст левым краем прилипал к иконке,
       а справа повисал пустой хвост, потому что реальный текст короче
       выделенной под него ширины). У input нет способа посчитать ширину
       по своему же placeholder без JS — здесь этого и не пытаемся сделать.

       Вместо этого: сам input, пока пуст и не в фокусе, схлопнут до нуля
       (invisible, но по-прежнему кликабелен и фокусируется — это работает
       через <label for>, а не через размер самого input, так что «клик
       в любую точку» не ломается). Рядом с иконкой вместо него показан
       обычный <span> с тем же текстом — у span, в отличие от input, есть
       настоящий размер по содержимому, поэтому icon + span центрируются
       через justify-content без каких-либо расчётов на глаз. Встал фокус
       или появился текст — span прячется, input проявляется и растягивается
       на всю ширину. */
    .catalog-search {
        background: none;
        justify-content: center;
        gap: 6px; /* как у «Категории» — иконка вплотную к тексту, не 10px базовых */
    }

    .catalog-search__input {
        flex: 0 0 0;
        width: 0;
        min-width: 0;
        padding: 0;
        border-color: transparent;
        opacity: 0;
        transition: flex-grow 0.22s ease, opacity 0.15s ease;
    }

    .catalog-search__idle-text {
        display: inline;
        color: #62605d;
        font-family: 'Lora', serif;
        font-size: 17px;
        font-weight: 500;
        letter-spacing: 0.01em;
        cursor: text;
    }

    .catalog-search:focus-within {
        background: #fff;
    }

    .catalog-search:focus-within .catalog-search__input,
    .catalog-search__input:not(:placeholder-shown) {
        flex: 1 1 auto;
        width: auto;
        padding: 0 12px;
        opacity: 1;
        background: #fff;
        border-color: #ddd4c9;
        font-weight: 400;
    }

    /* текст-подсказка прячется, как только input встал в фокус или в нём
       уже есть символы — дальше это обычное развёрнутое поле поиска */
    .catalog-search:focus-within .catalog-search__idle-text,
    .catalog-search__input:not(:placeholder-shown) ~ .catalog-search__idle-text {
        display: none;
    }
}

@media (max-width: 480px) {
    .catalog-page {
        padding: 10px 8px 14px;
    }

    .catalog-page .catalog-mobile-categories-toggle {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .catalog-page .catalog-mobile-categories-button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 95%;
        /* тот же min-height, что у .sotring и .catalog-search ниже —
           без него кнопка была на глаз заметно ниже соседних карточек
           (~49px против их 58px) */
        min-height: 55px;
        margin: 8px auto;
        padding: 12px 14px;
        border: 1px solid rgba(98, 96, 93, 0.25);
        border-radius: 14px;
        background: none;
        color: #62605d;
        font-family: 'Lora', serif;
        font-size: 17px;
        font-weight: 500;
        text-align: center;
        line-height: 1.2;
        letter-spacing: 0.01em;
        white-space: nowrap;
        box-sizing: border-box;
        cursor: pointer;
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }

    .catalog-page .catalog-mobile-categories-icon {
        position: relative;
        display: block;
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
    }

    .catalog-page .catalog-mobile-categories-icon:before,
    .catalog-page .catalog-mobile-categories-icon:after {
        width: 75%;
        content: "";
        position: absolute;
        inset: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: opacity 0.25s ease, transform 0.25s ease;
    }

    .catalog-page .catalog-mobile-categories-icon:before {
        opacity: 1;
        transform: scale(1) rotate(0deg);
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 10H7C9 10 10 9 10 7V5C10 3 9 2 7 2H5C3 2 2 3 2 5V7C2 9 3 10 5 10Z' stroke='%2362605D' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17 10H19C21 10 22 9 22 7V5C22 3 21 2 19 2H17C15 2 14 3 14 5V7C14 9 15 10 17 10Z' stroke='%2362605D' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17 22H19C21 22 22 21 22 19V17C22 15 21 14 19 14H17C15 14 14 15 14 17V19C14 21 15 22 17 22Z' stroke='%2362605D' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 22H7C9 22 10 21 10 19V17C10 15 9 14 7 14H5C3 14 2 15 2 17V19C2 21 3 22 5 22Z' stroke='%2362605D' stroke-width='1.5' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    .catalog-page .catalog-mobile-categories-icon:after {
        opacity: 0;
        transform: scale(0.9) rotate(-90deg);
        background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7L17 17' stroke='%2362605D' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M17 7L7 17' stroke='%2362605D' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
    }

    .catalog-page .catalog-mobile-categories-text:before {
        content: "Категории";
    }

    .catalog-page .catalog-mobile-categories-toggle:checked + .catalog-mobile-categories-button {
        background: none;
        border-color: rgba(98, 96, 93, 0.35);
    }

    .catalog-page .catalog-mobile-categories-toggle:checked + .catalog-mobile-categories-button .catalog-mobile-categories-icon:before {
        opacity: 0;
        transform: scale(0.9) rotate(90deg);
    }

    .catalog-page .catalog-mobile-categories-toggle:checked + .catalog-mobile-categories-button .catalog-mobile-categories-icon:after {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }

    .catalog-page .catalog-mobile-categories-toggle:checked + .catalog-mobile-categories-button .catalog-mobile-categories-text:before {
        content: "Скрыть";
    }

    .catalog-page > .leftColumn {
        display: none;
        width: 95%;
        float: none;
        margin: 0 auto 10px;
        padding: 12px 25px;
    }

    .catalog-page .catalog-mobile-categories-toggle:checked ~ .leftColumn {
        display: block;
    }

    .catalog-page > .leftColumn > br {
        display: none;
    }

    .catalog-page > .leftColumn h3:nth-of-type(2),
    .catalog-page > .leftColumn h3:nth-of-type(2) + hr,
    .catalog-page > .leftColumn .brands {
        display: none;
    }

    .catalog-page > .rightColumn.catalog-main {
        width: 100%;
        padding-left: 0;
        float: none;
    }

    .catalog-page .sotring {
        width: 95%;
        padding: 10px 18px;
        /* только центрирование по горизонтали — вертикальный отступ уже
           даёт gap у .catalog-toolbar; свой margin-top/bottom тут задвоил бы его */
        margin: 0 auto;
        border-radius: 10px;
        gap: 8px;
        background: #f5f4f2;
    }

    .catalog-page .sotring .sorting-label {
        font-size: 13px;
    }

    /* пилюли остаются прижаты вправо на любом размере экрана — не центрируем */
    .catalog-page .sotring .sorting-options {
        justify-content: flex-end;
        gap: 8px;
    }

    .catalog-page .sotring a {
        font-size: 10px;
        padding: 6px 8px;
    }

    /* карточка поиска — тот же 95%-центрированный формат ширины, что и
       у .sotring выше; отступ между ними уже задаёт gap у .catalog-toolbar,
       свой margin-bottom тут не нужен — задвоил бы промежуток */
    .catalog-search {
        width: 95%;
        margin: 0 auto;
        padding: 8px 18px;
    }

    .catalog-search__input {
        /* 39px + 2×8px padding у .catalog-search на этой ширине = 55px */
        height: 39px;
        font-size: 16px; /* 16px — чтобы Safari на iOS не зумил страницу при фокусе на поле */
    }

    .catalog-page .catalogList {
        max-width: 95%;
        margin: 20px auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .catalog-page .catalogList .item {
        width: auto !important;
        margin: 0;
        padding: 6px;
        border-radius: 10px;
        box-shadow: 0 2px 8px rgba(53, 37, 27, 0.06);
    }

    .catalog-page .catalogList .item .photo a {
        min-height: 105px;
        padding: 0;
    }

    .catalog-page .catalogList .item .photo img {
        width: 100%;
        height: 100%;
        max-height: none;
    }

    .catalog-page .catalogList .item a.title {
        min-height: 38px;
        margin: 8px 4px 0;
        font-size: 12px;
        line-height: 1.2;
    }

    .catalog-page .catalogList .item .price-basket {
        margin: 8px 0 2px;
        padding: 8px 5px;
        grid-template-columns: 1fr;
        row-gap: 4px;
    }

    .catalog-page .catalogList .item .price {
        font-size: 16px;
        justify-self: center;
        text-align: center;
    }

    .catalog-page .catalogList .item .basket {
        justify-self: center;
        text-align: center;
    }

    .catalog-page .catalogList .item .basket a.non_basket,
    .catalog-page .catalogList .item .basket a.in_basket {
        font-size: 12px;
    }

    .catalog-page .catalogList .item .status {
        font-size: 12px;
        padding-top: 2px;
    }

    .catalog-page > .leftColumn h3 {
        display: none;
    }

    .catalog-page > .leftColumn > hr {
        display: none;
    }
}

@media (max-width: 480px) {
    .contacts-social__list {
        margin: 0 auto;
        width: 70%;
    }
}

@media (max-width: 480px) {
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] {
        max-width: 95%;
        margin: 0 auto;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] p,
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .img {
        text-align: justify;
        max-width: 95%;
        margin: 0 auto 14px;
        font-size: 16px;
        line-height: 1.4;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] img {
        display: block;
        max-width: 95% !important;
        height: auto !important;
        margin: 0;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] > .img > img {
        display: none !important;
    }

    #content.contentInner .content > h1.left {
        max-width: 95%;
        margin: 12px auto 16px;
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    .checkout-order-note {
        text-align: left !important; 
        margin: 18px auto 20px !important;
    }

    .checkout-order-meta__row {
        margin: 0 10px !important;
    }

    .checkout-eyebrow {
        margin: 10px auto !important;
    }

    .checkout-section__eyebrow {
        margin: 5px auto 0 !important;
    }

    .checkout-page__lead {
        text-align: center !important;
        margin: 10px auto !important;
    }

    .checkout-agree {
        margin: -10px auto 10px !important;
    }

    .checkout-page {
        padding-bottom: 0 !important;
    }

    .checkout-helper-link {
        width: 100%;
        text-align: center;
        margin: 10px auto 5px;
    }

    .checkout-button--primary {
        margin-top: 30px !important;
    }
}

@media (min-width: 769px) {
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] {
        max-width: 86%;
        margin: 0 auto;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] p,
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .img {
        max-width: 86%;
        margin: 0 auto 16px;
    }

    .product-main-card__description p {
        max-width: 100% !important;
        width: 100% !important;
        text-align: justify !important;
        margin: 0 auto !important;
    }

    .product-info-card--delivery p {
        text-align: center !important;
        margin: 0 auto 12px !important;
    }

    .product-info-card--delivery li {
        text-align: center !important;
        margin: 0 0 12px 0 !important;
    }

    .product-info-card--payment p {
        text-align: center !important;
        margin: 0 auto 12px !important;
    }

    #content.contentInner .content > h1.left {
        max-width: 86%;
        margin: 14px auto 18px;
        font-size: 36px;
        line-height: 1.2;
    }

    .checkout-page__lead {
        margin: 15px auto !important;
    }

    .checkout-button--primary {
        margin: 25px auto 0 !important;
    }
    
    .checkout-order-note {
        margin: 10px auto 0 !important;
        text-align: center;
        line-height: 1.3;
    }
}

/* ========================================================
   Product page refresh (catalog view_block)
   ======================================================== */

.ItemFull.product-page {
    margin: 8px auto 28px;
}

.ItemFull.product-page .catalogItem {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.ItemFull.product-page .product-main-card {
    --product-main-column-height: 500px;
    --product-main-photo-height: calc(var(--product-main-column-height) - 46px);
    margin-top: 20px;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 380px);
    gap: 22px;
    align-items: start;
}

.ItemFull.product-page .product-main-card__media,
.ItemFull.product-page .product-main-card__details,
.ItemFull.product-page .product-main-card__description,
.ItemFull.product-page .product-info-card {
    min-width: 0;
    background: #f5f4f2;
    border: 1px solid #cfcfcc;
    border-radius: 18px;
    padding: 22px;
    box-sizing: border-box;
}

.ItemFull.product-page .product-main-card__media > u {
    display: none;
}

.ItemFull.product-page .product-main-card__media {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ItemFull.product-page .product-main-card__media.product-main-card__media--single {
    height: var(--product-main-column-height);
}

.ItemFull.product-page .photo {
    width: 100%;
    height: var(--product-main-photo-height);
    margin: 0;
    aspect-ratio: auto;
    padding: 0;
    background:
        radial-gradient(ellipse 65% 60% at 50% 50%,
            rgba(255, 255, 255, 0.95) 0%,
            rgba(255, 250, 240, 0.55) 45%,
            rgba(255, 250, 240, 0) 100%);
    border: 1px solid rgba(98, 96, 93, 0.12);
    border-radius: 16px;
    overflow: hidden;
    box-sizing: border-box;
}

.ItemFull.product-page .product-main-card__media.product-main-card__media--single .photo {
    flex: 0 0 auto;
    min-height: 0;
}

.ItemFull.product-page .photo a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: zoom-in;
}

.ItemFull.product-page .photo img {
    width: auto !important;
    max-width: 100%;
    max-height: 100%;
    height: auto !important;
    object-fit: contain;
    cursor: zoom-in;
}

/* Main product image: fill by container height/width without side bars */
.ItemFull.product-page .product-main-card__media .photo[data-product-gallery-main] img {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

.ItemFull.product-page .photoSmall {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.ItemFull.product-page .photoSmall:empty {
    display: none;
}

.ItemFull.product-page .photoSmall > a,
.ItemFull.product-page .photoSmall > .product-gallery-thumb {
    width: 100%;
    margin: 0;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fffefc;
    border: 1px solid rgba(98, 96, 93, 0.12);
    border-radius: 14px;
    overflow: hidden;
    box-sizing: border-box;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ItemFull.product-page .photoSmall > a:hover,
.ItemFull.product-page .photoSmall > .product-gallery-thumb:hover {
    transform: translateY(-2px);
    border-color: rgba(219, 90, 26, 0.32);
    box-shadow: 0 10px 20px rgba(62, 48, 35, 0.08);
}

.ItemFull.product-page .photoSmall > a.is-active,
.ItemFull.product-page .photoSmall > .product-gallery-thumb.is-active {
    border-color: rgba(219, 90, 26, 0.42);
}

.ItemFull.product-page .photoSmall > a img,
.ItemFull.product-page .photoSmall > .product-gallery-thumb img {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

.ItemFull.product-page .product-main-card__details {
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: var(--product-main-column-height);
}

.ItemFull.product-page .product-main-card__description {
    margin: 0;
    padding: 28px 30px;
    color: #3f3c38;
    font-size: 18px;
    line-height: 1.72;
    overflow-wrap: anywhere;
}

.ItemFull.product-page .product-main-card__description > *:first-child {
    margin-top: 0;
}

.ItemFull.product-page .product-main-card__description > *:last-child {
    margin-bottom: 0;
}

.ItemFull.product-page .product-main-card__description p,
.ItemFull.product-page .product-main-card__description ul,
.ItemFull.product-page .product-main-card__description ol {
    margin: 0 0 14px;
}

.ItemFull.product-page .product-main-card__description ul,
.ItemFull.product-page .product-main-card__description ol {
    padding-left: 22px;
}

.ItemFull.product-page .product-main-card__description li {
    margin-bottom: 8px;
}

.ItemFull.product-page .product-main-card__headline {
    padding-left: 15px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(98, 96, 93, 0.16);
}

.ItemFull.product-page .price,
.ItemFull.product-page .akciyaBlock {
    margin: 0;
    padding: 0;
    font-size: 40px;
    line-height: 1.05;
    color: #2d2925;
    white-space: nowrap;
}

.ItemFull.product-page .price:after,
.ItemFull.product-page .akciyaBlock strike:after,
.ItemFull.product-page .akciyaBlock span.price:after {
    content: " \20BD";
    font-family: inherit;
    font-size: 0.7em;
    font-weight: inherit;
    line-height: 1;
    color: inherit;
    vertical-align: baseline;
    margin-left: 0.18em;
    padding: 0;
}

.ItemFull.product-page .status {
    float: none;
    width: auto;
    margin: 0;
    padding: 10px 14px;
    font-size: 15px;
    line-height: 1.2;
    text-align: left;
    font-style: normal;
    background: #fffefc;
    border: 1px solid rgba(98, 96, 93, 0.16);
    border-radius: 999px;
    box-sizing: border-box;
    white-space: nowrap;
}

.ItemFull.product-page .status span {
    position: relative;
    display: inline-block;
    margin: 0;
    padding-left: 16px;
}

.ItemFull.product-page .status span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    margin: 0;
    border-radius: 50%;
    background: #9c9a95;
    transform: translateY(-50%);
}

.ItemFull.product-page .status span.ok {
    color: #566b5a;
}

.ItemFull.product-page .status span.ok:before {
    background: #6c8a72;
    width: 8px;
    height: 8px;
}

.ItemFull.product-page .status span.no {
    color: #a86a57;
}

.ItemFull.product-page .status span.no:before {
    background: #c27b67;
    width: 8px;
    height: 8px;
}

.ItemFull.product-page .product-main-card__meta {
    display: grid;
    gap: 12px;
}

.ItemFull.product-page .ves,
.ItemFull.product-page .tara,
.ItemFull.product-page .proizvoditel {
    width: 100%;
    min-height: 82px;
    margin: 0;
    padding: 14px 16px;
    background: #fffefc;
    border: 1px solid rgba(98, 96, 93, 0.14);
    border-radius: 14px;
    box-sizing: border-box;
    font-size: 17px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ItemFull.product-page .ves b,
.ItemFull.product-page .tara b,
.ItemFull.product-page .proizvoditel b {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    color: #8a8279;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ItemFull.product-page .ves b:before,
.ItemFull.product-page .tara b:before,
.ItemFull.product-page .proizvoditel b:before {
    content: none;
    display: none;
}

.ItemFull.product-page .basket.product-main-card__basket {
    margin: auto 0 0;
    padding-top: 2px;
}

.ItemFull.product-page .product-basket-widget {
    width: 100%;
    margin: 0;
    min-height: 54px;
    position: relative;
}

.ItemFull.product-page .product-basket-widget.is-basket-loading {
    pointer-events: none;
}

/* Одна строка: слева раскрываются [−][+], справа одна ячейка — «В корзину» / «В корзине (n)» (без scale/transform) */
.ItemFull.product-page .product-basket-widget .basket-controls-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-height: 54px;
    box-sizing: border-box;
    gap: 0;
    transition: gap 0.42s cubic-bezier(0.22, 1, 0.36, 1);
}

.ItemFull.product-page .product-basket-widget.is-filled .basket-controls-row {
    gap: 8px;
}

.ItemFull.product-page .product-basket-widget .basket-side {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition:
        flex 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        min-width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        max-width 0.42s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.26s ease;
}

.ItemFull.product-page .product-basket-widget.is-filled .basket-side {
    flex: 0 0 54px;
    width: 54px;
    min-width: 54px;
    max-width: 54px;
    opacity: 1;
    overflow: visible;
    pointer-events: auto;
}

.ItemFull.product-page .product-basket-widget .basket-side .basket-stepper__control {
    width: 100%;
    height: 100%;
    min-height: 54px;
    margin: 0;
}

.ItemFull.product-page .product-basket-widget .basket-primary-cell {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    position: relative;
    align-self: stretch;
}

.ItemFull.product-page .product-basket-widget .basket-primary-face {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 14px;
    transition: opacity 0.36s ease;
}

.ItemFull.product-page .product-basket-widget .basket-primary-face--cart {
    opacity: 0;
    pointer-events: none;
    z-index: 1;
}

.ItemFull.product-page .product-basket-widget.is-filled .basket-primary-face--add {
    opacity: 0;
    pointer-events: none;
}

.ItemFull.product-page .product-basket-widget.is-filled .basket-primary-face--cart {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.ItemFull.product-page .product-basket-widget .basket-button--add,
.ItemFull.product-page .product-basket-widget .basket-stepper__summary,
.ItemFull.product-page .product-basket-widget .basket-stepper__control {
    min-height: 54px;
    box-sizing: border-box;
    border-radius: 14px;
}

.ItemFull.product-page .product-basket-widget .basket-button--add {
    width: 100%;
    height: 100%;
    padding: 16px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f55a08;
    background: linear-gradient(180deg, #ff640f 0%, #f55a08 100%);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 0.06em;
    box-shadow: 0 12px 24px rgba(217, 89, 27, 0.18);
    transition: box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.ItemFull.product-page .product-basket-widget .basket-button--add:hover {
    background: linear-gradient(180deg, #ff752d 0%, #f55a08 100%);
    box-shadow: 0 16px 28px rgba(217, 89, 27, 0.24);
}

.ItemFull.product-page .product-basket-widget .basket-button--add:before,
.ItemFull.product-page .product-basket-widget .basket-stepper__summary:before {
    content: "\f07a";
    font-family: FontAwesome;
    position: static;
    width: auto;
    height: auto;
    margin: 0 10px 0 0;
    background: none;
    font-size: 16px;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__control {
    padding: 0;
    border: 1px solid rgba(98, 96, 93, 0.18);
    background: #fffefc;
    color: #4b4742;
    font-family: 'Lora', serif;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__control:hover:not(:disabled) {
    border-color: rgba(245, 90, 8, 0.28);
    box-shadow: 0 10px 20px rgba(62, 48, 35, 0.08);
    color: #f55a08;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__control:disabled {
    opacity: 0.45;
    cursor: default;
    box-shadow: none;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__summary {
    width: 100%;
    height: 100%;
    padding: 16px 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 4px;
    white-space: nowrap;
    border: 1px solid rgba(98, 96, 93, 0.18);
    background: #fffefc;
    color: #3f3c38;
    text-decoration: none;
    font-size: 13px;
    letter-spacing: 0.04em;
    box-shadow: 0 10px 22px rgba(62, 48, 35, 0.07);
    transition: box-shadow 0.18s ease, border-color 0.18s ease;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__summary:before {
    color: #3F3C38;
    flex-shrink: 0;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__summary:hover {
    border-color: rgba(245, 90, 8, 0.24);
    box-shadow: 0 14px 26px rgba(62, 48, 35, 0.1);
}

.ItemFull.product-page .product-basket-widget .basket-stepper__label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.ItemFull.product-page .product-basket-widget .basket-stepper__count {
    font-weight: normal;
    flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
    .ItemFull.product-page .product-basket-widget .basket-controls-row,
    .ItemFull.product-page .product-basket-widget .basket-side,
    .ItemFull.product-page .product-basket-widget .basket-primary-face {
        transition-duration: 0.01ms !important;
        transition-delay: 0s !important;
    }
}

.ItemFull.product-page .mobile_dop_addBasketLink {
    display: none;
}

.product-photo-viewer {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    background: rgba(20, 17, 15, 0.88);
    z-index: 9999;
    box-sizing: border-box;
    cursor: zoom-out;
}

.product-photo-viewer[hidden] {
    display: none !important;
}

.product-photo-viewer__image {
    max-width: min(92vw, 1240px);
    max-height: 88vh;
    width: auto;
    height: auto;
    border-radius: 20px;
    background: #fffefc;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
    cursor: zoom-out;
}

.product-photo-viewer__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16);
    cursor: pointer;
}

.product-photo-viewer__close:before {
    content: "\00D7";
    display: block;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 30px;
    line-height: 48px;
    text-align: center;
}

body.product-photo-viewer-open {
    overflow: hidden;
}

.ItemFull.product-page .product-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 0;
    align-items: stretch;
}

.ItemFull.product-page .product-info-card {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.ItemFull.product-page .product-info-card h3 {
    display: flex;
    margin: 0 auto 18px;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    background: #fffefc;
    color: #8a8279;
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ItemFull.product-page .product-info-card h3.deliv:before,
.ItemFull.product-page .product-info-card h3.opla:before {
    content: none;
    display: none;
}

.ItemFull.product-page .product-info-card h4 {
    margin: 18px 0 10px;
    padding-top: 18px;
    border-top: 1px solid rgba(98, 96, 93, 0.14);
    font-size: 24px;
    font-weight: 400;
    color: #3f3c38;
}

.ItemFull.product-page .product-info-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ItemFull.product-page .product-info-card li,
.ItemFull.product-page .product-info-card p {
    margin: 0 0 12px;
    color: #4b4742;
    font-size: 18px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.ItemFull.product-page .product-info-card li {
    position: relative;
    padding-left: 18px;
}

.ItemFull.product-page .product-info-card li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d76d32;
}

.ItemFull.product-page .product-info-card p a {
    color: #4b4742;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.delivery-details-btn {
    display: inline-block;
    text-decoration: none;
    color: #62605D;
    margin: 15px auto 5px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.delivery-details-btn:hover {
    color: #62605D;
    transform: translate(5px, -3px);
}

@media (max-width: 1024px) {
    .ItemFull.product-page .product-main-card {
        grid-template-columns: 1fr;
    }

    .ItemFull.product-page .product-main-card__details {
        height: auto;
    }

    .ItemFull.product-page .photo {
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .ItemFull.product-page .product-main-card__media.product-main-card__media--single {
        height: auto;
    }

    .ItemFull.product-page .product-main-card__media.product-main-card__media--single .photo {
        height: auto;
        aspect-ratio: 1 / 1;
    }
}

@media (max-width: 768px) {
    .ItemFull.product-page .catalogItem {
        gap: 16px;
    }

    .ItemFull.product-page .product-main-card__media,
    .ItemFull.product-page .product-main-card__details,
    .ItemFull.product-page .product-main-card__description,
    .ItemFull.product-page .product-info-card {
        padding: 16px;
        border-radius: 16px;
    }

    .ItemFull.product-page .photo {
        padding: 0;
    }

    /* Override legacy mobile content rule (max-width:95%, height:auto !important) */
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .ItemFull.product-page .product-main-card__media .photo[data-product-gallery-main] img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center;
    }

    .ItemFull.product-page .product-main-card__description {
        padding: 22px 18px;
        font-size: 16px;
        line-height: 1.62;
    }

    .ItemFull.product-page .product-main-card__headline {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        padding-bottom: 14px;
    }

    .ItemFull.product-page .price,
    .ItemFull.product-page .akciyaBlock {
        font-size: clamp(30px, 8vw, 36px);
    }

    .ItemFull.product-page .product-info-grid {
        grid-template-columns: 1fr;
    }

    .ItemFull.product-page .product-info-card h4 {
        font-size: 20px;
    }
}

@media (max-width: 560px) {
    .ItemFull.product-page .photoSmall {
        gap: 8px;
    }

    .ItemFull.product-page .photoSmall > a,
    .ItemFull.product-page .photoSmall > .product-gallery-thumb {
        height: 72px;
        border-radius: 12px;
    }

    .ItemFull.product-page .status {
        padding: 8px 12px;
        font-size: 14px;
    }

    .ItemFull.product-page .ves,
    .ItemFull.product-page .tara,
    .ItemFull.product-page .proizvoditel {
        min-height: 0;
        font-size: 15px;
    }

    .ItemFull.product-page .product-basket-widget.is-filled .basket-side {
        flex: 0 0 46px;
        width: 46px;
        min-width: 46px;
        max-width: 46px;
    }

    .ItemFull.product-page .product-basket-widget.is-filled .basket-controls-row {
        gap: 6px;
    }

    .ItemFull.product-page .product-basket-widget .basket-button--add,
    .ItemFull.product-page .product-basket-widget .basket-stepper__summary,
    .ItemFull.product-page .product-basket-widget .basket-stepper__control {
        min-height: 50px;
        border-radius: 12px;
    }

    .ItemFull.product-page .product-basket-widget .basket-stepper__summary {
        padding: 14px 12px;
        gap: 4px;
        font-size: 12px;
    }

    .product-photo-viewer {
        padding: 18px;
    }

    .product-photo-viewer__close {
        top: 10px;
        right: 10px;
        width: 42px;
        height: 42px;
    }

    .product-photo-viewer__close:before {
        font-size: 26px;
        line-height: 42px;
    }
}

/* ============================================================
   Выглядывающая икринка в hero + поп-ап «найди икринку»
   ============================================================ */

.hero-biboo {
    position: absolute;
    left: 0;
    bottom: 14%;
    z-index: 2;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    line-height: 0;
    opacity: 90%;
    /* частично прячем за левым краем — «выглядывает» */
    transform: translateX(-25%);
    transition: transform 0.25s ease, filter 0.25s ease;
    animation: hero-biboo-bob 3.2s ease-in-out infinite;
    -webkit-tap-highlight-color: transparent;
}

.hero-biboo:hover,
.hero-biboo:focus-visible {
    transform: translateX(-18%);
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
    outline: none;
}

.hero-biboo__img {
    display: block;
    width: auto;
    height: auto;
    max-width: clamp(78px, 9.5vw, 128px);
    pointer-events: none;
    transform: rotate(90deg);
    filter: drop-shadow(-2px 4px 6px rgba(0, 0, 0, 0.18));
}

@keyframes hero-biboo-bob {
    0%, 100% { translate: 0 0; }
    50% { translate: 0 -8px; }
}

.biboo-btn {
    margin-top: 20px
}

/* Поп-ап */
.biboo-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}

.biboo-modal[hidden] {
    display: none !important;
}

.biboo-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(20, 17, 15, 0.55);
    backdrop-filter: blur(2px);
    cursor: pointer;
}

.biboo-modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 520px;
    box-sizing: border-box;
    padding: 40px 32px 36px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    text-align: center;
    animation: biboo-modal-in 0.25s ease;
}

@keyframes biboo-modal-in {
    from { opacity: 0; transform: translateY(14px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.biboo-modal__img {
    display: block;
    width: 120px;
    height: auto;
    margin: 0 auto 18px;
}

.biboo-modal__title {
    font-family: 'Playfair Display', serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 1.25;
    color: #3f3d3a;
    margin: 0 0 16px;
}

.biboo-modal__text {
    font-family: 'Lora', serif;
    font-size: 17px;
    line-height: 1.5;
    color: #62605D;
    margin: 0 0 12px;
}

.biboo-modal__text:last-child {
    margin-bottom: 0;
}

.biboo-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #F5F4F2;
    cursor: pointer;
    transition: background 0.2s ease;
}

.biboo-modal__close:hover {
    background: #e8e6e3;
}

.biboo-modal__close:before {
    content: "\00d7";
    display: block;
    font-size: 26px;
    line-height: 38px;
    color: #62605D;
}

/* блокируем прокрутку фона при открытом поп-апе */
html.biboo-modal-open,
html.biboo-modal-open body {
    overflow: hidden;
}

/* Планшеты/мобильные — икринка меньше и аккуратнее */
@media (max-width: 768px) {
    .hero-biboo {
        bottom: 10%;
        transform: translateX(-25%);
        animation-duration: 3.6s;
    }

    .hero-biboo:hover,
    .hero-biboo:focus-visible {
        transform: translateX(-25%);
    }

    .hero-biboo__img {
        max-width: clamp(60px, 19vw, 96px);
    }

    .biboo-modal__dialog {
        max-width: 360px;
        padding: 34px 22px 30px;
    }

    .biboo-modal__title {
        font-size: 22px;
    }

    .biboo-modal__text {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .hero-biboo {
        bottom: 8%;
    }

    .hero-biboo__img {
        max-width: 72px;
    }
}

/* Уважаем настройку «уменьшить движение» */
@media (prefers-reduced-motion: reduce) {
    .hero-biboo {
        animation: none;
    }

    .biboo-modal__dialog {
        animation: none;
    }
}


/* -- 404 / Страница не найдена -- */

/* Заголовок 404: у него нет umi:element-id, поэтому цепляемся за пустой атрибут.
   :has() — уточняющий дубль для браузеров, которые его поддерживают. */
#content.contentInner .content > h1.left[umi\:element-id=""],
#content.contentInner .content:has(> div .nf-page) > h1.left {
    margin: 56px auto 22px;
}

.nf-page {
    max-width: 620px;
    margin: 0 auto;
    padding: 0 16px 48px;
    text-align: center;
    color: #62605D;
}

#content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page p,
.nf-page p {
    max-width: 100%;
    margin: 0 auto 12px;
    text-align: center;
    font-size: 18px;
    line-height: 1.6;
    color: #62605D;
}

#content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page .nf-page__lead,
.nf-page__lead {
    font-family: 'Lora', serif;
    font-size: 22px;
}

#content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page .nf-page__img,
.nf-page__img {
    display: block !important;
    width: 100%;
    max-width: 240px !important;
    height: auto !important;
    margin: 28px auto 62px !important;
}

.nf-page__btn {
    text-decoration: none;
}

@media (max-width: 768px) {
    #content.contentInner .content > h1.left[umi\:element-id=""],
    #content.contentInner .content:has(> div .nf-page) > h1.left {
        margin: 32px auto 16px;
    }

    .nf-page {
        padding: 0 16px 36px;
    }
}

@media (max-width: 480px) {
    #content.contentInner .content > h1.left[umi\:element-id=""],
    #content.contentInner .content:has(> div .nf-page) > h1.left {
        margin: 26px auto 14px;
    }

    /* перебиваем общий text-align: justify для абзацев контента */
    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page p,
    .nf-page p {
        text-align: center;
        font-size: 16px;
        max-width: 100%;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page .nf-page__lead,
    .nf-page__lead {
        font-size: 20px;
    }

    #content.contentInner .content > h1.left + div[umi\:field-name="content"] .nf-page .nf-page__img,
    .nf-page__img {
        max-width: 180px !important;
        margin: 22px auto 26px !important;
    }

    .nf-page__btn {
        width: 100%;
        max-width: 320px;
    }
}
