/* ============================================================
   Ресторант KALIMNOS — възпроизвеждане на темата Cuisine (Helix3) върху Helix Ultimate.
   Шрифтове: Montserrat (заглавия, меню), Merriweather (текст) — self-hosted.
   ============================================================ */
body.site { font-family: "Merriweather", serif; font-size: 14px; line-height: 24px; color: #333; background: #fff; }
h1, h2, h3, h4, h5, h6 { font-family: "Montserrat", sans-serif; font-weight: 700; color: #333; }
.sp-page-builder h1, .sp-page-builder h2, .sp-page-builder h3, .sp-page-builder h4 { font-family: "Montserrat", sans-serif; }
a { color: #e7272d; } a:hover { color: #c5161b; }

/* --- хедър: прозрачен, върху hero-а; ляво меню | лого | дясно меню --- */
#sp-header { display: none; }
#sp-top-bar { display: none; }
#sp-top-nav { position: absolute; top: 0; left: 0; right: 0; z-index: 100; background: transparent; padding: 0; }
body.site { position: relative; }
#sp-top-nav .container { max-width: 1140px; }
#sp-top-nav .row { align-items: center; min-height: 120px; }
#sp-top-nav .sp-column { display: flex; align-items: center; min-height: 120px; }
.sp-column.kal-menu-left { justify-content: flex-end; }
.sp-column.kal-logo-col { justify-content: center; }
.sp-column.kal-menu-right-col { justify-content: flex-start; }
#sp-top-nav .sp-module { margin: 0; }
.kal-logo img { height: 45px; width: auto; display: block; }

/* Helix мегаменю (ляво) и mod_menu (дясно) в стила на Cuisine */
.sp-megamenu-parent { margin: 0; }
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span,
.kal-menu-right > li > a, .mod-menu.kal-menu-right a {
  font-family: "Montserrat", sans-serif !important; font-size: 11px !important; font-weight: 400 !important;
  text-transform: uppercase; color: #fff; letter-spacing: 0; padding: 0 15px !important; line-height: 120px; background: transparent;
  position: relative; display: inline-block; text-decoration: none;
}
.sp-megamenu-parent > li > a:before, .kal-menu-right > li > a:before {
  content: ""; position: absolute; left: 15px; right: 15px; bottom: 44px; height: 2px; background: #e7272d;
  transform: scaleX(0); transition: transform .3s; transform-origin: center;
}
.sp-megamenu-parent > li.active > a:before, .sp-megamenu-parent > li:hover > a:before,
.kal-menu-right > li.active > a:before, .kal-menu-right > li:hover > a:before { transform: scaleX(1); }
.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li:hover > a, .kal-menu-right > li > a:hover, .kal-menu-right > li.active > a { color: #fff; }
.sp-megamenu-parent > li > a.kal-home-item, .sp-megamenu-parent > li.kal-home-item { display: none; } /* „Начало" не стои в менюто, както в стария сайт */
.mod-menu.kal-menu-right { display: flex; list-style: none; margin: 0; padding: 0; }
.mod-menu.kal-menu-right > li { display: inline-block; }
#offcanvas-toggler { line-height: 120px; padding: 0 10px; }
#offcanvas-toggler .burger-icon > span { background: #fff; }
.offcanvas-menu .sp-module ul > li > a { font-family: "Montserrat", sans-serif; text-transform: uppercase; font-size: 12px; }

/* --- съдържание --- */
#sp-main-body { padding: 0; }
#sp-main-body > .container, #sp-main-body .container-inner { max-width: 100%; padding: 0; }
.article-details, .item-page { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; }
.article-info, .featured-article-badge, .article-header, .page-header { display: none; }
.sp-page-builder .page-content .sppb-section { position: relative; }
.sp-page-builder .page-content .sppb-row-container { max-width: 1140px; margin: 0 auto; padding: 0 15px; }
.sp-page-builder .page-content .sppb-container-inner { width: 100%; }
.sp-page-builder .page-content img { max-width: 100%; height: auto; }
/* страницата „За ресторант Калимнос" (обикновена статия) */
.kal-about { color: #4d4d4d; }
.kal-about .sppb-row-container { max-width: 900px; }

/* --- hero слайдер (Bootstrap 3 carousel markup от добавката, статично) --- */
#sppb-slider-fullwidth { position: relative; height: 100vh; min-height: 560px; }
#sppb-slider-fullwidth .carousel-inner, #sppb-slider-fullwidth .item { position: absolute; inset: 0; }
#sppb-slider-fullwidth .item { background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
#sppb-slider-fullwidth .item:before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .35); }
#sppb-slider-fullwidth .sppb-text-center { position: relative; z-index: 2; color: #fff; padding: 0 20px; max-width: 900px; }
#sppb-slider-fullwidth .sp-slide-title, .sp-leading { font-family: "Montserrat", sans-serif; font-size: 48px; line-height: 1; color: rgba(255,255,255,.45); margin: 0; }
#sppb-slider-fullwidth .sp-slide-subtitle { font-family: "Montserrat", sans-serif; font-size: 54px; font-weight: 700; color: #fff; margin: 0 0 25px; line-height: 1.1; }
#sppb-slider-fullwidth .sp-slide-description { font-size: 16px; line-height: 1.6; }
#sppb-slider-fullwidth .sppb-slider-control { display: none; } /* един слайд */
/* заглавни ленти на страниците (Меню, Напитки, Резервация): row с title/subtitle */
.sp-page-builder .page-content .sppb-section-title { text-align: center; color: #fff; }
.sp-page-builder .page-content .sppb-section-title .sppb-title-heading { font-size: 48px; text-transform: uppercase; }

/* --- добавки: fancy menu (категории ястия) --- */
.sppb-addon-fancy-menu .sppb-addon-content { padding: 60px; color: #fff; min-height: 100%; }
.sppb-addon-fancy-menu .sppb-fancy-menu-icon { font-size: 60px; display: block; margin-bottom: 15px; }
.sppb-addon-fancy-menu .sppb-fancy-menu-title { color: #fff; text-transform: uppercase; font-size: 36px; margin: 0 0 30px; }
.sppb-addon-fancy-menu ol { list-style: none; padding: 0; margin: 0; }
.sppb-addon-fancy-menu ol li { position: relative; margin-bottom: 22px; }
.sppb-addon-fancy-menu ol li h4 { color: #fff; font-size: 16px; text-transform: uppercase; margin: 0 0 4px; display: inline-block; }
.sppb-addon-fancy-menu .sppb-menu-price { float: right; font-family: "Montserrat", sans-serif; font-weight: 700; }
.sppb-addon-fancy-menu .sppb-menu-text { color: rgba(255,255,255,.9); font-size: 14px; }
.sppb-addon-fancy-menu .sppb-menu-text span { font-size: 14px !important; }
.sppb-addon-fancy-menu .sbbp-img-container { padding: 0; overflow: hidden; }
.sppb-addon-fancy-menu .sbbp-img-container > div { height: 100%; }
.sppb-addon-fancy-menu .sbbp-img-container img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 768px) { .sppb-addon-fancy-menu .sppb-row { display: flex; } .sppb-addon-fancy-menu .sppb-row > div { float: none; } }

/* --- footer: трите колони с икони, тъмен фон --- */
#sp-bottom { background: #f5f5f5; padding: 60px 0; text-align: center; color: #333; }
#sp-bottom .sp-module-title { font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin: 0 0 15px; }
#sp-bottom .sp-module-title i { display: block; font-size: 42px; margin-bottom: 14px; color: #333; }
#sp-bottom p { margin: 0 0 6px; }
#sp-footer { background: #1f1f1f; color: #aaa; padding: 20px 0; text-align: center; font-size: 12px; }
#sp-footer a { color: #fff; }

/* --- резервации --- */
.sppb-reservation-form .sppb-form-group { margin-bottom: 15px; }
.sppb-reservation-form label { display: block; font-family: "Montserrat", sans-serif; font-size: 12px; text-transform: uppercase; margin-bottom: 5px; }
.sppb-reservation-form .sppb-form-control { width: 100%; padding: 10px 14px; border: 1px solid #ddd; border-radius: 2px; font-family: inherit; }
.sppb-reservation-form .btn-reservation { margin-top: 10px; }
.sppb-reservation-status { margin: 10px 0; padding: 10px; border-radius: 3px; }
.sppb-reservation-status.ok { background: #e6f6e6; color: #1f6b1f; }
.sppb-reservation-status.err { background: #fbe9e9; color: #a11; }

@media (max-width: 991.98px) {
  #sp-top-nav .row, #sp-top-nav .sp-column { min-height: 80px; }
  #sp-top-nav .row { flex-wrap: nowrap; }
  #sp-logo { order: 1; flex: 1 1 auto; max-width: none; } #sp-menu { order: 2; flex: 0 0 auto; width: auto; } #sp-menu-right { display: none; }
  .sp-column.kal-logo-col { justify-content: flex-start; }
  #sp-top-nav .sp-column { min-height: 80px; }
  #offcanvas-toggler { line-height: 80px; }
  #sppb-slider-fullwidth .sp-slide-title, .sp-leading { font-size: 30px; }
  #sppb-slider-fullwidth .sp-slide-subtitle { font-size: 34px; }
  .sppb-addon-fancy-menu .sppb-addon-content { padding: 30px 20px; }
  .kal-about { padding: 110px 0 40px; }
}

/* --- заглавна лента на вътрешните страници (Cuisine page title) --- */
.sp-page-title { background: #333 url(../../../../images/template-cuisine/title-bg.jpg) 50% 0 / cover no-repeat; margin: 0; padding: 180px 0 100px; text-align: center; }
.sp-page-title .sp-leading { font-family: "Montserrat", sans-serif; font-size: 52px; line-height: 1; color: rgba(255,255,255,.45); margin: 0; font-weight: 400; }
.sp-page-title h2.sp-page-heading { font-size: 60px; margin: 0; color: #fff; text-transform: uppercase; }
.kal-about { padding: 50px 0; }
@media (max-width: 767.98px) { .sp-page-title { padding: 120px 0 60px; } .sp-page-title .sp-leading { font-size: 28px; } .sp-page-title h2.sp-page-heading { font-size: 32px; } }
#sp-bottom, #sp-bottom .sp-module, #sp-bottom p { color: #333 !important; }
#sp-bottom .sp-module-title, #sp-bottom .sp-module-title i { color: #333 !important; }
#sp-bottom a { color: #e7272d !important; }
.pagenavigation { display: none; }
#sp-top-nav .sp-module ul > li { border-bottom: 0 !important; }
#sp-top-nav .sp-module ul > li > a:after { content: none !important; }
.article-can-edit:empty, .article-details > .article-can-edit { display: none !important; margin: 0 !important; }
#sp-menu #offcanvas-toggler { display: none !important; }
.kal-toggler { display: flex; align-items: center; height: 80px; padding: 0 10px; }
.kal-toggler .burger-icon { width: 24px; height: 18px; position: relative; display: block; }
.kal-toggler .burger-icon > span { display: block; width: 24px; height: 2px; background: #fff; position: absolute; left: 0; }
.kal-toggler .burger-icon > span:nth-child(1) { top: 0; } .kal-toggler .burger-icon > span:nth-child(2) { top: 8px; } .kal-toggler .burger-icon > span:nth-child(3) { top: 16px; }
@media (min-width: 992px) { .kal-toggler { display: none !important; } }
