body {
  font-family: 'inter', sans-serif;
}
body {
  overflow-x: hidden;
}


/* ===========================
   XPro Gallery / Lightbox tweaks
   =========================== */

/* ---- Adjustables ---- */
:root{
  /* Lightbox arrow circles */
  --lg-nav-d: 45px;                  /* diameter */
  --lg-nav-bg: rgba(0,0,0,.7);       /* 70% black */
  --lg-nav-icon-size: 20px;          /* arrow size */

  /* On-page carousel arrow circles */
  --xpro-nav-d: 45px;
  --xpro-nav-bg: rgba(0,0,0,.7);
  --xpro-nav-icon-size: 20px;
}

/* ---------- LIGHTBOX (XPro uses lightGallery) ---------- */
/* Show only Close and the counter in the top bar */
.lg-toolbar .lg-icon{ display:none !important; }
.lg-toolbar .lg-close{ display:block !important; }
.lg-counter{ display:block !important; }

/* Keep the thumbnail strip under the image */
.lg-thumb-outer{ display:block !important; height:auto !important; }

/* Style navigation arrows */
.lg-prev, .lg-next{
  width: var(--lg-nav-d) !important;
  height: var(--lg-nav-d) !important;
  border-radius: 9999px !important;
  background: var(--lg-nav-bg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.lg-prev svg, .lg-next svg,
.lg-prev i,   .lg-next i{
  width: var(--lg-nav-icon-size) !important;
  height: var(--lg-nav-icon-size) !important;
  fill: #fff !important;   /* arrow color = white */
  color: #fff !important;
}

/* ---------- ON-PAGE CAROUSEL (arrows over the image) ---------- */
.xpro-owl-navigation-horizontal-style-1 .owl-prev,
.xpro-owl-navigation-horizontal-style-1 .owl-next{
  width: var(--xpro-nav-d) !important;
  height: var(--xpro-nav-d) !important;
  border-radius: 9999px !important;
  background: var(--xpro-nav-bg) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.xpro-owl-navigation-horizontal-style-1 .owl-prev span,
.xpro-owl-navigation-horizontal-style-1 .owl-next span{
  font-size: var(--xpro-nav-icon-size) !important;
  color: #fff !important;  /* arrow color = white */
  line-height: 1 !important;
}

/* ---------- Mobile adjustments ---------- */
@media (max-width: 480px){
  :root{
    --lg-nav-d: 38px;
    --lg-nav-icon-size: 18px;
    --xpro-nav-d: 38px;
    --xpro-nav-icon-size: 18px;
  }
}


/* Stop browser double-tap zoom & gestures inside the LG lightbox */
.lg-outer, .lg-outer * {
  touch-action: manipulation !important;   /* iOS: disables double-tap zoom */
}

/* Neutralize any zoom state in LightGallery */
.lg-outer .lg-zoomed .lg-img-wrap,
.lg-outer .lg-zoomed .lg-image,
.lg-outer .lg-zoomable .lg-img-wrap,
.lg-outer .lg-zoomable .lg-image {
  transform: none !important;
  transition: none !important;
}

/* Don't show zoom cursors */
.lg-outer .lg-img-wrap, .lg-outer .lg-image {
  cursor: default !important;
}

/* Help iOS: stop browser double-tap zoom in the lightbox */
.lg-outer, .lg-outer * {
  touch-action: manipulation !important;
}


/* ===== NESTED ACCORDION (e-n-accordion) ===== */
.e-n-accordion .e-n-accordion-item-title{
  display:flex !important;
  align-items:center !important;
  padding-inline-end:24px !important;  /* desktop default */
}
.e-n-accordion .e-n-accordion-item-title-header{
  flex:1 1 auto !important;
}
.e-n-accordion .e-n-accordion-item-title-icon{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
}

/* ===== CLASSIC ACCORDION (fallback) ===== */
.elementor-accordion .elementor-accordion-title{
  display:flex !important;
  align-items:center !important;
  padding-inline-end:24px !important;  /* desktop default */
}
.elementor-accordion .elementor-accordion-icon{
  margin-left:auto !important;
}

/* ---- Responsive gutters ---- */
/* Phones */
@media (max-width: 767px){
  .e-n-accordion .e-n-accordion-item-title,
  .elementor-accordion .elementor-accordion-title{
    padding-inline-end:4px !important;
  }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 1024px){
  .e-n-accordion .e-n-accordion-item-title,
  .elementor-accordion .elementor-accordion-title{
    padding-inline-end:16px !important;
  }
}

/* Desktops (explicit, in case Elementor breakpoints differ) */
@media (min-width: 1025px){
  .e-n-accordion .e-n-accordion-item-title,
  .elementor-accordion .elementor-accordion-title{
    padding-inline-end:24px !important;
  }
}