/* Shared post-mirror UI fixes. Loaded on every page (React shell + static mirror pages). */

/* ---- 1. Cookie consent banner (was static footer text) ---- */
.sgcc-main-wrapper.sgcc-banner {
  position: fixed !important;
  inset-inline: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  z-index: 2147482000 !important;
  display: block !important;
  background: #0b3f66 !important;
  color: #fff !important;
  box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.25);
  padding: 14px 18px !important;
  font-size: 15px;
  line-height: 1.6;
}
.sgcc-main-wrapper.sgcc-banner .sgcc-container {
  max-width: 1140px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.sgcc-main-wrapper.sgcc-banner .sgcc-notice-content,
.sgcc-main-wrapper.sgcc-banner .sgcc-notice-content * {
  color: #fff !important;
  margin: 0;
}
.sgcc-main-wrapper.sgcc-banner .sgcc-notice-content a {
  color: #e0b45c !important;
  text-decoration: underline;
}
.sgcc-main-wrapper.sgcc-banner .cookie-compliance-button,
.sgcc-main-wrapper.sgcc-banner .close-sgcc {
  background: #e0b45c !important;
  color: #0b3f66 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 10px 22px !important;
  min-height: 44px;
  font-weight: 700;
  cursor: pointer;
}
.sgcc-main-wrapper.sgcc-banner .close.close-sgcc {
  background: transparent !important;
  color: #fff !important;
  font-size: 22px;
  padding: 4px 12px !important;
  min-width: 44px;
}
.sgcc-main-wrapper.sgcc-hidden {
  display: none !important;
}

/* ---- 2. Footer Google reviews badge: make it visible + clickable ---- */
.rplg-badge-hide.sf-badge-shown,
.sf-badge-shown .rpi-badge {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.rpi-badge-body.sf-badge-link {
  cursor: pointer;
}

/* ---- 3. Sidebar icon-box headings: cap runaway sizes ---- */
.sf-compact-iconbox .elementor-icon-box-title,
.sf-compact-iconbox .elementor-icon-box-title span {
  font-size: 26px !important;
  line-height: 1.35 !important;
}
.sf-compact-iconbox .elementor-icon svg {
  max-width: 44px;
  height: auto;
}

/* ---- 4. Document embed fallback ---- */
.my-doc iframe {
  width: 100%;
  min-height: 640px;
  border: 1px solid rgba(11, 63, 102, 0.2);
  border-radius: 8px;
  background: #fff;
}
.sf-doc-fallback {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0b3f66;
  color: #fff !important;
  border-radius: 8px;
  padding: 12px 22px;
  font-weight: 700;
  text-decoration: none !important;
  min-height: 44px;
}

/* ---- 5. Loop carousel arrows/readability on service pages ---- */
.elementor-widget-loop-carousel .elementor-swiper-button {
  color: #fff !important;
  background: #0b3f66;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
}
.elementor-widget-loop-carousel .elementor-swiper-button svg,
.elementor-widget-loop-carousel .elementor-swiper-button i {
  fill: #fff;
  color: #fff !important;
}
.elementor-widget-loop-carousel img {
  image-rendering: auto;
  object-fit: cover;
}

/* ================= Mobile round (items 16-22) ================= */

/* 19 + 16: header — hamburger on the right, logo on the left (mobile/tablet) */
@media (max-width: 1024px) {
  .elementor-5956 .elementor-element.elementor-element-31b491e { order: 2; }
  .elementor-5956 .elementor-element.elementor-element-8922b5b { order: 1; }
  .elementor-5956 .elementor-element.elementor-element-31b491e img { width: 190px !important; }
  .elementor-5956 .elementor-element.elementor-element-8922b5b .elementor-widget-icon a.elementor-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #0b3f66;
    color: #fff !important;
  }
  .elementor-5956 .elementor-element.elementor-element-8922b5b .elementor-widget-icon a.elementor-icon svg { fill: #fff; width: 22px; height: 22px; }
  /* stray "תפריט" caption above the burger */
  .elementor-5956 .elementor-element.elementor-element-8922b5b .elementor-widget-heading { display: none !important; }
}

/* 19: same swap, template-agnostic (marked up by site-fixes.js) */
@media (max-width: 1024px) {
  .sf-hdr-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
  }
  .sf-hdr-row > .sf-hdr-burger { order: 1 !important; }
  .sf-hdr-row > .sf-hdr-logo { order: 2 !important; }
}


/* 16: off-canvas mobile menu (Elementor Pro JS is not available in the mirror) */
.e-off-canvas {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none !important;
}
.e-off-canvas.sf-oc-open { display: block !important; }
.e-off-canvas .e-off-canvas__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.e-off-canvas .e-off-canvas__main {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: min(340px, 88vw);
  max-width: 88vw;
  background: #0b3f66;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.35);
}
.e-off-canvas .e-off-canvas__content { min-height: 100%; }
.e-off-canvas .elementor-nav-menu a { padding: 14px 18px; display: block; }
body.sf-oc-lock { overflow: hidden; }

/* 20: jet listing slider arrows must be tappable on mobile */
@media (max-width: 767px) {
  .jet-listing-grid__slider .jet-listing-grid__slider-icon {
    z-index: 30 !important;
    width: 44px !important;
    height: 44px !important;
    background: #0b3f66 !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important;
  }
  .jet-listing-grid__slider .prev-arrow { right: 2px !important; }
  .jet-listing-grid__slider .next-arrow { left: 2px !important; }
}

/* 15 + 3: dependency-free loop-carousel fallback (scroll-snap) */
.sf-scroll-carousel > .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  gap: var(--sf-gap, 16px);
  transform: none !important;
  scrollbar-width: none;
}
.sf-scroll-carousel > .swiper-wrapper::-webkit-scrollbar { display: none; }
.sf-scroll-carousel > .swiper-wrapper > .swiper-slide {
  flex: 0 0 calc((100% - (var(--sf-per, 4) - 1) * var(--sf-gap, 16px)) / var(--sf-per, 4)) !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  scroll-snap-align: start;
}
@media (max-width: 1024px) {
  .sf-scroll-carousel > .swiper-wrapper > .swiper-slide {
    flex-basis: calc((100% - (var(--sf-per-tablet, 2) - 1) * var(--sf-gap, 16px)) / var(--sf-per-tablet, 2)) !important;
  }
}
@media (max-width: 767px) {
  .sf-scroll-carousel > .swiper-wrapper > .swiper-slide {
    flex-basis: calc((100% - (var(--sf-per-mobile, 1) - 1) * var(--sf-gap, 16px)) / var(--sf-per-mobile, 1)) !important;
  }
}

/* Nav: dead "lawyers" sub-menu entries — hidden entirely on mobile / off-canvas */
@media (max-width: 1024px) {
  .elementor-nav-menu li.menu-item-object-lawyers { display: none !important; }
}
.e-off-canvas .elementor-nav-menu li.menu-item-object-lawyers,
.elementor-menu-toggle ~ .elementor-nav-menu--dropdown li.menu-item-object-lawyers {
  display: none !important;
}
