body {
  background: -webkit-linear-gradient(0deg,#efbdda,#a4d1fe);
  background:linear-gradient(0deg,#efbdda,#a4d1fe);
  background-attachment:fixed;
  height: 100vh;
  font-family: "Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}
h1,h2,h3,h4,h5{
  text-align:center;
}
ul {
  padding-left: 0.5rem; margin-left: 0;
}
li {
  margin:0.5rem 0;
  list-style-type: none;
 }
li:before {
  content: "🔖";
 }
 
a {
    text-underline-offset: 3px;
}
/* Ключевое слово currentColor - любой цвет */
a:not(:is(:hover, :focus)) {
    text-decoration-color: color-mix(in srgb, currentColor, transparent 65%);
}

a:hover {cursor: pointer;}
button:hover {cursor: pointer;}
a:link {color:#222;}
a:visited {color:#222;}

/* HEADER */

#slogan{
  font-weight:bold;
} 
#logo{
  margin:0px auto;
  font-weight:bold;
} 
#logo a{
  text-decoration:none;
  color:#222;
} 
#logo img{
  margin-right:10px;
} 
#logo img, #logo span{
  display: inline-block;
} 
@media (max-width:700px){
  #logo {
      font-size:3.5rem;
      line-height:3.8rem;
  } #logo-img{
      height:3.0rem;
      margin-bottom:-0.25rem;
  }
  #slogan{
      font-size:1.5rem;
  }
} 

@media (min-width:701px) and (max-width:1200px){
  #logo{
      font-size:4rem;
      line-height:4.5rem;
  }
  #logo-img{
      height:3.5rem;
      margin-bottom:-0.3rem;
  }
  #slogan{
      font-size:1.7rem;
  }
} 

@media (min-width:1201px){
  #logo{
      font-size:5rem;
      line-height:6rem;
  }
  #logo-img{
      height:4.5rem;
      margin-bottom:-0.5rem;
  }
  #slogan{
      font-size:2.1rem;
      
  }
} 

/* HR ПОД HEADER */

@media(max-width:600px){
.hr hr{
display:none;
}
}

@media(min-width:601px){
.hr hr{
  max-width:80%;
  border:solid 1px #999;}
}

/* ИНФО о ВЫБОРЕ РЕГИОНА*/

.info-about-choice-reg-under-h1{
  text-align:center;
  font-size:90%;
  margin-top:-1rem;
}

/* CONTENT: LEFT & RIGHT  */

.content{
margin: 10px 20px;
display: flex;
flex-wrap: wrap;
}

.content__left{
padding: 0px;
box-sizing: border-box;
margin: 0;
flex-basis: calc(100% - 330px); /*отнимаем правую колонку 300px и margin 30px*/
flex-grow: 1; /*растянуть на всю ширину контейнера на узком экране*/
}


/* PROBLEM - for normal width of carousel*/
.content__left{max-width:100%;}
@media (min-width:1201px){.content__left{max-width:calc(100% - 330px);}}


.content__right{
padding: 10px;
box-sizing:border-box;
margin:10px 0 10px 20px; /*чтобы правый элемент был чётко фиксированным по размеру*/
flex-basis:300px; /*фиксированный размер сайдбара*/
flex-shrink:0; /*коэффициент сжатия*/
/*order:-1; --- так можно поставить правый блок слева */
}

.content__right img{
max-width:100%;
}

@media (max-width:1200px){
.content{
  margin:0;
  flex-direction: column; /*меняем направление главной оси*/
}

.content__right{
  margin-left:0; /*убираем отступ слева*/
  flex-basis:auto; /*фиксированный размер на маленьком экране - заполнит контейнер полностью*/
}
}

.welcome {
    display: flex; 
    justify-content: center; 
    align-items: center;
}
.welcome img {
    max-width: 100%; 
}

/* ARTICLE */

article{
  max-width:1200px;
  margin:10px auto;
}

/*button*/

button {border-radius:5px;border: 1px solid #bcbcbc;padding:0.5rem;}
#outer{width:100%;text-align:center;}
.inner{display:inline-block;margin:0 0.1rem 0.5rem 0.1rem;}
.inner button:disabled {font-weight:bold;color:#9CA3B2;}

.period{
  text-align:center;
  line-height:20px;
}
.dates{
  font-size:2rem;
  line-height:2.3rem;
  font-weight:bold;
  color:#dd0000;
  text-align:center;
}
/*дата, когда опубликован каталог*/
.date_cat{
  text-align:center;
  font-size:90%;
  color:#444;
}
.phone-hotline{
  text-align:center;
  font-weight:bold;
  font-size:120%;
}
.hotline-number{
  text-align:center;
  font-weight:bold;
  font-size:120%;
  line-height:120%;color:#dd0000;
}
.hotline-info {
    color: black;
    text-align: center;
    font-size: 80%;
    font-weight: normal;
}
.feedback-companies{
  text-align:center;
  font-weight:bold;
}

@keyframes blinker{
  0% {opacity: 1.0;}
  50% {opacity: 0.4;}
  100% {opacity: 1.0;}
}

/* tag "details" = "Подробнее"*/

.shop-decription summary{
  color:#dd0000;
  text-align:right;
} 
.shop-decription summary:after{
  content:'Подробнее +';
  
}

.shop-decription[open] summary:after{
  content:'Свернуть -';
}
.today-date{
  text-align:center;
} 
.today-date:before{
  content:'(';
  /*content:'(сегодня ';*/
}
.today-date:after{
  content:')';
}

.img-catalog{
  margin:5px auto;
  text-align:center;
}
.content img/*, article img*/ {
  max-width:100%;
}

/* BRANDS LOGOS */

.h2-logo{
  font-size:150%;line-height:150%; color:#dd0000;font-weight:normal;
}
.container{
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
@media (max-width: 500px){
  .container {
      grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
}
.container div{
  padding:0.5rem;
  margin:0.2rem;
  background-color:white;
  text-align:center;
}
.container div img{
  max-width:100%; 
  height:auto;
}


/*FOOTER */

.site-name-footer a, .info-footer a{
  color:#333;
  text-decoration:none;
}
.site-name-footer{
  text-align:center;
  padding-top:20px;
  padding-bottom:20px;
  font-size:160%;
}
.info-footer{
  text-align:center;
  font-size:90%;
  margin:10px auto;
} 
.info-footer img{
  width:100px;
  height:100px;
}
.url-footer {
  color:red;
  font-size:115%;
  margin:0.6rem;
}

.url-footer a{
  color:#dd291a;
}

@media (max-width:701px){
  .url-footer {
      margin:30px auto;
  }
}

footer hr{
  margin:20px 0;
padding: 0;
height: 0;
border: none;
border-top: 2px dotted #333;
}

footer {
  padding-bottom:20px;
}


/* NEW ANONS */

.new-anons{
  border: dotted 0px #333;
  font-family: 'Trebuchet MS';
  background:#9457EB/*#FFF2B8*/;
  margin: 0 auto; 
  max-width:90%;
  max-width:600px;
  border-radius:20px;
  font-size: 120%; 
  line-height:140%; 
  text-align: center;
  color: #FDF5E6;
  padding-top:0.3rem;
  padding-bottom:0.7rem;
  margin-top:1rem;
}

.new-anons:before{
   content:'👉 ';}
  
.new-anons img{
  margin-bottom:-13px;
  margin-left:10px;
  margin-top: 0;
  animation:1s blinker linear infinite;
}

.new-anons a{
  text-decoration: underline;
  color:#EAD39A;
}

@media (max-width:500px){
  .new-anons {
      max-width:95%;
      padding: 30px;
  }
  .new-anons img{
  margin-bottom:-10px;
}
.new-anons img{width:2.3rem;}
}


/* NOT CATALOG */

.not-catalog{
  font-size:100%;
  text-align:center;
  background:/*#FFFCD8*/#EBEBEB;
  border: solid 1px #dd0000;
  border-radius:20px;
  padding:1rem;
  margin:2rem 1rem;
  box-shadow: -2px 4px 50px rgba(230, 59, 40, 0.7);
}
.before-start{
  font-size:100%;
  text-align:center;
  background:#e0ffff;
  border: solid 1px #2A0068;
  border-radius:20px;
  padding:1rem;
  margin:2rem 1rem;
  box-shadow: -2px 4px 50px rgba(42, 0, 104, 0.7);
}
.differences-info {
  font-size:120%;
  text-align: center;
  background:#FFFCD8;
  border: solid 1px #dd0000;
  border-radius:20px;
  padding:1rem;
  margin:2rem 1rem;
  box-shadow: -2px 4px 50px rgba(230, 59, 40, 0.7);
}


/* выпадающее меню */

.dropbtn {
background-color: #ffeb1e;
color: #222;
min-width:300px;
padding: 7px;
font-size: 16px;
border: none;
border-radius:10px;
cursor: pointer;
}

.dropbtn-reg {
  background-color: #f0f0f0;
  margin-bottom:1rem;
}

.dropbtn:hover, .dropbtn:focus {
  opacity:0.9;
}

.dropdown {
  text-align:left; 
position: relative;
display: inline-block;
}
/* весь список регионов */
.dropdown-content { 
display: none;
position: absolute;
background-color: #f1f1f1;
overflow: auto;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
max-height:450px;/* my */
min-width:300px;/* my */
border-radius:10px; /* my */
}

.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
  border-bottom:solid 1px #bbb; /* my */
}

.dropdown a:hover {background-color: #fff;}

.show {display: block;}

/* выбранный пункт меню, неактивный */
.inactive_item {
  background-color:#E1E1E1;
  /*pointer-events: none;
  cursor:no-drop;*/
}
.inactive_item {
  color:red;
}

/* Мигающий выбор региона*/

#blink-reg {
-webkit-animation: blink1 1s linear infinite;
animation: blink1 1s linear infinite;
}
@-webkit-keyframes blink1 {
0% { color: rgba(34, 34, 34, 1); }
50% { color: rgba(34, 34, 34, 0.2); }
100% { color: rgba(34, 34, 34, 1); }
}
@keyframes blink1 {
0% { color: rgba(34, 34, 34, 1); }
50% { color: rgba(34, 34, 34, 0.2); }
100% { color: rgba(34, 34, 34, 1); }
}

/*carousel*/

.section_carousel {
  display: flex;
  gap: 3px; 
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-padding: 0.2rem;
  margin-bottom:1rem;
  -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}

.section__item_carousel {
  display: flex;
  align-items: flex-start;
  flex: 0 0 140px;
  scroll-snap-align: start;
  margin:0.3rem;
  }
  
/*.section__item_carousel img {height: 200px;}*/


.section__item_carousel a{
  text-decoration:none;color:#333;
  }
.img-carousel{
  text-align:center;
  }
.name-carousel{
  border-bottom:solid 1px #dd0000;
  font-weight:bold;
  color:#dd0000;
}

/*Полоса прокрутки - только Tablet */
@media (min-width: 800px) {
  ::-webkit-scrollbar{
width: 0.5rem;}
.section::-webkit-scrollbar{
height: 1rem;}

::-webkit-scrollbar-thumb {
-webkit-border-radius: 5px;
border-radius: 5px;
background-color:#3a3666;}
::-webkit-scrollbar-track {
background-color:#bbcaf2;
}

}

/*Полоса прокрутки под каруселью*/
.section_carousel::-webkit-scrollbar-track {
background-color: #bbcaf2;
  box-shadow: inset 0 0 2px grey;
border-radius: 10px;}
.section_carousel::-webkit-scrollbar-thumb { 
background-color: #3a3666;
border-radius: 10px;}


/* VK fixed */

@media (max-width: 1100px){
  .vk_fixed {
  position:fixed;bottom:.5rem;left:.5rem;
  }
}

@media (min-width: 1101px){
.vk_fixed {
  position:fixed;top:.5rem;left:.5rem;
  }
}

/* Подробнее */
details[open] summary ~ * {
animation: sweep .5s ease-in-out;
}
@keyframes sweep {
0%    {opacity: 0; transform: translateX(-10px)}
100%  {opacity: 1; transform: translateX(0)}
}




/* JSON catalogs BEGIN -->*/

.allCategories {max-width: 98%; max-width: 900px;margin: 20px auto;}
.titleCat {display:flex; gap:1rem;margin: 0.5rem 0;
  font-size: 2rem; padding: 0.5rem; 
background-color:#C6ACEB; border-radius:5px;cursor:pointer;}
  /* цена недели + товары из листовок */

.leafletsProdsInCategory, .weeksProdsInCategory {
 text-align:center;
}
.leafletsProdsInCategory img, .weeksProdsInCategory img{
  max-width: 90%;
}

.prodsInCat {
display: grid; 
grid-template-columns: 1fr 1fr 1fr;  
gap: 1rem;
padding: 0.5rem 0;
}


.product {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding: 0.5rem;
  background-color:#fff;
  border-radius:10px;
}

.hidden {display:none;}



div[class*="anotherVariants"] {border: 3px green solid }
div[class*="anotherVariants"]>.titleProd {background-color:#F4EB91;padding:0.1rem;margin-bottom:0.2rem;}

.titleProd {font-size:1.0rem;text-align:center;word-wrap: break-word;}
.imageProd {text-align:center;}
.imageProd img {max-width:80%;max-height:150px;}


.priceProd {display:flex;
  flex-direction:row;
  flex-wrap: nowrap;
  justify-content:center;
  align-items:center;
  column-gap:0.7rem;}

.priceNew {font-size: 2rem; font-weight:bold; color: red;}
.priceMultipack {font-size: 1.6rem; font-weight:bold; color: red;}
.kopNew, .kopMultipack {font-size: 1rem; vertical-align: top;}

.priceOld {font-size: 1rem; color: grey;order:1;}
.kopOld {font-size: 0.5rem; vertical-align: top;}

.priceSpecial {font-size: 1.2rem; color: green;order:1;font-weight:bold;}
.kopSpecial {font-size: 0.6rem; vertical-align: top;}


.priceNewBefore:before {font-size: 0.6rem;font-weight:normal;} /* for ../leg */
.priceNewBefore:before {content: 'от ';}
.priceNew:after, .priceOld:after, .priceSpecial:after, .priceMultipack:after {content: '₽';}
.priceOld:before {content: 'от ';font-size:70%;}
.priceSpecial:before {content: 'Цена по карте: ';font-size:70%;font-weight:300;}
.countMultipack {font-size:110%;color:green;font-weight:bold;}
.countMultipack:after {content: ':';}

.discountProd {color:green; font-size: 1.1rem;background-color: #f7f7f7; border-radius:10px;padding:3px;border:1px solid #d8d8d8;}
 .discountMultipack {color:green; font-size: 0.8rem;background-color: #f7f7f7; border-radius:8px;padding:2px;border:1px solid #d8d8d8;}
.discountProd:before, .discountMultipack:before {content: '-';}

div[class*="moreVariant"] {margin: 0.2rem auto;color:green;
  padding:0 0.5rem;border: 1px solid green; border-radius:5px;
background-color:#F4EB91; cursor:pointer;}
div[class*="moreVariant"]:before{content: '+ ';}
div[class*="moreVariant"]:after{content: ' ▶';}

/* первый вариант при раскрытии остальных */
div[class*="expandedVariants"]:before{content: '– ';}
div[class*="expandedVariants"]:after{content: ' ◀';}


/* плавное появление карточек anotherVariants*/
@keyframes ani {
0% {opacity: 0.1;}
100% {opacity: 1;}
}
.fadeIn {
opacity: 0;
animation: ani 2s forwards;
}

.ads {max-width: 98%;}
div[id*="yandex_rtb"]{ margin: 2rem auto;}


@media (max-width:800px) {
  .prodsInCat {
       gap: 0.3rem;
  grid-template-columns: repeat(2, 49%);
}
.titleCat {font-size: 1.5rem;}
.titleProd {font-size:0.9rem;}
.priceNew, .rubNew, .priceMultipack {font-size:1.2rem;}
.kopNew, .kopMultipack {font-size:0.6rem;}

.priceOld, .rubOld {font-size:0.6rem;}
.kopOld {font-size:0.2rem;}

.priceSpecial {font-size: 0.9rem;}
.kopSpecial {font-size: 0.6rem;}

.discountProd {font-size:0.6rem; padding:1px;border-radius:3px;}
.discountMultipack {font-size:0.5rem; padding:1px;border-radius:3px;}
.discountProd:before, .discountMultipack:before {content: '';}
div[class*="moreVariant"] {font-size: 0.8rem; font-weight:normal;}
}
/* JSON catalogs END; */