@media screen and (min-width: 651px) {
  .head_lang {
    width: 120px;
  }
    .lang_img{
        max-width: 30px;
        margin: 3px;
    }
  .menu_buttons {
    box-shadow: 4px 0px 5px rgb(50 50 50 / 14%);
  }
    #korzina {
      position: fixed;
      bottom: 0px;
      left:100px;
      right:20px;
      /* Полоса корзины лежит поверх содержимого: кнопки и бейджи в карточках товара
         поднимаются до 4, поэтому ей нужен заведомо больший слой */
      z-index: 30;
    }
    .mini_razdel {
        margin: 0px 15px 5px 15px;
    }
    .post .end div {
        max-width: 75%;
    }
  .pre_tovar_div {
    float:right;
    max-width:50%
  }    
}

@media screen and (min-width: 901px) { 
  #logo_in_post {
    display: none;
    visibility: hidden;
  }
  .big_back_shop {
    margin-top: -37px;
  }
  .title_table{
    padding-right: 290px !important;
  }   
    #korzina {
      position: static;
      bottom: 0px;
      left:0px;
      right:0px;
      z-index: 30;
    }
    #korzina #korzina_html {
      display: block;
      visibility: visible;
    }
    #korzina #korzina_html_small {
      display: none;
      visibility: hidden;
    }
    .mini_razdel {
        display: none;
        visibility: hidden;
    }
    .back_door{
      display: none;
      visibility: hidden;
    }
}

@media screen and (min-width: 901px) and (max-width: 1159px) { 
    .seller_div {
        width: calc(50% - 10px);
        float: left;
    } 
}

@media screen and (min-width: 1160px) {    
    .seller_div {
        width: calc(33% - 14px);
        float: left;
    }    
}

@media screen and (min-width: 851px) {
    .add_to_cart {
        padding: 5px 10px !important;
    }
    .tovar {
        padding-bottom: 50px;
    }  
}

@media screen and (min-width: 800px) and (max-width: 900px) {
    .seller_div {
        width: calc(33% - 14px);
        float: left;
    }   
}

@media screen  and (min-width: 451px) and (max-width: 799px) {
    .seller_div {
        width: calc(50% - 10px);
        float: left;
    }   
}

@media screen and (max-width: 900px) {
  .big_back_shop {
      margin-top: 0px;
  }  
    .back_door{
      display: block;
      visibility: visible;
    }
  .right_menu{
    clear: both;
    width: 100% !important;
    border-top: 10px solid #dddddd;
    margin-top: -19px;
    background-color: #eee;
  }
  .central_block {
    margin-left: 0px;
  }
  .central_block .padding_div {
    padding: 23px 20px 20px 20px !important;
  } 
  #korzina {
    -webkit-box-shadow: 0px 0px 20px 0px rgba(50, 50, 50, 0.35);
    -moz-box-shadow:    0px 0px 20px 0px rgba(50, 50, 50, 0.35);
    box-shadow:         0px 0px 20px 0px rgba(50, 50, 50, 0.35);
    z-index: 30;
  }
    #korzina #korzina_html {
      display: none;
      visibility: hidden;
    }
    #korzina #korzina_html_small {
      display: block;
      visibility: visible;
    }
    #razdel_title, #razdel_title a {
      font-size: 22px !important;
    }    
    .mini_razdel {
        display: table;
    }
    .menu_desc{
        font-size: 14px !important;
    }
    /* Лента разделов на главной прилипает, поэтому верхний отступ отдан ей самой:
       иначе она стартовала бы ниже кромки контента и «прыгала» при прилипании. */
    .central_block .padding_div.padding_div_razdel {
        padding-top: 0 !important;
    }
    .main_mini_razdeli {
        margin: 0px -15px -20px -15px;
    }
}

@media screen and (max-width: 850px) {
  .bottom_who {
      display: none;
  }
  .size_active, .size_inactive {
    padding: 12px 5px !important;
  }
  .add_to_cart {
    padding: 18px 0px !important;
  }
  .tovar {
    padding-bottom: 75px;
  }
}

@media screen and (max-width: 650px) {
    .head_lang {
        width: 1%;
        padding: 7px 0px;
    }
    .lang_img{
        max-width: 24px;
        margin: 0px 3px;
    }
    .title_table {
      padding: 15px 15px 0px 15px !important;
    }  
    .main_td {
        padding-left: 0px !important;
    }
    .central_block .padding_div,  .right_padding_div {
        padding: 20px 15px 15px 15px !important;
    }
    .menu_button_td{
        margin-left: 0px !important;
        width: 100% !important;
    }
    .menu_button_td .menu_buttons, .menu_buttons table {
        position: relative !important;
        width: 100% !important;
    }
    .acount_tr {
        display: none;
    }
    .menu_other, .menu_home {
        height: 60px !important;
    }
    .menu_other img, .menu_home img {
        width: 40px !important;
        height: 40px !important;
    }
    .title_time {
        display: none;
    }
    .menu_desc{
        font-size: 12px !important;
    }
    #korzina {
      position: fixed;
      bottom: 0px;
      left:15px;
      right:15px;
      z-index: 30;
    }
    .foot_title {
        font-size: 14px !important;
    }
    .shop_razdel {
      font-size: 13px !important;
    }
    .shop_razdel img {
      max-width: 52px !important;
    }
    .shop_razdel:hover img {
      max-width: 62px !important;
    }
    .mini_razdel {
        margin: 0px 10px 5px 10px;
    }
    .post .end div {
        margin-top: 5px;
    }
  .pre_tovar_div {
    max-width:100%
  }
}

@media screen and (max-width: 450px) {
    .seller_div {
        width: 100%;
        float: left;
    }
}

@media screen and (max-width: 360px) {
    .mini_logo {
        display: none;
    }
    .main_td {
        padding-left: 0px !important;
    }
    .central_block .padding_div,  .right_padding_div {
        padding: 20px 15px 15px 15px !important;
    }
    .menu_button_td{
        margin-left: 0px !important;
        width: 100% !important;
    }
    .menu_button_td .menu_buttons, .menu_buttons table {
        position: relative !important;
        width: 100% !important;
    }
    .acount_tr {
        display: none;
    }
    .menu_other, .menu_home {
        height: 55px !important;
    }
    .menu_other img, .menu_home img {
        width: 35px !important;
        height: 35px !important;
    }
    .title_time {
        display: none;
    }
    .menu_desc{
        font-size: 12px !important;
    }
    .foot_title {
        font-size: 13px !important;
    }
    .menu_home div, .menu_other div {
        font-size: 13px !important;
        margin-top:  -5px !important;
    }
    .head_maintext {
        font-size: 16px;
    }
    .head_maintext div {
        font-size: 12px;
    }
}
@media screen and (min-width: 361px) {
    .head_maintext {
        font-size: 20px;
    }
    .head_maintext div {
        font-size: 13px;
    }
}

.big_back_shop {
    border-bottom: 1px solid #EEE;
    padding: 10px 10px 12px 10px;
    font-size: 16px;
    color: #333;
    font-family: 'RalewayRegular';
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    text-align: center;
    box-shadow: inset 0px -10px 5px -7px rgb(50 50 50 / 15%);
    margin-bottom: -5px;
        height: 20px;
}

.post_logo{
    max-width: 50px;
    max-height: 50px;
    float: right;
    margin-left: 10px;
    cursor: pointer;
}

.back_door{
  padding: 15px 0px;border-bottom: 2px solid #e1e1e1;font-size: 16px;color: #494949;margin: 0px 15px;font-family: 'RalewaySemibold';
}

.mini_razdel {
    clear: both;
}

.head_maintext {
  padding: 15px 15px;
}

    .head_maintext div {
        color: #555;
    }

.tovar_admin_razdel, .tovar_admin_razdel a{
    color: #333;
    font-size: 18px !important;
    font-family: "RalewayLight" !important;
    text-decoration: none;
    margin-top: -10px !important;
}

.tovar_admin_razdel a:hover {
    text-decoration: underline;
}

.shop_seller_name {
    border-bottom: 1px solid #DDD;
    padding-bottom: 5px;
    font-size: 20px;
    color: #444;
    font-family: 'RalewayLight';
    margin-bottom: 10px;
}
.seller_div {
  border-radius: 10px;
  background-color: #ffffffeb;
}
.seller_div a{
    text-decoration: none;
}
.seller_div .seller_img {
    margin-bottom: -80px;
}
.seller_div .seller_img img{
    width: 1000px;
    max-height: 220px;
    height: 1000px;
    max-width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    border-radius:10px;
}
.seller_div2{
    height: 220px;
    border-radius: 10px;
    box-shadow: 2px 2px 7px 0px rgb(100 100 100 / 15%); 
}
.seller_div2:hover {
    box-shadow: 2px 2px 10px 0px rgb(100 100 100 / 25%);
}

.seller_sep {
    width: 20px;
    height: 20px;
    float: left;
}
.seller_name {
    font-size: 24px;
    width: fit-content;
    padding: 10px;
    position: relative;
    font-family: "RalewaySemibold";
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-left: -4px;
    box-shadow: 4px 0px 13px 0px rgb(50 50 50 / 15%);
}

.textinput {
    font-size: 24px;
    font-family: "RalewayRegular";
    border: 1px solid #E3E3E3;
    width: 100%;
    border-radius: 3px;
    color: #CC0000;
}
        .inputdesc {
            font-size: 12px;
            color: #666;
            line-height: normal;
        }

.nomoderate {
    color: #FFF;
    background-color: #ff0030;
}
.hiddenpost {
    color: #FFF;
    background-color: #00b008;
}

.razdel_mini, .sub_razdel_mini {
    margin: 10px 5px 0px 5px;
    float: left;
    border-radius: 6px;
    cursor: pointer;
    -webkit-box-shadow: 0px 2px 2px 0px rgb(50 50 50 / 20%);
    -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.2);
    box-shadow: 0px 2px 2px 0px rgb(50 50 50 / 20%);
}

.razdel_mini {
    font-size: 14px;
    padding: 10px;
    color: #fff;
}

.sub_razdel_mini {
    font-size: 12px;
    padding: 7px;
    color: #222;
    background-color: #FFF;
    border-bottom: 2px solid #555;
}

.sub_razdel_mini:hover {
    background-color: #EEE;
}

.title_table {
  padding: 20px 20px 0px 20px;
  min-height: 50px;
}

.central_block .padding_div .tovari {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
    box-sizing: border-box;
}

@media screen and (min-width: 361px) {
    .central_block .padding_div .tovari {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (min-width: 651px) {
    .central_block .padding_div .tovari {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (min-width: 1251px) {
    .central_block .padding_div .tovari {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* База относительных размеров внутри карточки: в режиме совместимости таблица не
   наследовала 12px из body и начинала от 16px — на этом и построены проценты ниже */
.tovar {
    font-size: 16px;
    display: flex;
    flex-direction: column;
    margin: 0;
    min-width: 0;
    border: 1px solid #EEE;
    position: relative;
    background-color: #FFF;
    box-shadow: 2px 2px 4px 0px rgb(100 100 100 / 5%);
}
.tovar > a {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    color: inherit;
}
.tovar:hover{
    box-shadow: 2px 2px 10px 0px rgb(100 100 100 / 15%);
}
.tovar .tovar_photo {
    width: 1000px;
    max-height: 200px;
    height: 1000px;
    max-width: 100%;
    flex-shrink: 0;
    object-fit: cover;
    object-position: 50% 50%;
}
.tovar .desc_div {
    min-height: 90px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.tovar a{
  text-decoration: none;
}
.tovar, .tovar .tovar_photo {
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 5px;
    -khtml-border-radius: 10px;    
}
/* Карточка целиком обёрнута ссылкой, а название с весом лежат в таблице: со строгим
   doctype таблица наследует красный цвет ссылки, поэтому цвет задаём явно */
.tovar_name_table{
    margin: 0px 7px 0 7px;
    color: #000;
}
.tovar_name_table, .tovar_sizes {
      width: -webkit-fill-available;
}
.tovar_name {
    font-size: 21px;
    font-family: "RalewaySemibold";
    word-break: break-word;
}
.tovar_ves{
  text-align: right;
  
}
.tovar_desc {
  font-size: 85%;
  margin: 0px 10px;
  min-height: 50px;
  word-break: break-word;
  font-family: "RalewayLight";
  color: #000;
}
.pre_add_to_cart {
  position: absolute;
  width: -webkit-fill-available;
  bottom: 0px;
}
.size_active, .size_inactive{
    text-align: center;
    padding: 10px 5px;
    border-radius: 6px;
    cursor:pointer;
    word-break: break-word;
    font-size: 12px;
    font-family: "RalewayRegular";
}
.size_active {
  background-color: #ffc800;
}

#sel_stati_link {background-color: #efefef;}
#sel_stati_mini {background-color: #fafafa;}

.r_menu_link {font-size: 16px;width:85%;position: static;display: inline-block;line-break: auto;}

.size_inactive {
  background-color: #E2E2E2;
    -webkit-box-shadow: inset 1px 1px 2px 0px rgba(50, 50, 50, 0.15);
-moz-box-shadow:    inset 1px 1px 2px 0px rgba(50, 50, 50, 0.15);
box-shadow:         inset 1px 1px 2px 0px rgb(50 50 50 / 15%);
}
.tovar_sizes{
  margin:7px 7px 0px 7px;
  flex-shrink: 0;
}

.tovar_price{
    text-align:left;width:100%;position: relative;margin-top: -10px;
    flex-shrink: 0;
}

.tovar_price .price_text{
    float: left;
    padding: 10px;
    font-size: 22px;
    font-family: "RalewaySemibold";
    box-shadow: 3px -10px 25px 10px rgb(255 255 255 / 90%);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-left: -4px;
    box-shadow: 4px 0px 13px 0px rgb(50 50 50 / 15%);
}
/* Старая цена — бейдж на фото, чтобы лента цены осталась короткой */
.tovar_shot .price_old_badge{
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    padding: 4px 8px;
    border-radius: 6px;
    background-color: rgb(33 31 29 / 72%);
    color: #FFF;
    font-size: 12px;
    font-family: "RalewayLight";
    text-decoration: line-through;
}
/* Остаток — бейдж на фото: у ленты цены справа теперь стоит счётчик товара */
.tovar_shot .price_text2{
    background-color: rgb(224 68 68 / 90%);
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgb(50 50 50 / 20%);
    color: #FFF;
    font-family: "RalewayLight";
}

.kor_info {
    font-size: 12px;
    line-height: normal;
    border-radius: 6px;
    padding: 5px;
    background-color: #fff0f0;
    color: #4e0e0e;
    margin-top: 10px;
}

#menu_check {
  box-shadow: 4px 0px 5px 0px rgba(0,0,0,0.2);
  -webkit-box-shadow: 4px 0px 5px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 4px 0px 5px 0px rgba(0,0,0,0.2);
}

.imgdiv1, .imgdiv2, .imgdiv3, .imgdiv4 {
    clear: both;
}

.imgdiv1 .imdivcont {
    width: 100%;
}
.imgdiv2 .imdivcont {
    width: 50%;
}
.imgdiv3 .imdivcont {
    width: 33.33%;
}
.imgdiv4 .imdivcont {
    width: 25%;
}
.imgdiv1 .imdivcont, .imgdiv2 .imdivcont, .imgdiv3 .imdivcont, .imgdiv4 .imdivcont {
    float:left;
}
.imgdiv1 .imdiv, .imgdiv2 .imdiv, .imgdiv3 .imdiv, .imgdiv4 .imdiv {
    margin: 4px 2px;
}

#head_account_text{
    color: #FFF;
    font-size: 10px;
    text-align: right;
}

.head_account_mini{
    display: block;
}

.menu_buttons table {
    width: 80px;
    height: 100%;
}

.menu_button_td{
    margin-left: -80px;
}
.menu_button_td .menu_buttons {
    position: fixed; height: 100%;
}

.main_td {
    padding-left: 80px;
}

.central_block {
    width:100%; float:left; margin-right: -330px;
}

.central_block .padding_div {
    padding: 23px 290px 20px 20px
}

.central_block .post {
	box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 5%);
}

.right_menu {
    width: 290px; float: right;
}
.right_menu .right_padding_div {
    padding: 23px 20px 20px 20px;
}

.right_menu .post {
	box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 5%);
}

.app-content--clearfix::after {
    content: "";
    display: table;
    clear: both;
}

.app-nav-global-loader {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 99990;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    background: rgba(247, 247, 247, 0.55);
}

.app-nav-global-loader__inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-nav-global-loader__img {
    display: block;
    max-width: 64px;
    max-height: 64px;
    width: auto;
    height: auto;
}

.menu_home, .menu_other {
    float: left;
    width:80px;
}

.menu_home img, .menu_other img {
  width: 60px;
  height: 60px;
  border: 0px;
}
.menu_home, .menu_other {
  height: 80px;
}
.menu_home div, .menu_other div {
  font-size: 16px;
  color: #FFF;
  margin-top: -6px;
}
.no_dec {
  text-decoration: none;
}
.menu_home, .menu_other {
    cursor: pointer;
    text-align: center;
    padding-top: 5px;
}
.account_info {
    width: 100%;
}
.account_info div {
    padding: 15px;
    font-size: 18px;
    color: #666;
    background-color: #FFF;
    border: 1px solid #EEE;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 5px;
    -khtml-border-radius: 10px;
}
body {
  font-size: 12px;
  background-color: #EEE; margin: 0px; padding: 0px; background-image: url('../images/background/background.gif');
  background-attachment:fixed;
}
#temnota{
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  filter: alpha(Opacity=70);
  display: block;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 10;
  visibility: hidden;
  position: fixed;
  cursor: pointer;
}

.post {
    word-break: break-word;
}

/* Список постов: фоновая ссылка на пост + ссылки разделов/магазина поверх (без onclick на родителе).
   Контент с большим z-index перехватывал клики до <a> — app-nav не видел ссылку. pointer-events: контент «прозрачен», клики доходят до .post-stretched-link; вложенные <a> снова кликабельны. */
.post--preview {
    position: relative;
}
.post-stretched-link {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
    text-indent: -9999px;
    cursor: pointer;
}
.post--preview > *:not(.post-stretched-link):not(.post_type) {
    position: relative;
    z-index: 2;
    pointer-events: none;
}
.post--preview > *:not(.post-stretched-link):not(.post_type) a {
    pointer-events: auto;
    position: relative;
    z-index: 3;
}
.post--preview > .post_type {
    position: absolute;
    z-index: 2;
    pointer-events: none;
}
a.post-card-over-link {
    position: relative;
    z-index: 3;
}
.post .go_to_post_span {
    display: inline-block;
    cursor: pointer;
    border-radius: 6px;
}

.post h2 {
  line-height: 120%;
}

.post a {
  text-decoration: none;
}

.foot_title, .post, .post h1, .post h2, .post .razdel, .post .stati_links div, body {
  font-family: "RalewayRegular",Helvetica,Arial,sans-serif;
}

.foot_title{
  font-size: 16px;
  padding-bottom: 10px;
  font-weight: 700;
  word-break: break-word;
  text-decoration: none;
}


.foot_links{
  font-size: 12px;
  padding-bottom: 5px;
}

.foot_links a{
  color: #333;
  text-decoration: none;
}

.foot_links a:hover{
  color: #333;
  text-decoration: underline;
}
.foot_copyright{
  color: #666;
  font-family: Arial;
  font-size: 10px;
  border-top: 1px solid #CCC;
  background-color: #E4E4E4;
  width: 100%;
}
.menu_button_td {
  width:80px;
}
.menu_button_td img {
  cursor: pointer;
  filter: drop-shadow(-2px 1px 2px RGBA(0,0,0,0.2));
}
.head_panel{
  background-color: #FFF;
  box-shadow: 0px 1px 5px 0px rgb(0 0 0 / 20%);
}
.head_table{
  width:100%;
}
.head_account_enter, .head_account_mini {
  text-align: right;
  padding: 14px;
  vertical-align: middle;
}
.head_account_mini img {
    height: 48px;
    cursor: pointer;
}
.head_town {
    padding: 10px 20px;
    background-color: #eee;
}
.head_notown {
    padding: 15px;
    background-color: #ffde65;
    cursor: pointer;
}
.post, .post_type{
   border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 5px;
  -khtml-border-radius: 10px;
}
#account_enterdiv{
    border-radius: 10px;
-webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 1);
-moz-box-shadow:    0px 0px 30px 0px rgba(0, 0, 0, 1);
box-shadow:         0px 0px 30px 0px rgba(0, 0, 0, 1);
}

#account_enterdiv {
  transform: translate(-50%, -50%);
  display: none;
}

.account_enter {
  border: 1px solid #CCC;
  background-color: #fEFEFE;
  font-size: 12px;
  line-height: 18px;
  width: 80px;
  height: 20px;
-webkit-box-shadow: inset 0px 0px 7px 0px rgba(50, 50, 50, 0.1);
-moz-box-shadow:    inset 0px 0px 7px 0px rgba(50, 50, 50, 0.1);
box-shadow:         inset 0px 0px 7px 0px rgba(50, 50, 50, 0.1);
border-radius: 4px;
}
.account_enter_table {
  font-size: 12px;
}
.account_submit {
  font-size: 16px;
}
.post{
  padding: 15px;
  font-size: 15px;
  color: #000;
  line-height: 160%;
  border:1px solid #EEE;
  background-color: #FFF;
  margin-bottom: 20px;
}

.add_to_cart:hover {
  opacity: 0.9;
}
.add_to_cart {
  padding: 15px;
  font-size: 15px;
  line-height: 160%;
  margin-bottom: 20px; 
  margin: 10px;
  text-align: center;
  border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 5px;
    -khtml-border-radius: 10px;
  cursor: pointer;
}

.post .post_img{
  float: left;
  max-width: 600px;
width: 100%;
}

.title_time{
  font-size: 10px;
  font-family: "RalewayLight";
  color: #666;
  float:right;
  min-width: max-content;
}
.post h1{
  font-size: 30px;
  font-weight: normal;
  margin-bottom:5px;
  display: contents;
}
.post h2{
  font-size: 30px;
  padding: 13px 0px 7px 0px;
  font-weight: normal;
  margin:0px;
}
.post h3{
  font-size: 17px;
  font-family: "RalewaySemibold";
  padding: 0px 0px 7px 0px;
  font-weight: normal;
  margin:-3px 0px 0px 0px;
}
.post .razdel{
  font-size: 11px;
  color: #999;
  padding: 0px 0px 7px 0px;
  font-weight: normal;
  margin:-10px 0px 0px 0px;
}
.post .razdel a{
  color: #999;
  text-decoration: none;
}
.post .razdel a:hover{
  text-decoration: underline;
}
.post .citata{
  margin: 10px -15px 10px -15px;
  font-family: Verdana;
  font-size: 15px;
  color: #333;
  background-color: #EEE;
  padding: 20px;
  font-style: italic;
  clear:both;
}
.post .citata .c_author{
  font-family: Verdana;
  font-size: 10px;
  color: #333;
  text-align: right;
}

html, body {
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
}
.div_need{
  font-size: 16px;
  font-weight: bold;
  color: #555;
  font-family: arial;
  padding: 10px 0px 10px 0px;
  clear: both;
}
.div_need ul{
  margin: 4px 4px 0px -20px;
  list-style-type: square;
}
.div_need li{
  font-size: 13px;
  font-family: verdana;
  font-weight: normal;
  list-style-type: square;
}
.div_do{
  font-size: 16px;
  font-weight: bold;
  color: #555;
  font-family: arial;
  padding: 10px 0px 10px 0px;
  clear:both;
}
.div_do_hr{
   margin: 10px 0px 10px 0px;
}
.div_do_hr span{
   color: #FFF;
   font-size: 18px;
   font-family: verdana;
   font-weight: normal;
   padding: 6px;
   clear:both;
}
.post_type {
  position: absolute;
  margin-top: -25px;
  margin-left: -25px;
  padding: 2px 7px 0px 7px;
  font-size: 11px;
  font-family: "RalewayLight";
  color: #FFF;
}
.tags {
  font-family: Verdana,sans-serif;
  font-size: 11px;
  padding-bottom: 5px;
  clear: both;
  color: #999;
}
.tags a{
  text-decoration: none;
  color: #999;
}
.tags a:hover{
  color: #666;
  text-decoration: underline;
}
.post .author {
  font-size: 14px;
  font-family: verdana;
  font-weight: normal;
  color: #333;
}
.post .author_links a{
  font-family: verdana;
  font-size: 10px;
  font-weight: normal;
  text-decoration: underline;
}
.post .author_profile{
    padding-top: 10px;
}
.post .author_profile a{
  font-family: verdana;
  font-size: 10px;
  font-weight: normal;
  color: #666;
  text-decoration: underline;
}
.post .author_profile a:hover{
  color: #999;
}
.post .stati_links div{
    font-size: 16px;
    color: #555;
    border-top: 1px solid #EEE;
    padding: 8px;
}
.post .stati_links{
    text-decoration: none;
    color: #333;
}

.post .stati_links div:hover{
    border-right: 3px solid #ddd;
    background-color: #fcfcfc;
}
.post .stati_links .stati_count {
  border: 1px solid #EEE;
  padding: 3px;
  background-color: #F7F7F7;
  font-family: "RalewaySemibold";
  border-radius: 6px;
}
.post .end{
   clear: both;
   font-size: 12px;
   font-family: "RalewayLight";
   border-top: 1px solid #EEE;
   padding-top: 5px;
   line-height: normal;
   background-color: #F7F7F7;
   padding: 7px;
}

.social_accounts a {
width: 22px;
height: 22px;
display: inline-block;
margin-right: 2px;
}

.social_accounts a.tw, .social_accounts a.fb, .social_accounts a.vk,.social_accounts a.tw:hover, .social_accounts a.fb:hover, .social_accounts a.vk:hover {
  background: url(../images/footer.share.png)  no-repeat;
}
.social_accounts a.tw {background-position: 0px top}
.social_accounts a.fb {background-position: -27px top}
.social_accounts a.vk {background-position: -53px top}
.social_accounts a.tw:hover {background-position:  0px bottom}
.social_accounts a.fb:hover {background-position: -27px bottom}
.social_accounts a.vk:hover {background-position: -53px bottom}

.go_to_button a {
    border: 1px solid #E0E0E0;
    border-radius: 6px;
    padding: 10px;
    background-color: #F4F4F4;
    text-decoration: none;
    font-family: "RalewayRegular";
    color: #333;
}
.go_to_button a:hover {
    opacity: 0.9;
}

.go_to_button {
    padding: 10px 0px;
}
.post .stati_links .stati_count_light {
  float: right;
  font-family: "RalewayRegular";
  position: static;
  display: inline-block;
}
#write_stati {
    margin: 0px !important;
    border-radius: 100%;
    width: 43px;
    height: 43px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 20px;
    padding: 0px !important;
    font-weight: bold; background-color: #cdcdcd;
    color: #FFF;
    cursor: pointer;
    box-shadow: 0px 0px 4px 1px rgb(50 50 50 / 20%);
}
#write_stati:hover{
  opacity: 0.9;
}
.head_account_enter a img:hover {
  opacity: 0.9;
}
.button_active, .button_gray {
    text-align: center;
    
    padding: 10px 20px !important;
    font-size:  16px;
    -webkit-box-shadow: 0px 2px 2px 0px rgb(50 50 50 / 20%);
    -moz-box-shadow: 0px 2px 2px 0px rgba(50, 50, 50, 0.2);
    box-shadow: 0px 2px 2px 0px rgb(50 50 50 / 20%);
    cursor: pointer;
    color:  #FFF;
    border-radius: 6px;
    max-width: fit-content;
    word-break: normal;
}

.button_gray {
    background-color: #9d9d9d;
}

.button {
    padding: 4px !important;
    color: #FFF;
    cursor: pointer;
    border-radius: 6px;
}
#button {
    color: #FFF;
    cursor: pointer;
}
#razdel_title, #razdel_title a {
    text-decoration: none;
    color: #444;
    font-size: 28px;
    background-color: inherit; border:0px; margin: 0px; line-height: 26px;    
}
#razdel_title a:hover {
    text-decoration: underline;
}
#podpiska {
    border: 0px;
    text-align: center;
    color: #FFF;
    padding: 10px;
}

.page:hover {
    text-decoration: underline;
}

.page_now {
    background-color: #DDD;
}
.page, .page_now {
    padding: 10px;
    font-size: 16px;
    margin: 1px;
    text-decoration: none;
}
.pages_tuda a {
    text-decoration: none;
}
.pages_tuda a:hover {
    text-decoration: underline;
}
.pages_tuda {
    padding: 0px 0px 15px 5px;
    font-size: 28px;
    color: #555;
    font-family: arial;
}
.menu_tags {
    color: #000;
    text-decoration: none;
}
.menu_tags:hover {
    text-decoration: underline;
}
.comment_button {
    margin-top: -15px; text-align: right;
}
.comment_button input {
    padding: 10px !important;
    margin-top: 5px;
    border: 0px;
    color: #FFF;
}

.c_author {
    width:48px;
}             
.com_right {
    padding-left: 10px;
}
.com_login {
    font-family: "RalewaySemibold";
}
.com_time {
        font-family: "RalewayLight";
    font-size: 12px;
    padding-left: 10px;
}
.com_text {
        font-family: "RalewayRegular";
}
.com_ans {
        font-family: "RalewayLight";
    color: #666;
    font-size: 14px;
}
.menu_desc{
    font-size: 16px;
    font-family: "RalewayLight";
    line-height: 16px;
        
}

#hidden_post .post_type {
  background-color: #a3a3a3;
}
#hidden_post h2, #hidden_post {
  color: #999;
}

    #contact_div img {
        max-width: none !important;
    }
    #contact_div table td{
        font-size: 14px;
        line-height: 16px;
        padding: 3px;
    }
    /* Точки самовывоза идут списком, поэтому вторую и следующие отделяем линией */
    #contact_div .contact_place + .contact_place {
        border-top: 1px solid #DDD;
        margin-top: 10px;
        padding-top: 10px;
    }
    .kor_table {
        width: 100%;
        font-size: 13px;
    }
    .kor_table .kor_del, .kor_table .kor_price {
        width: 1%;
        white-space: nowrap;
    }
    .kor_itog {
        text-align: right;
        font-size: 22px;
    }
    .kor_table .kor_del {
        font-size: 14px;
        font-weight: bold;
        color: #cc0000;
        cursor: pointer;
    }
    .kor_table td {
        border-bottom: 1px solid #EEE;
        padding: 5px 2px;
        line-height: normal;
    }

      .enter_phone {
  max-width: 200px;
    font-size: 30px;
    padding: 5px;
    border: 1px solid #CCC;
    border-radius: 6px;
    font-family: 'RalewayLight';
    background-color: #fff4d1;
  }

      .order_comment {
  max-width: 300px;
    font-size: 18px;
    padding: 5px;
    border: 1px solid #CCC;
    border-radius: 6px;
    font-family: 'RalewayLight';
    background-color: #fff4d1;
    width: calc(100% - 10px);
  }

  #order_form{
  position: fixed;
    background-color: rgb(255, 255, 255);
    z-index: 10000;
    left: 50%;
    top: 808px;
    padding: 15px;
    opacity: 1.02;
    display: none;
    transform: translate(-50%, -50%);
}
.deliver_opis {
  font-size: 12px;
  line-height: normal;
}
.shop_razdel {
  float:left;
  font-size: 18px;
    text-align: center;
    color: #444444;
    display: inline-grid;
    position: relative;
    width: calc(20% - 1px);
    justify-content: center;
    justify-items: center;
    margin-bottom: 20px;
    cursor: pointer;
}
#bl {
  border-left: 1px solid #DDD;
}
.shop_razdel img {
  max-width: 50%;
  -webkit-filter: drop-shadow(0px 3px 3px #BBB);
    filter: drop-shadow(0px 3px 3px #BBB);
}
.shop_razdel:hover img {
  max-width: 54%;
  -webkit-filter: drop-shadow(0px 3px 5px #BBB);
    filter: drop-shadow(0px 3px 5px #BBB);
    margin-bottom:-7px;
    margin-top: -3px;
}
.shop_razdel:hover {
  text-decoration: underline;
}
.checkbox { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px;
}
.checkbox + label { cursor: pointer;
}
.checkbox:not(checked) { position: absolute; opacity: 0;
}
.checkbox:not(checked) + label { position: relative; 
 padding: 0 0 0 60px; 
}
.checkbox:not(checked) + label:before { content: ''; position: absolute; top: -4px; left: 0; width: 50px; height: 26px; border-radius: 13px; background: #CDD1DA; box-shadow: inset 0 2px 3px rgba(0,0,0,.2);
}
.checkbox:not(checked) + label:after { content: ''; position: absolute; top: -2px; left: 2px; width: 22px; height: 22px; border-radius: 10px; background: #FFF; box-shadow: 0 2px 5px rgba(0,0,0,.3); transition: all .2s; /* анимация, чтобы чекбокс переключался плавно */
}
.checkbox:checked + label:before { background: #9FD468;
}
.checkbox:checked + label:after { left: 26px;
}
.checkbox:focus + label:before { box-shadow: 0 0 0 3px rgba(255,255,0,.5);}
b {
    font-weight: normal;
    font-family: "RalewaySemibold";
}
.shop_mini{
    font-size: 12px;
    margin-top: -10px;
    text-align: right;
    width: 100%;
}
.sel_bottom {
  padding: 8px;
    font-size: 14px;
    color: #444;
    font-family: "RalewayLight";
    border-bottom: 1px solid #e5e5e5;
    border-radius: 10px;
}
  .order_tovar{
   float: left;
    text-align: center;
    padding: 5px;
    font-size: 12px;
    max-width: 100px;
    line-height: normal;
  }
  .order_price{
    font-size: 14px;
  }
  .order_date {
  padding: 5px;
    color: #999;
    margin: -20px 0 10px 0px;
  }
#userdiv {border: 1px solid #ebebeb; box-shadow: inset 0px 1px 3px 0px rgb(50 50 50 / 10%);line-height: normal;}

/* ===== Карточка товара: круглая кнопка «+» на фото ===== */
.tovar_shot {
    position: relative;
    flex-shrink: 0;
    width: 100%;
    min-width: 0;
}
.tovar_shot .tovar_photo {
    width: 100%;
}

/* ===== Галерея фото в карточке товара ===== */
.tovar_gal {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 6px;
}
.tovar_gal__track {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.tovar_gal__track::-webkit-scrollbar {
    display: none;
}
.tovar_gal__track .tovar_photo {
    flex: 0 0 100%;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    border-radius: 0;
}
.tovar_gal__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .88);
    color: #333;
    box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
    cursor: pointer;
    z-index: 3;
    transition: opacity .16s ease;
}
.tovar_gal__arrow svg {
    width: 16px;
    height: 16px;
}
.tovar_gal__arrow--prev {
    left: 6px;
}
.tovar_gal__arrow--next {
    right: 6px;
}
.tovar_gal__arrow.is_off {
    opacity: .3;
    pointer-events: none;
}
.tovar_gal__dots {
    position: absolute;
    left: 50%;
    bottom: 7px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 6px;
    border-radius: 10px;
    background-color: rgba(30, 30, 30, .38);
    pointer-events: none;
    z-index: 3;
}
.tovar_gal__dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .55);
    transition: width .16s ease, background-color .16s ease;
}
.tovar_gal__dots i.is-active {
    width: 13px;
    border-radius: 3px;
    background-color: #fff;
}
@media (hover: hover) and (pointer: fine) {
    .tovar_gal__arrow {
        display: flex;
        opacity: 0;
    }
    .tovar:hover .tovar_gal__arrow {
        opacity: 1;
    }
}
/* Счётчик товара — на уровне ленты цены, у правого края карточки */
.tovar_add {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    height: 44px;
    border-radius: 22px;
    background-color: var(--brand, #2b2b2b);
    color: #fff;
    box-shadow: 0 3px 10px rgba(0,0,0,.28);
}
.tovar_add .ta_btn {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    transition: background-color .14s ease;
}
.tovar_add .ta_btn:hover {
    background-color: rgba(255,255,255,.14);
}
.tovar_add svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
}
/* Товара в корзине нет — от счётчика остаётся только круглая кнопка «+» */
.tovar_add .ta_dec, .tovar_add .ta_num {
    display: none;
}
/* Товар набран — счётчик зеленеет: видно, что позиция уже в заказе */
.tovar_add.is_many {
    background-color: #2e7d4f;
}
.tovar_add.is_many .ta_dec {
    display: flex;
}
.tovar_add.is_many .ta_num {
    display: block;
    min-width: 18px;
    text-align: center;
    font-size: 16px;
    font-family: "RalewaySemibold";
    line-height: 44px;
}
.tovar_add.is_load {
    pointer-events: none;
}
.tovar_add.is_load .ta_num {
    opacity: .5;
}
/* С мышью пустая кнопка не нужна постоянно — она появляется на карточке под курсором.
   Счётчик набранного товара виден всегда: это состояние заказа, а не приглашение к действию. */
@media screen and (min-width: 651px) and (hover: hover) {
    .tovar_add:not(.is_many) {
        opacity: 0;
        pointer-events: none;
        transition: opacity .16s ease;
    }
    .tovar:hover .tovar_add:not(.is_many) {
        opacity: 1;
        pointer-events: auto;
    }
}

/* Узкая карточка (две в ряд на телефоне): цена и раскрытый счётчик делят одну строку */
@media screen and (max-width: 650px) {
    .tovar_price .price_text {
        font-size: 19px;
        padding: 8px 7px;
    }
    .tovar_add {
        right: 6px;
        height: 38px;
        border-radius: 19px;
    }
    .tovar_add .ta_btn {
        width: 34px;
        height: 38px;
    }
    .tovar_add:not(.is_many) .ta_inc {
        width: 38px; /* без счётчика кнопка должна остаться круглой */
    }
    .tovar_add svg {
        width: 18px;
        height: 18px;
    }
    .tovar_add.is_many .ta_num {
        min-width: 14px;
        font-size: 15px;
        line-height: 38px;
    }
}
.tovar {
    padding-bottom: 12px;
}
/* Если есть кнопки размеров — отступ снизу равен боковым (7px) */
.tovar:has(.tovar_sizes) {
    padding-bottom: 7px;
}
.tovar_sizes {
    margin-bottom: 0;
}

/* ===== Разделы магазина: лента-«пилюли» (по мотивам прототипа) ===== */
.mini_razdel {
    align-items: center;
    gap: 8px;
    margin: 6px 0 2px 0;
    padding: 4px 15px 8px 15px;
}
/* Подразделы прижимаем ближе к родительской ленте */
.mini_razdel + .mini_razdel {
    margin-top: -4px;
    padding-top: 0;
}
.mini_razdel .razdel_mini, .mini_razdel .sub_razdel_mini {
    flex: 0 0 auto;
    float: none;
    margin: 0;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-radius: 8px;
    box-shadow: none;
    border: 1px solid #e3e0da;
    background-color: #fff;
    color: #4a4a4a;
}
.mini_razdel .razdel_mini {
    font-size: 14px;
    padding: 9px 15px;
}
.mini_razdel .sub_razdel_mini {
    font-size: 13px;
    padding: 7px 13px;
}
.mini_razdel .razdel_mini:hover, .mini_razdel .sub_razdel_mini:hover {
    background-color: #f1efeb;
}
.mini_razdel .razdel_on, .mini_razdel .razdel_on:hover {
    background-color: var(--brand_strong, #3b3936);
    border-color: var(--brand_strong, #3b3936);
    color: #fff;
    font-family: "RalewaySemibold";
}
@media screen and (max-width: 900px) {
    /* #app-main схлопывается из-за float внутри; без полной высоты sticky не работает */
    #app-main {
        display: flow-root;
    }
    /* Ленты разделов прилипают к верху при прокрутке (как в прототипе) */
    .mini_razdel_stick {
        display: flow-root;
        position: sticky;
        top: 0;
        z-index: 20;
        /* Совпадает с фоном страницы (#F7F7F7 в design/top.php) */
        background-color: rgba(247,247,247,.96);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        /* border задан всегда прозрачным — в прилипшем состоянии меняется только цвет, без сдвига вёрстки */
        border-bottom: 1px solid transparent;
        /* top анимируется вместе с шапкой: она сдвигает ленту собой, а не накрывает её */
        transition: border-color .16s ease, box-shadow .16s ease, top .42s cubic-bezier(.25, .46, .45, .94);
    }
    .mini_razdel_stick.is_stuck {
        border-bottom-color: #e3e0da;
        box-shadow: 0 6px 14px -6px rgb(50 50 50 / 22%);
    }
    .mini_razdel {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        /* width:0 + min-width:100% — лента не распирает layout viewport на телефонах */
        width: 0;
        min-width: 100%;
        box-sizing: border-box;
    }
    .mini_razdel::-webkit-scrollbar {
        display: none;
    }
}
/* ===== Первый блок главной страницы (закреплённая публикация или товары) ===== */
/* Идёт без заголовка и без отступа сверху, поэтому его кромка совпадает с кромкой правого меню. */
.main_first_block {
    clear: both;
}
@media screen and (max-width: 900px) {
    /* Здесь сверху стоит лента разделов с отрицательным нижним отступом — возвращаем место */
    .main_first_block {
        padding-top: 20px;
    }
}
/* ===== Мобильная корзина: тёмная нижняя панель (по мотивам прототипа) ===== */
@media screen and (max-width: 900px) {
    #korzina {
        background-color: var(--brand_deep, #211f1d);
        border: 0;
        color: #fff;
        border-radius: 14px;
        padding: 12px 14px;
        margin: 0; /* у .post есть margin-bottom — для фиксированной панели он не нужен */
        bottom: 20px; /* симметрично отступу справа (20px) на этой ширине */
    }
}
@media screen and (max-width: 650px) {
    #korzina {
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
}
.kor_bar {
    display: flex;
    align-items: center;
    gap: 12px;
}
/* Панель на брендовом фоне — текст задаём прозрачностью белого, чтобы подходил любой палитре */
.kor_bar_info {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.35;
    font-size: 13px;
    color: rgba(255,255,255,.78);
    font-family: "RalewayRegular";
}
/* Вся строка с количеством и суммой — переход к составу корзины */
a.kor_bar_info {
    display: block;
    text-decoration: none;
    border: 0;
    cursor: pointer;
}
a.kor_bar_info:hover b {
    text-decoration: underline;
}
.kor_bar_sub {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.kor_bar_sub a {
    color: rgba(255,255,255,.78);
    text-decoration: underline;
}
.kor_bar_info b {
    color: #fff;
    font-size: 17px;
    font-family: "RalewaySemibold";
}
.kor_bar_note {
    font-size: 11px;
    color: rgba(255,255,255,.6);
    line-height: 1.3;
    margin-top: 2px;
}
.kor_bar_go {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    height: 42px;
    padding: 0 18px;
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    font-family: "RalewaySemibold";
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,.25);
    white-space: nowrap;
    background-color: #c1372c;
}
.kor_bar_go:hover {
    opacity: .92;
}
/* Очистка корзины — второстепенное действие, поэтому только иконка рядом с главной кнопкой */
.kor_bar_clear {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: rgba(255,255,255,.8);
    cursor: pointer;
    background-color: rgba(255,255,255,.12);
    transition: background-color .16s ease, color .16s ease;
}
.kor_bar_clear svg {
    width: 20px;
    height: 20px;
}
.kor_bar_clear:hover {
    background-color: rgba(255,255,255,.16);
    color: #fff;
}
.kor_bar_sep {
    height: 12px;
}

/* ===== Главное меню в мобильной версии: компактные текстовые вкладки под шапкой =====
   Селекторы с .menu_button_td нужны, чтобы перебить цветовые правила из design/top.php,
   которые подключаются после main.css. */
@media screen and (max-width: 650px) {
    /* Шапка с меню — липкая полоса: уезжает вверх при прокрутке вниз и возвращается при движении вверх.
       Лента разделов прилипает под шапкой (--shell_h задаётся из main.js), поэтому шапка сдвигает её собой. */
    #app-shell {
        display: flex;
        flex-direction: column;
        position: sticky;
        top: 0;
        z-index: 40;
        background-color: #fff;
        transition: transform .42s cubic-bezier(.25, .46, .45, .94);
    }
    .shell_away #app-shell {
        transform: translateY(-100%);
    }
    .mini_razdel_stick {
        top: var(--shell_h, 0px);
    }
    .shell_away .mini_razdel_stick {
        top: 0;
    }
    .menu_button_td {
        order: 3;
    }
    .menu_button_td .menu_buttons {
        background-color: #fff;
        box-shadow: none;
        border-top: 1px solid #e8e5e0;
        border-bottom: 1px solid #e8e5e0;
    }
    .menu_button_td .menu_buttons table {
        height: auto;
    }
    .menu_button_td .menu_home, .menu_button_td .menu_other {
        height: 38px !important;
        padding-top: 0;
        background-color: transparent;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .menu_button_td .menu_home:hover, .menu_button_td .menu_other:hover {
        background-color: #f1efeb;
    }
    .menu_button_td .menu_home img, .menu_button_td .menu_other img {
        display: none;
    }
    .menu_button_td .menu_home div, .menu_button_td .menu_other div {
        font-size: 13px !important;
        margin-top: 0 !important;
        color: #4a4a4a;
        line-height: 1.2;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding: 0 4px;
    }
    /* Активный раздел: тёмный акцент как у активной «пилюли» разделов */
    .menu_button_td #menu_check, .menu_button_td .menu_home_check {
        background-color: transparent !important;
        box-shadow: inset 0 -2px 0 0 #3b3936;
    }
    .menu_button_td #menu_check div, .menu_button_td .menu_home_check div {
        color: #211f1d;
        font-family: "RalewaySemibold";
    }
}

/* ===== Мои заказы: карточки в духе витрины ===== */
#order-page-root,
#seller-orders-root {
    line-height: 1.4;
}
#order-page-root .order-card,
#seller-orders-root .order-card {
    padding: 0;
    border: 1px solid #EEE;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
    box-shadow: 0 1px 8px rgba(30, 25, 20, .05);
}
#order-page-root .order-card--draft {
    border-color: #ead3a8;
}
#order-page-root .order-card--cancel,
#seller-orders-root .order-card--cancel {
    opacity: .78;
}
.order-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    padding: 14px 16px 10px;
}
.order-card__id {
    font-family: "RalewaySemibold";
    font-size: 16px;
    color: #1b1917;
    letter-spacing: -.01em;
}
.order-card__when {
    color: #938a80;
    font-size: 13px;
    margin-right: auto;
}
.order-card__time {
    margin-left: 6px;
}
.order-status-line {
    margin-left: auto;
}
.order-badge {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    height: auto;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.25;
    font-family: "RalewaySemibold";
}
.order-badge--draft {
    background: #fdecea;
    color: #990000;
}
.order-badge--wait {
    background: #fff4e0;
    color: #b97d00;
}
.order-badge--ok {
    background: #eaf6e4;
    color: #397d00;
}
.order-badge--cancel {
    background: #f1efeb;
    color: #6b6560;
}
.order-card__shop {
    display: inline-block;
    margin: 0 16px 8px;
    font-size: 13px;
    color: #655e56;
    text-decoration: none;
}
.order-card__shop:hover {
    text-decoration: underline;
}
.order-card__items {
    padding: 0 8px 4px;
}
.order-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: 8px;
}
.order-item__photo {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #F3F3F3;
}
.order-item__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.order-item__text {
    flex: 1 1 auto;
    min-width: 0;
}
.order-item__name {
    font-size: 15px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    line-height: 1.3;
}
.order-item__size {
    margin-top: 2px;
    font-size: 12px;
    color: #938a80;
}
.order-item__qty {
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: 6px;
    background: #F3F3F3;
    color: #655e56;
    font-size: 12px;
    font-family: "RalewaySemibold";
    white-space: nowrap;
}
.order-item__price {
    flex: 0 0 auto;
    font-size: 15px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    white-space: nowrap;
}
.order-card__meta {
    padding: 4px 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.order-card__meta.is-empty {
    display: none;
}
.order-meta {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.35;
}
.order-meta__label {
    flex: 0 0 78px;
    color: #938a80;
}
.order-meta__val {
    flex: 1 1 auto;
    min-width: 0;
    color: #1b1917;
}
.order-meta__val--ok {
    color: #397d00;
}
.order-meta__val--warn {
    color: #990000;
}
.order-card__foot {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 16px 14px;
    border-top: 1px solid #EEE;
    background: #F7F7F7;
}
.order-card__sum {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    margin-right: auto;
}
.order-card__sum-label {
    font-size: 12px;
    color: #938a80;
}
.order-card__sum-val {
    font-size: 18px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    letter-spacing: -.02em;
}
.order-card__sum-count {
    font-size: 12px;
    color: #938a80;
}
.order-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
#order-page-root .order-btn,
#seller-orders-root .order-btn {
    margin: 0;
    padding: 0 16px !important;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-family: "RalewaySemibold";
    box-shadow: none;
    max-width: none;
    text-decoration: none;
    color: #fff;
    box-sizing: border-box;
}
#order-page-root .order-btn--ghost {
    background-color: #E8E8E8;
    color: #4a4540;
}
#order-page-root .order-btn--pay {
    background-color: #3d8b4a !important;
}
/* Фильтр по городам в списке заказов продавца */
.orders-towns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.orders-town {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid #EEE;
    border-radius: 8px;
    background-color: #fff;
    color: #4a4540;
    font-size: 14px;
    text-decoration: none;
}
.orders-town:hover {
    background-color: #F7F7F7;
}
.orders-town__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: #F3F3F3;
    color: #655e56;
    font-size: 12px;
    font-family: "RalewaySemibold";
    box-sizing: border-box;
}
.orders-town.is-active,
.orders-town.is-active:hover {
    background-color: var(--brand_strong, #3b3936);
    border-color: var(--brand_strong, #3b3936);
    color: #fff;
    font-family: "RalewaySemibold";
}
.orders-town.is-active .orders-town__count {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}
/* Подписи у продавца длиннее («Комментарий»), иначе колонка переносит слово.
   Только для строчной раскладки: на узких экранах подпись встаёт над значением. */
@media screen and (min-width: 651px) {
    #seller-orders-root .order-meta__label {
        flex-basis: 100px;
    }
}
.order-meta__phone {
    color: #1b1917;
    text-decoration: none;
    border-bottom: 1px solid #DDD;
}
.order-empty {
    text-align: center;
    padding: 36px 20px;
    border-radius: 10px;
    border: 1px solid #EEE;
}
.order-empty__title {
    font-size: 20px;
    font-family: "RalewaySemibold";
    color: #1b1917;
}
.order-empty__text {
    margin: 8px 0 18px;
    color: #938a80;
    font-size: 14px;
}
.order-empty .order-btn {
    margin: 0 auto;
}
.order-pages {
    padding: 4px 0 8px;
}
.order-pages .pages_tuda {
    font-size: 18px;
    font-family: "RalewayRegular";
    padding: 4px 0 10px;
    color: #655e56;
}
.order-pages .page,
.order-pages .page_now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    margin: 0 2px 6px 0;
    border-radius: 8px;
    font-size: 14px;
    box-sizing: border-box;
}
.order-pages .page_now {
    background-color: var(--brand_strong, #3b3936);
    color: #fff;
    font-family: "RalewaySemibold";
}
@media screen and (max-width: 650px) {
    .order-card__head {
        padding: 12px 12px 8px;
    }
    .order-card__shop {
        margin: 0 12px 6px;
    }
    .order-card__items {
        padding: 0 4px 2px;
    }
    .order-item__photo {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }
    .order-item__name {
        font-size: 14px;
    }
    .order-card__meta,
    .order-card__foot {
        padding-left: 12px;
        padding-right: 12px;
    }
    .order-meta {
        flex-direction: column;
        gap: 2px;
    }
    .order-meta__label {
        flex: none;
        font-size: 11px;
    }
    .order-status-line {
        margin-left: 0;
        width: 100%;
    }
    .order-card__actions {
        width: 100%;
    }
    #order-page-root .order-btn,
    #seller-orders-root .order-btn {
        flex: 1 1 auto;
        height: 44px;
    }
    .orders-town {
        padding: 7px 12px;
        font-size: 13px;
    }
}

/* ===== Десктопная корзина в правом столбце ===== */
@media screen and (min-width: 901px) {
    .right_menu #korzina {
        padding: 0;
        border: 1px solid #EEE;
        border-radius: 10px;
        overflow: hidden;
        margin-bottom: 16px;
        box-shadow: 0 1px 8px rgba(30, 25, 20, .06);
        line-height: 1.35;
    }
    .kor_desk_title {
        padding: 14px 16px 10px;
        font-size: 18px;
        line-height: 1.2;
        font-family: "RalewaySemibold";
        color: #1b1917;
        letter-spacing: -.01em;
    }
    .kor_desk + .kor_desk {
        border-top: 1px solid #EEE;
        margin-top: 4px;
        padding-top: 8px;
    }
    .kor_desk__shop {
        display: block;
        padding: 0 16px 8px;
        font-size: 13px;
        color: #655e56;
        text-decoration: none;
    }
    .kor_desk__shop:hover {
        text-decoration: underline;
    }
    .kor_desk__list {
        padding: 0 8px 4px;
        width: auto;
        font-size: 13px;
    }
    .kor_desk__item {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 7px 8px;
        border-radius: 8px;
    }
    .kor_desk__item:hover {
        background: #F7F7F7;
    }
    .kor_desk__photo {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 8px;
        overflow: hidden;
        background: #F3F3F3;
    }
    .kor_desk__img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .kor_desk__text {
        flex: 1 1 auto;
        min-width: 0;
    }
    .kor_desk__name {
        font-size: 13px;
        line-height: 1.3;
        color: #1b1917;
        font-family: "RalewaySemibold";
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .kor_desk__size {
        margin-top: 2px;
        font-size: 11px;
        color: #938a80;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .kor_desk__qty {
        color: #655e56;
        font-family: "RalewaySemibold";
    }
    .kor_desk__price {
        flex: 0 0 auto;
        font-size: 13px;
        font-family: "RalewaySemibold";
        color: #1b1917;
        white-space: nowrap;
        text-align: right;
    }
    .kor_desk__unit {
        display: block;
        font-size: 11px;
        font-family: "RalewayRegular";
        color: #938a80;
        font-weight: normal;
    }
    .kor_desk__del {
        flex: 0 0 26px;
        width: 26px;
        height: 26px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #938a80;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        user-select: none;
    }
    .kor_desk__del:hover {
        background: #EEE;
        color: #990000;
    }
    .kor_desk__del.is_load,
    .kor_desk__clear.is_load {
        opacity: .45;
        pointer-events: none;
    }
    .kor_desk__foot {
        padding: 10px 16px 16px;
        border-top: 1px solid #EEE;
        background: #F7F7F7;
    }
    .kor_desk__sum {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 8px;
        font-size: 13px;
        color: #938a80;
    }
    .kor_desk__sum b {
        font-size: 18px;
        color: #1b1917;
        font-family: "RalewaySemibold";
        letter-spacing: -.02em;
    }
    .kor_desk__note {
        margin: 0 0 10px;
        font-size: 12px;
        line-height: 1.35;
        color: #655e56;
    }
    .kor_desk__go {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 42px;
        border-radius: 8px;
        color: #fff;
        font-size: 14px;
        font-family: "RalewaySemibold";
        cursor: pointer;
        box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
    }
    .kor_desk__go:hover {
        opacity: .92;
        color: #fff;
    }
    .kor_desk__clear {
        display: block;
        margin-top: 8px;
        text-align: center;
        font-size: 12px;
        color: #938a80;
        cursor: pointer;
    }
    .kor_desk__clear:hover {
        color: #990000;
    }
    .kor_desk_empty {
        padding: 8px 16px 18px;
        text-align: center;
        color: #938a80;
        font-size: 13px;
    }
}

/* ===== Страница корзины (?module=korzina_page) ===== */
#korzina-page-root {
    line-height: 1.4;
}
#korzina-page-root .kor-page {
    padding: 0;
    border: 1px solid #EEE;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 14px;
    box-shadow: 0 1px 8px rgba(30, 25, 20, .05);
}
.kor-page__shop {
    display: inline-block;
    margin: 14px 16px 6px;
    font-size: 13px;
    color: #655e56;
    text-decoration: none;
}
.kor-page__shop:hover {
    text-decoration: underline;
}
.kor-page__list {
    padding: 4px 8px 6px;
}
.kor-page__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: 8px;
}
.kor-page__photo {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #F3F3F3;
}
.kor-page__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.kor-page__text {
    flex: 1 1 auto;
    min-width: 0;
}
.kor-page__name {
    font-size: 15px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    line-height: 1.3;
}
.kor-page__size {
    margin-top: 2px;
    font-size: 12px;
    color: #938a80;
}
.kor-page__qty {
    color: #655e56;
    font-family: "RalewaySemibold";
}
.kor-page__price {
    flex: 0 0 auto;
    font-size: 15px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    white-space: nowrap;
    text-align: right;
}
.kor-page__unit {
    display: block;
    font-size: 11px;
    font-family: "RalewayRegular";
    color: #938a80;
    font-weight: normal;
}
.kor-page__del {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #938a80;
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
}
.kor-page__del:hover {
    background: #EEE;
    color: #990000;
}
.kor-page__foot {
    padding: 12px 16px 16px;
    border-top: 1px solid #EEE;
    background: #F7F7F7;
}
.kor-page__sum {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    margin-bottom: 8px;
}
.kor-page__sum-label {
    font-size: 12px;
    color: #938a80;
}
.kor-page__sum-val {
    font-size: 20px;
    font-family: "RalewaySemibold";
    color: #1b1917;
    letter-spacing: -.02em;
}
.kor-page__sum-count {
    font-size: 12px;
    color: #938a80;
}
.kor-page__note {
    margin: 0 0 12px;
    font-size: 13px;
    line-height: 1.35;
    color: #655e56;
}
.kor-page__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}
.kor-page__go {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 20px;
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    font-family: "RalewaySemibold";
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
}
.kor-page__go:hover {
    opacity: .92;
    color: #fff;
}
.kor-page__clear,
.kor-page__clear-all a {
    font-size: 13px;
    color: #938a80;
    text-decoration: none;
}
.kor-page__clear:hover,
.kor-page__clear-all a:hover {
    color: #990000;
}
.kor-page__clear-all {
    text-align: center;
    padding: 4px 0 12px;
}
#korzina-page-root .order-empty .kor-page__go {
    margin: 0 auto;
}
@media screen and (max-width: 650px) {
    .kor-page__item {
        gap: 10px;
        padding: 8px 6px;
    }
    .kor-page__photo {
        flex-basis: 48px;
        width: 48px;
        height: 48px;
    }
    .kor-page__name {
        font-size: 14px;
    }
    .kor-page__price {
        font-size: 14px;
    }
    .kor-page__foot {
        padding-left: 12px;
        padding-right: 12px;
    }
    .kor-page__actions {
        width: 100%;
    }
    .kor-page__go {
        flex: 1 1 auto;
    }
}

/* ============================================================
   Управление товарами продавца (?module=tovar_admin)
   ============================================================ */
#tovar-admin-root,
#tovar-list-root {
    line-height: 1.4;
}
#tovar-admin-root .ta-card,
#tovar-list-root .ta-card {
    border: 1px solid #EEE;
    border-radius: 10px;
    background-color: #FFF;
    box-shadow: 0 1px 8px rgba(30, 25, 20, .05);
    margin-bottom: 14px;
    overflow: hidden;
}
.ta-card__head {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #F1F1F1;
    background-color: #FBFBFB;
}
.ta-card__title {
    font-family: "RalewaySemibold";
    font-size: 16px;
    color: #2f2c29;
}
.ta-card__hint {
    font-size: 12px;
    color: #8b847c;
}
/* print_shop_history() отдаёт готовые ссылки разделов — в заголовке карточки они не должны кричать */
.ta-card__title a {
    color: inherit;
    text-decoration: none;
}
.ta-card__title a:hover {
    text-decoration: underline;
}
.ta-card__saved {
    margin-left: auto;
    font-size: 12px;
    color: #3f8f43;
    background-color: #eef7ee;
    border-radius: 6px;
    padding: 3px 8px;
}
.ta-card__body {
    padding: 14px;
}

/* --- Сообщения --- */
.ta-alert {
    margin: 0 0 12px 0;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.35;
}
.ta-alert--warn {
    background-color: #fdf1ef;
    border: 1px solid #f3d9d4;
    color: #8a3a2c;
}
.ta-note {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background-color: #F7F7F7;
    border: 1px solid #EEE;
    font-size: 13px;
    line-height: 1.4;
    color: #5d564f;
}
.ta-note a {
    color: inherit;
}

/* --- Кнопки --- */
.ta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 16px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    background-color: #FFF;
    color: #2f2c29;
    font-family: "RalewaySemibold";
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.ta-btn:hover {
    border-color: #d5d5d5;
    background-color: #FAFAFA;
}
.ta-btn--main {
    border-color: transparent;
    background-color: var(--brand, #2b2b2b);
    color: #FFF;
}
.ta-btn--main:hover {
    background-color: var(--brand_strong, #1f1f1f);
}
.ta-btn--ghost {
    color: #5d564f;
}
.ta-btn--danger {
    color: #a4392a;
    border-color: #eddcd8;
}
.ta-btn--danger:hover {
    background-color: #fdf1ef;
}

/* --- Поля --- */
.ta-field {
    display: block;
    margin-bottom: 14px;
}
.ta-field__label {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-family: "RalewaySemibold";
    color: #5d564f;
}
.ta-field__hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #99928a;
}
.ta-input {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    background-color: #FFF;
    font-family: "RalewayRegular";
    font-size: 15px;
    color: #2f2c29;
}
.ta-input:focus {
    outline: none;
    border-color: #c9c4bd;
}
.ta-input--num {
    max-width: 130px;
}
.ta-select {
    max-width: 100%;
    padding: 9px 12px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    background-color: #FFF;
    font-family: "RalewayRegular";
    font-size: 15px;
    color: #2f2c29;
}
.ta-inline {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* --- Фотографии --- */
.ta-photos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
}
.ta-photo {
    position: relative;
    border: 1px solid #EEE;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FAFAFA;
    aspect-ratio: 1 / 1;
}
.ta-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ta-photo__badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 3px 8px;
    border-radius: 6px;
    background-color: rgba(30, 30, 30, .72);
    color: #FFF;
    font-size: 11px;
    font-family: "RalewaySemibold";
}
.ta-photo__main {
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    padding: 4px 8px;
    border-radius: 6px;
    background-color: rgba(255, 255, 255, .9);
    color: #2f2c29;
    font-size: 11px;
    text-align: center;
    text-decoration: none;
    opacity: 0;
    transition: opacity .15s ease;
}
.ta-photo:hover .ta-photo__main {
    opacity: 1;
}
.ta-photo__bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: stretch;
    background-color: rgba(255, 255, 255, .93);
    border-top: 1px solid #EEE;
}
.ta-photo__nav {
    flex: 0 0 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 0;
    color: #2f2c29;
    font-size: 17px;
    line-height: 1;
    text-decoration: none;
}
.ta-photo__nav.is_off {
    color: #d3cfca;
}
.ta-photo__nav--del {
    flex: 1 1 auto;
    font-size: 12px;
    font-family: "RalewaySemibold";
    color: #a4392a;
}
.ta-photo__nav:not(.is_off):hover {
    background-color: #F2F2F2;
}
.ta-photo--add {
    display: flex;
    border-style: dashed;
    border-color: #DDD;
}
.ta-photo--add label {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    color: #8b847c;
    font-size: 13px;
    text-align: center;
    padding: 10px;
}
.ta-photo--add svg {
    width: 32px;
    height: 32px;
}
.ta-photo--add:hover {
    border-color: #c6c1ba;
    background-color: #F5F5F5;
}

/* --- Вариации --- */
.ta-sizes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 12px;
    align-items: start;
}
.ta-size {
    border: 1px solid #EEE;
    border-radius: 10px;
    background-color: #FFF;
    overflow: hidden;
}
.ta-size.is_problem {
    border-color: #f0d7d2;
    background-color: #fdf7f6;
}
.ta-size.is_main {
    border-color: #e2dcc9;
}
.ta-size__price {
    border-bottom: 1px solid #F1F1F1;
    background-color: #FAFAFA;
}
.ta-size__price_text {
    padding: 10px 12px;
    font-family: "RalewaySemibold";
    font-size: 17px;
    color: #2f2c29;
    cursor: pointer;
}
.ta-size__price_text s {
    color: #a09a92;
    font-size: 13px;
    margin-right: 4px;
}
.ta-size__price.is_need .ta-size__price_text {
    color: #a4392a;
    font-size: 14px;
}
.ta-size__form {
    display: none;
    gap: 6px;
    padding: 8px;
}
.ta-size__price.is_edit .ta-size__form,
.ta-size__nameblock.is_edit .ta-size__form {
    display: flex;
}
.ta-size__price.is_edit .ta-size__price_text,
.ta-size__nameblock.is_edit .ta-size__name {
    display: none;
}
.ta-size__form input[type=text],
.ta-size__form input[type=number] {
    flex: 1 1 auto;
    min-width: 0;
    padding: 7px 9px;
    border: 1px solid #E2E2E2;
    border-radius: 7px;
    font-family: "RalewayRegular";
    font-size: 15px;
}
.ta-size__form .ta-btn {
    padding: 7px 12px;
}
.ta-size__body {
    padding: 10px 12px;
}
.ta-size__name {
    font-family: "RalewaySemibold";
    font-size: 15px;
    color: #2f2c29;
    cursor: pointer;
    word-break: break-word;
}
.ta-size__name--mute {
    color: #99928a;
    font-family: "RalewayRegular";
    cursor: default;
}
.ta-size__name--empty {
    color: #a4392a;
    text-decoration: underline dotted;
}
.ta-size__props {
    margin-top: 6px;
}
.ta-prop {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 13px;
    color: #5d564f;
    padding: 2px 0;
}
.ta-prop__name {
    color: #8b847c;
}
.ta-prop__name a {
    color: #8b847c;
}
.ta-prop.is-default .ta-prop__name {
    color: #2f2c29;
}
.ta-prop__val {
    flex: 1 1 auto;
    word-break: break-word;
}
.ta-prop__del {
    color: #c0b9b1;
    text-decoration: none;
    font-size: 15px;
    line-height: 1;
}
.ta-prop__del:hover {
    color: #a4392a;
}
.ta-size__addprop {
    margin-top: 6px;
    font-size: 13px;
    color: #4a7a3f;
    cursor: pointer;
}
.ta-size__addprop.is_need {
    color: #a4392a;
}
.ta-size__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
    border-top: 1px solid #F1F1F1;
    background-color: #FBFBFB;
    font-size: 12px;
}
.ta-size__foot a {
    text-decoration: none;
}
.ta-size__main {
    color: #8a7c3f;
    font-family: "RalewaySemibold";
}
.ta-size__setmain {
    color: #5d564f;
}
.ta-size__del {
    color: #a4392a;
}
.ta-size--add {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 110px;
    border-style: dashed;
    border-color: #DDD;
    color: #8b847c;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
    padding: 12px;
}
.ta-size--add span {
    font-size: 24px;
    line-height: 1;
}
.ta-size--add:hover {
    border-color: #c6c1ba;
    background-color: #FAFAFA;
}

/* --- Города --- */
.ta-towns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ta-town {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid #EEE;
    border-radius: 8px;
    background-color: #FFF;
    font-size: 14px;
    color: #2f2c29;
    cursor: pointer;
}
.ta-town input {
    width: 16px;
    height: 16px;
    margin: 0;
}
.ta-town:has(input:checked) {
    border-color: #cfcac3;
    background-color: #F7F7F7;
}
.ta-town em {
    font-style: normal;
    font-size: 11px;
    color: #a4392a;
    background-color: #fdf1ef;
    border-radius: 5px;
    padding: 2px 6px;
}
.ta-town.is_off {
    color: #8b847c;
}

/* --- Низ страницы --- */
.ta-foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

/* --- Диалог добавления свойства --- */
.ta-specdlg {
    display: none;
    width: calc(90% - 30px);
    max-width: 600px;
    transform: translate(-50%, -50%);
    left: 50%;
    padding: 18px;
    background-color: #FFF;
    border-radius: 12px;
    z-index: 10000;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .2);
    max-height: 80vh;
    overflow-y: auto;
}
.ta-specdlg h2 {
    margin: 0 0 14px 0;
    font-size: 18px;
}
.ta-specdlg h3 {
    margin: 12px 0 4px 0;
    font-size: 13px;
    color: #8b847c;
    font-family: "RalewaySemibold";
}
.ta-specdlg .spec_item {
    cursor: pointer;
    padding: 9px 10px;
    font-size: 15px;
    border-radius: 7px;
}
.ta-specdlg .spec_item:hover {
    background-color: #F5F5F5;
}
#spec_value_input {
    padding-top: 6px;
}
#spec_name_label {
    font-size: 16px;
    font-family: "RalewaySemibold";
    color: #2f2c29;
    margin-bottom: 8px;
}
#spec_value_input input[type=text] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    font-size: 15px;
    margin-bottom: 10px;
}

@media screen and (max-width: 650px) {
    .ta-card__body {
        padding: 12px;
    }
    .ta-photos {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 10px;
    }
    .ta-sizes {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 10px;
    }
    .ta-foot .ta-btn {
        flex: 1 1 auto;
    }
}

/* --- Список товаров продавца --- */
.tl-tools {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.tl-search {
    flex: 1 1 220px;
    min-width: 0;
    max-width: 340px;
}
.tl-chips {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.tl-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid #EEE;
    border-radius: 8px;
    background-color: #FFF;
    font-size: 13px;
    color: #5d564f;
    cursor: pointer;
    user-select: none;
}
.tl-chip i {
    font-style: normal;
    font-size: 12px;
    color: #99928a;
}
.tl-chip:hover {
    border-color: #d9d5cf;
}
.tl-chip.is-active {
    background-color: var(--brand_strong, #3b3936);
    border-color: var(--brand_strong, #3b3936);
    color: #FFF;
    font-family: "RalewaySemibold";
}
.tl-chip.is-active i {
    color: rgba(255, 255, 255, .7);
}
.tl-chip--warn:not(.is-active) {
    border-color: #f0d7d2;
    color: #a4392a;
}
.tl-chip--warn:not(.is-active) i {
    color: #c98374;
}

.tl-rows {
    padding: 4px 0;
}
.tl-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-bottom: 1px solid #F4F4F4;
}
.tl-row:last-child {
    border-bottom: 0;
}
.tl-row:hover {
    background-color: #FBFBFB;
}
.tl-row__sw {
    flex: 0 0 58px;
}
.tl-row__blocked {
    display: block;
    width: 50px;
    height: 26px;
    border-radius: 13px;
    background-color: #e6bdbd;
    box-shadow: inset 0 2px 3px rgba(0, 0, 0, .18);
}
.tl-row__img {
    position: relative;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #F5F5F5;
    display: block;
}
.tl-row__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tl-row__imgnum {
    position: absolute;
    right: 2px;
    bottom: 2px;
    min-width: 14px;
    padding: 0 3px;
    border-radius: 4px;
    background-color: rgba(30, 30, 30, .68);
    color: #FFF;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
}
.tl-row__main {
    flex: 1 1 auto;
    min-width: 0;
}
.tl-row__name {
    display: block;
    font-family: "RalewaySemibold";
    font-size: 15px;
    color: #2f2c29;
    text-decoration: none;
    word-break: break-word;
}
.tl-row__name:hover {
    text-decoration: underline;
}
.tl-row__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 4px;
}
.tl-badge {
    padding: 2px 7px;
    border-radius: 5px;
    background-color: #F1F1F1;
    color: #5d564f;
    font-size: 11px;
    white-space: nowrap;
}
.tl-badge--warn {
    background-color: #fdf1ef;
    color: #a4392a;
}
.tl-badge--soft {
    background-color: #F7F7F7;
    color: #99928a;
}
.tl-row__towns,
.tl-row__posts {
    margin-top: 3px;
    font-size: 12px;
    color: #99928a;
    line-height: 1.3;
}
.tl-row__posts a {
    color: #8b847c;
}
.tl-row__price {
    flex: 0 0 auto;
    font-family: "RalewaySemibold";
    font-size: 14px;
    color: #2f2c29;
    white-space: nowrap;
}
.tl-row__noprice {
    color: #a4392a;
    font-family: "RalewayRegular";
    font-size: 12px;
}
.tl-row__del {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    color: #c0b9b1;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
}
.tl-row__del:hover {
    background-color: #fdf1ef;
    color: #a4392a;
}

@media screen and (max-width: 650px) {
    .tl-row {
        padding: 9px 10px;
        gap: 8px;
    }
    .tl-row__sw {
        flex-basis: 54px;
    }
    .tl-row__img {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }
    .tl-row__name {
        font-size: 14px;
    }
    .tl-row__price {
        font-size: 13px;
    }
    .tl-row__del {
        width: 22px;
    }
    .tl-search {
        max-width: none;
    }
}

/* --- Радио-переключатели в формах товара --- */
.ta-radios {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ta-radio {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    border: 1px solid #EEE;
    border-radius: 8px;
    background-color: #FFF;
    font-size: 14px;
    color: #2f2c29;
    cursor: pointer;
}
.ta-radio input {
    width: 16px;
    height: 16px;
    margin: 0;
}
.ta-radio:has(input:checked) {
    border-color: #cfcac3;
    background-color: #F7F7F7;
    font-family: "RalewaySemibold";
}

/* ===== Кнопки перехода на карточке товара =====
   Широкий экран с мышью (правое меню на месте): при наведении вверху карточки появляются
   «Подробнее» и «Другие …».
   Планшет и телефон: наведения нет, поэтому кнопка раздела видна сразу, а «Подробнее» не нужна —
   карточка и так открывает страницу товара по касанию. */
.tovar_acts {
    display: flex;
    position: absolute;
    top: 8px;
    left: 8px;
    right: 8px;
    z-index: 4;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.tovar_act {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    padding: 7px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-family: "RalewaySemibold";
    line-height: 1.15;
    text-decoration: none;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgb(30 30 30 / 22%);
}
.tovar_act--more {
    display: none; /* появляется только там, где работает наведение мышью */
    background-color: var(--brand_strong, #3b3936);
    color: #fff !important;
}
.tovar_act--razdel {
    background-color: rgba(255, 255, 255, .94);
    color: #2f2c29 !important;
}
.tovar_act--more:hover {
    background-color: var(--brand_deep, #211f1d);
}
.tovar_act--razdel:hover {
    background-color: #fff;
}
.tovar_act__long {
    display: none;
}
@media screen and (min-width: 651px) {
    .tovar_act__long {
        display: inline;
    }
    .tovar_act__short {
        display: none;
    }
}
/* Постоянно видимая кнопка не должна закрывать бейдж старой цены — он уходит ниже,
   а рядом с меткой остатка кнопке оставляем место */
@media screen and (max-width: 900px) {
    .tovar_shot .price_old_badge {
        top: 46px;
    }
    .tovar:has(.price_text2) .tovar_act--razdel {
        max-width: calc(100% - 80px);
    }
    .tovar:has(.tov_dop_div) .tovar_acts {
        top: 74px;
    }
}
/* Правое меню на месте и есть мышь — кнопки прячем до наведения на карточку */
@media screen and (min-width: 901px) and (hover: hover) {
    .tovar_acts {
        opacity: 0;
        pointer-events: none;
        transition: opacity .16s ease;
    }
    .tovar:hover .tovar_acts {
        opacity: 1;
        pointer-events: auto;
    }
    .tovar_act--more {
        display: inline-flex;
    }
    /* Кнопки встают на место бейджей старой цены и остатка — уводим их ниже,
       иначе при наведении скидка и остаток пропадают из виду */
    .tovar_shot .price_old_badge,
    .tovar_shot .price_text2 {
        transition: top .16s ease;
    }
    .tovar:hover .tovar_shot .price_old_badge,
    .tovar:hover .tovar_shot .price_text2 {
        top: 46px;
    }
    /* На сайтах с несколькими продавцами в углу карточки стоит логотип: кнопки опускаем
       под него, иначе наведение прячет, чей это товар */
    .tovar:has(.tov_dop_div) .tovar_acts {
        top: 74px;
    }
}

/* ===== Страница товара ===== */
/* .post h1 раскрывает заголовок в поток (display: contents) — здесь он нужен обычным блоком */
.tovar_page .tovar_page__h1 {
    display: block;
    margin: 0;
    font-size: 27px;
    line-height: 1.2;
    word-break: break-word;
}
.tovar_page__h2 {
    margin: 22px 0 10px 0;
    font-size: 20px;
}
.tovar_page__top {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
    padding-top: 14px;
}
.tovar_page__media {
    flex: 0 0 320px;
    max-width: 100%;
    min-width: 0;
}
.tovar_page__media .tovar_gal, .tovar_page__media .tovar_photo {
    border-radius: 10px;
}
.tovar_page__media .tovar_photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
/* На странице товара галерея не внутри .tovar, поэтому стрелки показываем без наведения */
.tovar_page__media .tovar_gal__arrow {
    opacity: 1;
}
.tovar_page__info {
    flex: 1 1 320px;
    min-width: 0;
}
.tovar_page__info .tovar_page__h2:first-child {
    margin-top: 0;
}
.tovar_page__rating {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    font-size: 15px;
    padding-bottom: 10px;
}
.tovar_page__stars {
    color: #f0a500;
    letter-spacing: 1px;
}
.tovar_page__rating_num {
    color: #777;
    font-size: 14px;
    font-family: "RalewayLight";
}
.tovar_page__buy {
    padding: 14px;
    border: 1px solid #EEE;
    border-radius: 10px;
    background-color: #fcfbfa;
}
.tovar_page__price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
}
.tovar_page__price_now {
    font-size: 30px;
    font-family: "RalewaySemibold";
    color: #2f2c29;
}
.tovar_page__price_old {
    font-size: 17px;
    color: #999;
    text-decoration: line-through;
}
.tovar_page__ves {
    font-size: 15px;
    color: #666;
    font-family: "RalewayLight";
}
.tovar_page__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px;
}
.tovar_page__sizes .size_active, .tovar_page__sizes .size_inactive {
    flex: 0 0 auto;
    min-width: 64px;
    font-size: 14px;
}
/* Счётчик в карточке был бейджем поверх фото, здесь он живёт в потоке блока покупки */
.tovar_add--page {
    position: static;
    transform: none;
    margin-top: 14px;
    width: -moz-fit-content;
    width: fit-content;
    opacity: 1 !important;
    pointer-events: auto !important;
}
/* На странице товара заказ — главное действие, поэтому кнопка подписана.
   Набранную позицию подпись не сопровождает: там кнопки работают как счётчик. */
.tovar_add--page:not(.is_many) .ta_inc {
    width: auto;
    gap: 8px;
    padding: 0 20px 0 16px;
    border-radius: 22px;
}
.ta_label {
    font-size: 16px;
    font-family: "RalewaySemibold";
    white-space: nowrap;
}
.tovar_add.is_many .ta_label {
    display: none;
}
.tovar_page__ostatok {
    padding-top: 8px;
    font-size: 13px;
    color: #c33;
}
.tovar_page__nostock {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background-color: #fff4f4;
    color: #8a2a2a;
    font-size: 14px;
}
.tovar_page__props, .tovar_page__sizes_table {
    width: 100%;
    border-collapse: collapse;
}
.tovar_page__props th, .tovar_page__props td,
.tovar_page__sizes_table th, .tovar_page__sizes_table td {
    padding: 9px 10px;
    border-bottom: 1px solid #EEE;
    font-size: 14px;
    text-align: left;
    vertical-align: top;
}
.tovar_page__props th, .tovar_page__sizes_table th {
    width: 40%;
    color: #777;
    font-family: "RalewayLight";
    font-weight: normal;
}
.tovar_page__sizes_table th {
    width: auto;
}
.tovar_page__cell_price {
    font-family: "RalewaySemibold";
    white-space: nowrap;
}
.tovar_page__desc {
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    font-family: "RalewayLight";
    word-break: break-word;
}

/* ===== Отзывы ===== */
.tovar_page__note {
    padding: 11px 13px;
    border-radius: 8px;
    background-color: #f7f6f4;
    color: #555;
    font-size: 14px;
    margin-bottom: 12px;
}
.tovar_page__note--err {
    background-color: #fff4f4;
    color: #8a2a2a;
}
.tovar_page__revlist {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 14px;
}
.tovar_page__rev {
    padding: 12px 14px;
    border: 1px solid #EEE;
    border-radius: 10px;
    background-color: #fff;
}
.tovar_page__rev_head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 15px;
    padding-bottom: 6px;
}
.tovar_page__rev_date {
    color: #999;
    font-size: 13px;
    font-family: "RalewayLight";
}
.tovar_page__rev_text {
    font-size: 14px;
    line-height: 1.55;
    color: #333;
    font-family: "RalewayLight";
    word-break: break-word;
}
.tovar_page__revform {
    padding-top: 6px;
}
.tovar_page__revform_row {
    padding-bottom: 12px;
    font-size: 14px;
}
.tovar_page__revform label {
    display: block;
    padding-bottom: 5px;
    color: #777;
    font-size: 13px;
}
.tovar_page__revform input[type=text], .tovar_page__revform textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #DDD;
    border-radius: 8px;
    font-size: 15px;
    font-family: "RalewayRegular";
    color: #333;
}
.tovar_page__revform textarea {
    resize: vertical;
    min-height: 90px;
}
.tovar_page__revstars {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.tovar_page__revstars label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid #EEE;
    border-radius: 8px;
    background-color: #fff;
    color: #f0a500;
    font-size: 13px;
    cursor: pointer;
}
.tovar_page__revstars label:has(input:checked) {
    border-color: #cfcac3;
    background-color: #fdf8ee;
}
.tovar_page__revstars input {
    margin: 0;
}
.tovar_page__revform input[type=submit] {
    display: inline-block;
    width: auto;
    padding: 12px 22px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
}
@media screen and (max-width: 650px) {
    .tovar_page__h1 {
        font-size: 23px;
    }
    .tovar_page__media {
        flex-basis: 100%;
    }
    .tovar_page__price_now {
        font-size: 26px;
    }
    .tovar_page__props th {
        width: 45%;
    }
}

/* ======================= СТРАНИЦА ПУБЛИКАЦИИ ======================= */

/* Плашка типа публикации висит на кромке карточки, как в анонсах, — ей нужна точка отсчёта */
.post--article {
    position: relative;
}
/* Воздух над заголовком даём таблице, а не карточке: padding карточки увёл бы за собой
   и плашку — она отсчитывается от кромки содержимого */
.post--article .post_title_table {
    margin-top: 14px;
}
.post--article .post_h1 {
    display: block;
    margin: 0;
    font-size: 27px;
    line-height: 1.2;
    word-break: break-word;
}
.post_body {
    clear: both;
    width: 100%;
}
.post_div {
    margin-top: 14px;
}
.post_div:first-child {
    margin-top: 16px;
}
/* Читаемый размер для длинного текста публикации */
.post--article .post_div--1 {
    font-size: 16.5px;
    line-height: 1.65;
}
.post_link {
    color: var(--brand_strong, #444);
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.post_link:hover {
    border-bottom-color: currentColor;
}
.post_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 16px 0 4px 0;
    line-height: normal;
}
.post_tag {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #E8E8E8;
    border-radius: 20px;
    background-color: #FAFAFA;
    font-size: 13px;
    color: #666;
    text-decoration: none;
}
.post_tag:before {
    content: "#";
    color: #BBB;
}
.post_tag:hover {
    border-color: var(--brand_strong, #CCC);
    color: var(--brand_strong, #333);
}
.post .end {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px 12px;
    margin: 18px -15px -15px -15px;
    padding: 10px 15px;
    border-radius: 0 0 6px 6px;
    color: #777;
}
.post .end__towns {
    text-align: right;
}

/* Галерея публикации: плитка вместо плавающих блоков — ряды выравниваются
   по высоте, а одиночный снимок занимает всю ширину колонки. */
.imgdiv1, .imgdiv2, .imgdiv3, .imgdiv4 {
    display: grid;
    gap: 8px;
}
.imgdiv2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.imgdiv3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.imgdiv4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.imgdiv1 .imdivcont, .imgdiv2 .imdivcont, .imgdiv3 .imdivcont, .imgdiv4 .imdivcont {
    float: none;
    width: auto;
    min-width: 0;
}
.imgdiv1 .imdiv, .imgdiv2 .imdiv, .imgdiv3 .imdiv, .imgdiv4 .imdiv {
    margin: 0;
}
/* height: auto обязателен: атрибуты width/height в разметке (они спасают вёрстку от скачков)
   иначе перебивают aspect-ratio у плиток */
.post .post_img {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 8px;
}
.imgdiv2 .post_img, .imgdiv3 .post_img, .imgdiv4 .post_img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
/* В анонсе текст и картинки идут без обёрток, отступ задаём самой галерее */
.post--preview .imgdiv1, .post--preview .imgdiv2, .post--preview .imgdiv3, .post--preview .imgdiv4 {
    margin-top: 10px;
}
.post_img_link {
    position: relative;
    display: block;
    cursor: zoom-in;
    border-radius: 8px;
    overflow: hidden;
}
.post_img_zoom {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M20 20l-4.7-4.7M7.5 10.5h6M10.5 7.5v6'/%3E%3C/svg%3E") center/17px no-repeat;
    opacity: 0;
    transition: opacity 0.15s;
}
.post_img_link:hover .post_img_zoom {
    opacity: 1;
}

/* ---- Просмотр снимка во весь экран ---- */
body.imgview_open {
    overflow: hidden;
}
.imgview {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    align-items: center;
    justify-content: center;
}
.imgview.is_open {
    display: flex;
}
.imgview__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(12, 12, 12, 0.92);
}
.imgview__img {
    position: relative;
    max-width: calc(100% - 100px);
    max-height: calc(100% - 90px);
    border-radius: 6px;
    cursor: zoom-out;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}
.imgview__counter {
    position: absolute;
    top: 18px;
    left: 0;
    right: 0;
    text-align: center;
    color: #EEE;
    font-family: "RalewayLight";
    font-size: 14px;
    pointer-events: none;
}
.imgview__btn {
    position: absolute;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.14);
    color: #FFF;
    font-size: 20px;
    line-height: 46px;
    padding: 0;
    cursor: pointer;
}
.imgview__btn:hover {
    background-color: rgba(255, 255, 255, 0.28);
}
.imgview__close {
    top: 14px;
    right: 14px;
}
.imgview__prev {
    left: 14px;
    top: 50%;
    margin-top: -23px;
}
.imgview__next {
    right: 14px;
    top: 50%;
    margin-top: -23px;
}

/* ---- Каталог продавца под публикацией ---- */
.post_shop_katalog {
    margin-bottom: 20px;
}
.post_shop_title {
    font-family: "RalewayLight";
    font-size: 20px;
    color: #444;
    padding-bottom: 4px;
}
.post_shop_title a {
    color: inherit;
    text-decoration: none;
}
/* На широких экранах лента разделов обычно скрыта (каталог есть в правой колонке),
   но под публикацией она — единственный путь к товарам продавца, поэтому показываем */
.post_shop_katalog .mini_razdel {
    display: flex !important;
    visibility: visible !important;
    flex-wrap: wrap;
    overflow: visible;
    margin: 0;
    padding: 8px 0 0 0;
}

/* ---- Начинка публикации: заголовки, цитаты, перечни ---- */
.post--article .post_body h2 {
    font-size: 22px;
    padding: 18px 0 6px 0;
    line-height: 1.25;
}
.post--article .post_body h3 {
    font-size: 18px;
    padding: 12px 0 4px 0;
}
.post--article .citata {
    margin: 4px 0;
    padding: 14px 18px;
    border: 0;
    border-left: 3px solid var(--brand_strong, #CCC);
    border-radius: 0 8px 8px 0;
    background-color: #F7F7F7;
    font-family: inherit;
    font-size: 17px;
}
.post--article .citata .c_author {
    padding-top: 6px;
    font-family: "RalewayLight";
    font-size: 13px;
    color: #777;
    font-style: normal;
}
.post--article .citata .c_author:before {
    content: "— ";
}
.post--article .div_need, .post--article .div_do {
    font-family: inherit;
    font-size: 17px;
    font-weight: normal;
    color: #333;
    padding: 4px 0;
}
.post--article .div_need ul {
    margin: 8px 0 0 0;
    padding-left: 22px;
}
.post--article .div_need li {
    font-family: inherit;
    font-size: 15px;
    padding-bottom: 4px;
}
.post--article .div_do_hr span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    padding: 0;
    font-family: inherit;
    font-size: 15px;
}

@media screen and (max-width: 650px) {
    .post--article .post_h1 {
        font-size: 23px;
    }
    /* На узком экране снимку отдаём почти всю площадь, а стрелки уводим вниз, под фото */
    .imgview__img {
        max-width: calc(100% - 16px);
        max-height: calc(100% - 130px);
    }
    .imgview__prev, .imgview__next {
        top: auto;
        bottom: 22px;
        margin-top: 0;
    }
    .imgview__prev {
        left: 25%;
        margin-left: -23px;
    }
    .imgview__next {
        right: 25%;
        margin-right: -23px;
    }
    .post--article .post_body h2 {
        font-size: 20px;
    }
    .post--article .citata {
        font-size: 16px;
        padding: 12px 14px;
    }
    .imgdiv3, .imgdiv4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media screen and (max-width: 450px) {
    .post .end {
        flex-direction: column;
    }
    .post .end__towns {
        text-align: left;
    }
}
