/* Nove hero: one row, real gutters, copy aligned with product shots. */
section.banner-section {
  padding: 110px 0 64px !important;
}
section.banner-section .inner {
  max-width: 1320px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
  gap: 24px !important;
  box-sizing: border-box;
}
section.banner-section .main-heading {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  font-size: 52px !important;
  line-height: 1.15 !important;
}
section.banner-section .inner .slider-section {
  width: 100%;
  gap: 24px !important;
}
section.banner-section .inner .slider-section .sub-sliders {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  gap: 48px !important;
  min-height: 420px;
}
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider {
  width: 42% !important;
  padding-left: 0 !important;
  display: flex !important;
  align-items: center !important;
  z-index: 2;
}
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider .glide__track,
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider .glide__slides {
  position: relative !important;
  width: 100% !important;
  min-height: 0 !important;
  transform: none !important;
  flex-direction: column !important;
}
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider li.glide__slide {
  position: relative !important;
  inset: auto !important;
  display: none !important;
  height: auto !important;
  width: 100% !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider li.glide__slide.glide__slide--active {
  display: block !important;
}
section.banner-section .inner .slider-section .sub-sliders .left-sub-slider .heading {
  margin: 0 0 20px !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider {
  width: 54% !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  padding-left: 0 !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider .glide__track {
  overflow: hidden;
  width: 100%;
  padding-left: 0 !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider .glide__slides {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 20px !important;
  width: max-content !important;
  transform: none !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider li.glide__slide.slide_before {
  display: none !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider li.glide__slide.glide__slide--active {
  width: auto !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider li.glide__slide img {
  max-width: 280px !important;
}
section.banner-section .inner .slider-section .sub-sliders .right-sub-slider li.glide__slide.glide__slide--active img {
  max-width: 340px !important;
}
section.banner-section .inner .shared-bullets {
  margin-top: 8px;
}
@media (max-width: 1024px) {
  section.banner-section .inner { padding: 0 28px !important; }
  section.banner-section .main-heading { font-size: 40px !important; }
  section.banner-section .inner .slider-section .sub-sliders { gap: 28px !important; min-height: 0; }
  section.banner-section .inner .slider-section .sub-sliders .right-sub-slider li.glide__slide.glide__slide--active img {
    max-width: 280px !important;
  }
}
@media (max-width: 767px) {
  section.banner-section { padding: 88px 0 48px !important; }
  section.banner-section .inner { padding: 0 20px !important; }
  section.banner-section .main-heading { font-size: 32px !important; }
  section.banner-section .inner .slider-section .sub-sliders {
    flex-direction: column !important;
    gap: 24px !important;
  }
  section.banner-section .inner .slider-section .sub-sliders .left-sub-slider,
  section.banner-section .inner .slider-section .sub-sliders .right-sub-slider {
    width: 100% !important;
  }
}

/* Hero wrapper had min-height 600px and no fill, so mobile showed a white gap. */
.elementor-element-31c8192 {
  min-height: 0 !important;
  background-color: #05060A !important;
}
/* Hide Nové Blog for now: leftover spam posts from the hack. */
.elementor-element-a6aa4aa {
  display: none !important;
}

/* Mobile: keep the whole page full-width. Testimonial swiper was shrinking the layout. */
@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden;
    max-width: 100%;
  }
  .elementor, .e-con, .e-con-inner, .elementor-widget, .elementor-widget-container {
    max-width: 100%;
  }
  .elementor-widget-testimonial-carousel,
  .elementor-widget-testimonial-carousel .elementor-swiper,
  .elementor-widget-testimonial-carousel .swiper,
  .elementor-widget-testimonial-carousel .elementor-main-swiper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .elementor-widget-testimonial-carousel .swiper-slide {
    max-width: 100% !important;
  }
  .elementor-testimonial,
  .elementor-testimonial__content,
  .elementor-testimonial__text,
  .elementor-testimonial__text > .elementor {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-6497f43 {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .e-con.e-parent {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Quote mark was covering the review date */
.elementor-testimonial {
  position: relative;
}
.elementor-testimonial__footer {
  position: relative;
  z-index: 2;
  clear: both;
}
.elementor-testimonial .elementor-widget-icon,
.elementor-testimonial .elementor-icon-wrapper,
.elementor-testimonial .elementor-icon {
  position: relative;
  z-index: 0;
}

/* Date is the first text widget; Elementor Pro's quote ::before sits on top of it. */
.elementor-testimonial__text {
  position: relative;
}
.elementor-testimonial__text::before,
.elementor-testimonial::before {
  z-index: 0;
}
.elementor-testimonial__text > .elementor > .e-con > .elementor-widget-text-editor:first-child {
  padding-left: 56px;
  position: relative;
  z-index: 1;
}

/* Contest rules + blog pages are drafted. Hide the dead links. */
.elementor-nav-menu li:has(> a[href*="nove-blog"]),
.elementor-nav-menu li:has(> a[href*="contest-rules"]),
.elementor-location-footer a[href*="nove-blog"],
.elementor-location-footer a[href*="contest-rules"],
.header-section a[href*="nove-blog"],
.megamenu a[href*="nove-blog"],
.megamenu-mobile a[href*="nove-blog"] {
  display: none !important;
}

@media (max-width: 767px) {
  .shared-bullets {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 6px;
    max-width: 100%;
    overflow: hidden;
    padding: 0 20px;
    box-sizing: border-box;
  }
}

/* Real reviews slider (Glide.js is not loaded, so this is the carousel). */
.elementor-element-2339658.elementor-hidden-mobile {
  display: none !important;
}
.glide-review {
  max-width: 100%;
  overflow: hidden;
}
.glide-review .glide,
.glide-review .glide__track {
  width: 100%;
  max-width: 100%;
}
.glide-review .glide__track {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}
.glide-review .glide__slides {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  width: max-content !important;
  gap: 16px;
}
.glide-review .glide__slide {
  scroll-snap-align: start;
  box-sizing: border-box;
}
.glide-review .quotation {
  justify-content: flex-start !important;
  align-items: flex-start;
  position: relative;
  padding-left: 48px;
  min-height: 40px;
}
.glide-review .quotation .image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 0;
}
.glide-review .quotation .date {
  position: relative;
  z-index: 1;
  padding-left: 0 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .glide-review {
    padding: 0 16px 40px !important;
  }
  .glide-review .glide {
    max-width: 100% !important;
  }
  .glide-review .glide__slide {
    flex: 0 0 calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .glide-review .glide__slide {
    flex: 0 0 calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
  }
}

@media (min-width: 1025px) {
  .glide-review .glide__slide {
    flex: 0 0 calc(33.333% - 12px) !important;
    width: calc(33.333% - 12px) !important;
    max-width: calc(33.333% - 12px) !important;
  }
}

/* Hide unknown review dates instead of faking them. */
.glide-review .quotation .date { display: none !important; }
.glide-review .quotation { padding-left: 44px; min-height: 36px; }

/* Native scrollbar looked like a Windows dump. Swipe and arrows stay. */
.glide-review .glide__track {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.glide-review .glide__track::-webkit-scrollbar { display: none; height: 0; }
.glide-review .glide__arrows {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  margin: 16px 0 0;
}

/* View More was absolutely positioned on the right. */
.elementor-element-6497f43 {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 12px 0 24px !important;
}

/* Vegas dinner contest banner + landing page are off for now. */
.elementor-element-ba37f09,
.elementor-element-418c480 {
  display: none !important;
}
a[href="/crackerjack"],
a[href="/crackerjack/"],
a[href*="crackerjack"] {
  display: none !important;
}

/* Reviews on mobile: no giant quote on the copy, no leftover arrow chrome. Swipe the card. */
@media (max-width: 767px) {
  .glide-review .quotation .image { display: none !important; }
  .glide-review .quotation { padding: 0 !important; min-height: 0 !important; }
  .glide-review .glide__arrows,
  .glide-review .glide__arrow { display: none !important; }
  .glide-review .para { padding-top: 4px; }
}
.glide-review .glide__arrow {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Blog index is drafted. Hide leftover View More blogs. */
.elementor-element-6497f43,
a[href*="nove-blog"] {
  display: none !important;
}
