.lck-mobile { position: fixed; z-index: 99999; inset: 0 0 0 auto; max-width: min(90vw, 390px); height: 100%; margin: 0; border: 0; padding: 1.5rem; }
.lck-mobile::backdrop, .lck-lightbox::backdrop { background: rgb(0 0 0 / 75%); }
.lck-mobile ul { list-style: none; margin: .5rem 0; padding-left: 1rem; }
.lck-mobile li a { display: block; padding: .45rem; }
.lck-mobile button, .lck-lightbox button { margin-bottom: 1rem; }
.lck-lightbox { max-width: min(94vw, 1200px); max-height: 92vh; border: 0; padding: .75rem; }
.lck-lightbox img { display: block; max-height: 75vh; width: auto; margin: auto; }
.elementor-widget-media-carousel .swiper-wrapper { display: flex; overflow: auto; scroll-snap-type: x mandatory; }
.elementor-widget-media-carousel .swiper-slide { width: 25%; flex: 0 0 25%; scroll-snap-align: start; }
.elementor-widget-media-carousel .elementor-carousel-image { min-height: 145px; background-size: cover; background-position: center; }
.lck-accordion { padding: .8rem 1rem; border-bottom: 1px solid #ccc; }
.lck-accordion summary { cursor: pointer; font-weight: 600; }
.lck-comparison { display: grid; grid-template: 'photo'; position: relative; overflow: hidden; }
.lck-comparison img { grid-area: photo; width: 100%; height: auto; display: block; }
.lck-comparison img:nth-child(2) { clip-path: inset(0 0 0 var(--split,50%)); }
.lck-comparison input { position: absolute; z-index: 1; width: 90%; bottom: .5rem; left: 5%; }
.lck-comparison .before, .lck-comparison .after { position:absolute; top: .75rem; color:white; background:#242424; padding:.25rem .5rem; }
.lck-comparison .before { left:.75rem; }
.lck-comparison .after { right:.75rem; }
.replacement-form { display: grid; gap: .9rem; }
.replacement-form label { display: block; }
.replacement-form fieldset { border: 1px solid #999; padding: .75rem; }
.replacement-form input[type=checkbox] { display: inline-block; margin-right: .25rem; }
.replacement-form button { justify-self:start; }
@media(max-width:767px){.elementor-widget-media-carousel .swiper-slide{width:50%;flex-basis:50%}}

/* The original theme expects its menu script to reveal the submenus. */
#site-navigation .menu-item-has-children.lck-expanded > .sub-menu,
#site-navigation .menu-item-has-children > .sub-menu:focus-within {
  display: block;
  visibility: visible;
  opacity: 1;
}
@media (hover: hover) {
  #site-navigation .menu-item-has-children:hover > .sub-menu {
    display: block;
    visibility: visible;
    opacity: 1;
  }
}
.lck-mobile .sub-menu {
  display: block;
  position: static;
  visibility: visible;
  opacity: 1;
  box-shadow: none;
  border: 0;
}

/* Show one complete partner logo per slide in the shared footer. */
.affiliate-slider .swiper-wrapper {
  width: 100%;
  height: auto;
  scrollbar-width: none;
}
.affiliate-slider .swiper-wrapper::-webkit-scrollbar { display: none; }
.affiliate-slider .swiper-slide {
  flex: 0 0 100%;
  width: 100%;
  min-width: 0;
}
.affiliate-slider .swiper-slide > a { display: block; }
.affiliate-slider .swiper-slide .elementor-carousel-image {
  width: 100%;
  min-height: 100px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
