
/*   #01923f - зеленый и #379700 - зеленый */

IMG { border: 0px; }

.question-list { font-size: 14px; }
.question-list .username { font-size: 16px !important; color:#519046 !important; }
.question-list .item { font-size: 14px; }
.question-list .pull-right { font-size: 14px; }
.question-list .question { font-size: 14px; }


A.IndexLink { text-decoration: none; color: #000000; }
A.IndexLink:hover { text-decoration: underline; color: #379700; }


/* Объявляем и подключаем шрифт */
@font-face {
    font-family: 'AGCrownStyle'; 
    src: url('/custom/font/AGCrownStyle.woff2') format('woff2'),
         url('/custom/font/AGCrownStyle.woff') format('woff'); 
    font-weight: 400; /* Вес шрифта (normal) */
    font-style: normal; /* Стиль (normal, italic) */
    font-display: swap; /* Ускоряет отображение текста */
}


/* Текст про детские мастер-классы: */
.restaurant-master { font-size: 18px !important; text-align: justify; color: #000000; }
.restaurant-master p { font-size: 18px !important; text-align: justify; color: #000000;}
.restaurant-master a { font-size: 18px !important; text-decoration:none; color: #000000; }
.restaurant-master a:hover { font-size: 18px !important; text-decoration:underline; color: #01923f; }



/* ul.MainPageRest {padding-left:22px !important; font-size:17px !important;} */

.MainPageText {font-size:17px !important; line-height: 21px !important; text-align:justify !important;}


.MainPageTextNewSite { 
    font-weight:normal; 
    margin-left: 22px !important; 
    margin-right: 22px !important; 
    text-align: justify;
    color: #000000;
}

.AllPageTextNewSite { 
    font-family: Manrope,sans-serif !important;
    font-weight:normal; 
    margin-left: 2px !important; 
    margin-right: 2px !important; 
    text-align: justify;
    color: #000000;
}

.ck-content { 
    font-family: Manrope,sans-serif !important;
    font-weight:normal; 
    margin-left: 2px !important; 
    margin-right: 2px !important; 
    text-align: justify;
    color: #000000;

}



.MainPageTextNewSite p { font-size: 18px !important; color: #000000; text-align: justify; } 
.MainPageTextNewSite a { font-size: 18px !important; text-decoration:none; color: #000000; }
.MainPageTextNewSite a:hover { font-size: 18px !important; text-decoration:underline; color: #01923f; }
.MainPageTextNewSite strong { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }
.MainPageTextNewSite b { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }

.AllPageTextNewSite p { font-size: 18px !important; color: #000000; text-align: justify; } 
.AllPageTextNewSite a { font-size: 18px !important; text-decoration:none; color: #000000; }
.AllPageTextNewSite a:hover { font-size: 18px !important; text-decoration:underline; color: #01923f; }
.AllPageTextNewSite strong { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }
.AllPageTextNewSite b { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }

.ck-content p { font-size: 18px !important; color: #000000; text-align: justify; } 
.ck-content li { font-size: 18px !important; color: #000000; text-align: justify; font-weight: normal !important; font-family: Manrope,sans-serif !important; margin-left: 20px; } 
.ck-content a { font-size: 18px !important; text-decoration:none; color: #000000; }
.ck-content a:hover { font-size: 18px !important; text-decoration:underline; color: #01923f; }
.ck-content strong { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }
.ck-content b { font-weight: bold !important; -webkit-text-stroke: 0.3px #000000; }


/* Текст в поп-апе бронирования столиков */
.sendReserveTxt { font-family: Manrope,sans-serif !important; margin-bottom: 15px; color: #660000 !important; font-weight: normal; text-align: center; }



/* Мастер-классовый слайдер */
    .custom-gallery-img {
        width: 100%;
        height: 400px;
        object-fit: cover; 
        object-position: center; 
        border-radius: 20px;
        display: block;
    }

    /* для телефонов и планшетов (экраны до 768px) */
    @media (max-width: 768px) {
        .custom-gallery-img {
            height: auto; 
            aspect-ratio: 4 / 3; 
            /* aspect-ratio:
              4 / 3 - классический прямоугольник
              1 / 1 - идеальный квадрат
              3 / 4 - вертикальный формат (как в сторис)
             */
        }
    }




.MainRestBlock, .MainMenusBlock { 
                float:left; 
                margin: 8px 3px 10px 4px;   /* верх, право, низ, лево */
                padding: 12px 5px 5px 5px;  /* верх, право, низ, лево */
                width:198px; 
                height:184px;
                border: solid 1px #BBBBBB;  
                word-spacing: -0.2ex; 
                font-size:14px; 
                color:#111133; 
                text-align: center;
                /*text-align:justify;*/ 
                -webkit-hyphens: auto; 
                -moz-hyphens: auto; 
                hyphens: auto;
                /*word-break: break-all;*/
                border-radius: 8px;
                }

.MainRestBlock  { white-space:nowrap; }



.OrderRightNowCats { 
    font-family:Georgia, Arial, Verdana, serif; 
    font-size:24px; 
    color:#333333; 
    line-height:1.3em; 
    letter-spacing:3px; 
    text-align: center !important; 
}



 DIV.MainRestBlock img {
    width:170px; 
    height:120px; 
    border:0px; 
    margin: 3px;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 4px;
    transition: border-color 0.3s;
  }
   
  DIV.MainRestBlock img:hover {
     border-color: #379700; 
 }
  
  
DIV.MainRestBlock A        { font-size:14px; color:#111133; text-decoration:none; }
DIV.MainRestBlock A:hover  { font-size:14px; color:#111133; text-decoration:none; }


.MainMenusBlock IMG { width:184px; border:0px; padding:10px 3px 10px 3px; }

DIV.MainMenusBlock A       { font-size:14px; color:#111133; text-decoration:none; }
DIV.MainMenusBlock A:hover { font-size:14px; color:#111133; text-decoration:none; }


.MainMenusBlock { height:364px !important; padding-right: 8px !important; position: relative; z-index:0; }
DIV.MainMenusBlock font { font-size:12px; color:#111133; text-align:justify !important; }

DIV.MainMenusBlock .pdfIcon { width:24px !important; height:24px !important; padding:0px !important; margin-left:8px !important;  margin-right:5px !important;}


.MainPizzaPrice { font-size: 18px; font-weight: normal; font-style: italic; font-family: Georgia, Arial, Verdana, serif; color: #bb0000; line-height: 1.3em;text-align:left !important; }


.restMenusZone { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; text-align: center; margin-bottom: 20px; }


.ProdMiniText {
  width: 99%;
  border: 0px;
  text-align:justify;
  font-size:12px; 
  color:#777777; 
  margin-bottom:0px; 
  overflow: hidden;
  transition: max-height .5s ease-in;
  position: relative;
  /*transition: all 0s 999s; ******9999999s;*/ 
  line-height:13px;
}

.ProdMiniText::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 25px;
  background-image: linear-gradient(transparent, #fff);
  transition: opacity .5s ease;
}

 .ProdMiniText { margin-top:-11px; max-height: 35px; }



.LunchWeekName { text-decoration:none; border-bottom: solid 2px #01923f; cursor:pointer; } 



/* ***** Плитка из категорий в разделе "меню" ***** */


.MiniCatsBlock { 
                /*float:left;*/ 
                float: none;
                display: inline-block;
                margin: 8px 3px 8px 4px;   /* верх, право, низ, лево */
                padding: 5px 5px 5px 5px;  /* верх, право, низ, лево */
                width: auto; 
                height:40px;
                border: solid 1px #BBBBBB;  
                word-spacing: -0.2ex; 
                font-size:14px; 
                color:#111133; 
                text-align: left;
                -webkit-hyphens: auto; 
                -moz-hyphens: auto; 
                hyphens: auto;
                /*word-break: break-all;*/
                border-radius: 8px;
                white-space: nowrap;
                vertical-align:middle;
                }

DIV.MiniCatsBlock A       { font-size:13px; color:#333333; text-decoration:none; padding-right:7px; font-weight: bold; }
DIV.MiniCatsBlock A:hover { font-size:13px; color:#333333; text-decoration:none; padding-right:7px; font-weight: bold; }

DIV.MiniCatsBlock IMG { width:40px; vertical-align:middle; border:0px; margin-right:7px } 





.pcMainPage h2      {padding:0px;margin:0px; padding-top:25px;}
.pcMainPage address {padding:0px;margin:0px; margin-bottom:6px; cursor:pointer; }


.pcMainPageAbout h2 {padding:0px;margin:0px; padding-top:10px; padding-bottom:11px;}
.pcMainPageAbout p  {font-size:17px !important; line-height: 21px !important; text-align:justify !important;}



/* *** Confirm modal window *** */

.modal-window {
    font-family: Arial, sans-serif;
    display: none; /* Скрыть модальное окно по умолчанию */
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);

}

.modal-content {
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-weight: normal;
    background-color: #ffffff;
    margin: 15% auto;
    padding: 25px;
    border: 1px solid #888888;
    width: 470px;  /* 300 */
    text-align: center;
    border-radius: 10px;
}

button.modal-button {
    font-family: Arial, sans-serif;
    font-size: 16px;
    margin: 10px;
    cursor: pointer;
}

#confirm-yes {font-family: Arial, sans-serif;color:#379700;font-size:16px;cursor: pointer; border: solid 1px #379700; border-radius: 5px; background-color: #FFFFFF; padding-left: 6px; padding-right: 6px; }
#confirm-no  {font-family: Arial, sans-serif;color:#990000;font-size:16px;cursor: pointer; border: solid 1px #990000; border-radius: 5px; background-color: #FFFFFF; padding-left: 6px; padding-right: 6px; }




/* *** Сообщение под временем в форме оформления заказа *** */

.OrderFormMsg-green, .OrderFormMsg-red {
    font-size:13px; 
    text-align:justify; 
    width:88%; 
    border-radius:5px; 
    margin: -6px 0px 25px 0px; 
    padding: 5px 8px 5px 8px;
}

.OrderFormMsg-green {
    border: solid 1px #01923f; 
    border-left: solid 3px #01923f; 
}

.OrderFormMsg-green B { color: #01923f; }


.OrderFormMsg-red {
    border: solid 1px #AA0000; 
    border-left: solid 3px #AA0000; 
}


.OrderFormMsg-red B  { white-space: nowrap; }
.OrderFormMsg-red br { margin-bottom: 10px; }





/* Плавающая иконка доставки */

.floating-widget {
    position: fixed; 
    bottom: 20px;
    right: 20px;
    z-index: 99990; /* чтобы не перекрывать поп-апы */
    width: 200px;    /* ширина картинки ПК */
    height: auto;
    outline: none;
    border: none;
    text-decoration: none;
    cursor: pointer;
    
    -webkit-transition: transform 0.3s ease;
    -moz-transition: transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
}

.floating-widget:hover {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.floating-widget img {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}
        
        
        
        

/* ********* Слайдер *********** */

.slider-container {
    width: 94%;
    max-width: 580px;
    overflow: hidden;
    margin: 0 auto;
    border-radius: 8px;
    user-select: none;
    background: #fff;
    padding: 10px 0;
    box-sizing: border-box;
  }
  .slider-track {
    display: flex;
    gap: 15px;
    will-change: transform;
  }
  
  .slider-track A { text-decoration:none; }
   
  .slider-item {
    flex: 0 0 auto;
    width: 170px;
    height:225px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
    text-align: center;
    cursor: grab;
    user-select: none;
    position: relative;
  }
  
  .slider-item:active {
    cursor: grabbing;
  }
  .slider-item img {
    display: block;
    width: 170px;
    height: 170px;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
  }
  
    .slider-item .product-item__count-wrapper { 
       position: absolute; 
       top: 142px; 
       left: 67px; 
       z-index: 10; 
       white-space: nowrap;
   }
   
      .slider-item .product-item__count-wrapper .product-item__count .product-item__price { 
       color:#01923F;
       font-size:18px;
       padding-top:7px;
       padding-right:21px;
       white-space: nowrap;
   }

 
   
  .dish-name {
    padding: 8px 12px 15px;
    font-weight: 600;
    font-size: 1rem;
    color: #333;
  }




/*  ********* MENU VIEWER   *********/

.menuZone {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    padding: 1px; /*1rem;*/
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  h2.menuTitle {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: #01923F;
    margin-bottom: 1rem;
  }
  
  #pdf-controls {
    margin-bottom: 1rem;
  }
 .menuZone button {
    background-color: #01923F;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    margin: 0 0.25rem;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
  }
.menuZone  button:disabled {
    background-color: #cccccc;
    cursor: default;
  }
  #pdf-render {
    box-shadow: 0 0 15px rgba(184, 92, 56, 0.2);
    border-radius: 8px;
    max-width: 108%;
    height: auto;
    margin-left:11px;
  }
  
  
  
  /* --- Галерея (просмотр картинок) --- */
  
  
  .gallery-thumbnails {
     white-space:nowrap;
  }
  

  /* Поп-ап затемненный фон */
  .galleryoverlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .galleryoverlay.active {
    display: flex;
  }

  /* Окно просмотра */
  .gallerypopup {
    position: relative;
    background: white;
    padding: 15px;
    border-radius: 8px;
    max-width: 95vw;
    max-height: 95vh;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
  }
  .gallerypopup img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 4px;
    user-select: none;
  }

  /* Кнопки навигации */
  .gallerynav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-30%);
    background: rgba(0,0,0,0.3);
    border: none;
    color: white;
    font-size: 30px;
    width: 40px;
    height: 60px;
    cursor: pointer;
    border-radius: 4px;
    user-select: none;
  }
  .gallerynav-button:hover {
    background: rgba(0,0,0,0.8);
  }
  .gallerynav-left {
    left: 10px;
  }
  .gallerynav-right {
    right: 10px;
  }

  /* Кнопка закрытия */
  .galleryclose-button {
    position: absolute;
    top: 17px;
    right: 15px;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    border: none;
    font-size: 28px;
    color: #CCCCCC;
    cursor: pointer;
    user-select: none;
  }
  
  .galleryclose-button:hover {
    color: #FFFFFF;
  }
  
  
  
  
  /* -- Баннеры на главной -- */
  
    .banner-container {
    overflow: hidden;
    width: 100%;
    max-width: 600px;  
    margin: auto;
    position: relative;
    height: 310px;
  }
  .banner-wrapper {
    display: flex;
    transition: transform 0.6s ease;
    will-change: transform;
  }
  .bannerItm {
    min-width: 100%; /* для ПК 2 штуки за раз , можно 100%, тогда будет 1шт */
    box-sizing: border-box;
    padding: 10px;
  }
  .bannerItm img {
    width: 100%;
    display: block;
    border-radius: 8px;
  }


/* Навигационные точки */
  .banner-dots {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
  }
  .banner-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #aaaaaa; /*rgba(1, 146, 63, 0.5); #01923f*/
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .banner-dot.active {
    background: #01923f;
    transform: scale(1.2);
  }
  .banner-dot:hover {
    background: rgba(0, 0, 0, 0.8);
  }

  /* мобилка */
  @media (max-width: 768px) {
    .bannerItm {
      min-width: 100%; /* 1 баннер на мобилке */
    }
    .banner-dots {
      bottom: 10px;
    }
    .banner-dot {
      width: 10px;
      height: 10px;
    }
  }

  
  
  
  
/* --- Новогодний Pop-Up --- */  
  
#new-year-popup {
            position: fixed !important;
            top: 50% !important;
            left: 50% !important;
            transform: translate(-50%, -50%) !important;
            background-color: #333333 !important;
            border: 1px solid #333333 !important;
            padding: 20px !important;
            z-index: 1000 !important;
}

/* Стиль для затемнения фона */
#overlayNY {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 999;
}


 