/* Slim modern header (Elementor header template 31, widgets by element id). */
.elementor-element-1e0c80e { background: rgba(12, 12, 14, .82) !important; -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.elementor-element-1e0c80e > .e-con-inner { padding-top: 12px !important; padding-bottom: 12px !important; }
.elementor-element-5234cd33 img { width: 62px !important; height: auto !important; }
.elementor-element-20fbbea0 > .elementor-widget-container { padding: 5px 6px !important; border: 1px solid rgba(255, 255, 255, .10) !important; background: rgba(255, 255, 255, .04) !important; border-radius: 999px !important; }
#uc_nav_menu_elementor_20fbbea0 .ue-menu > li { flex-shrink: 0 !important; }
#uc_nav_menu_elementor_20fbbea0 .ue-menu > li > a { white-space: nowrap !important; padding: 8px 18px !important; border-radius: 999px; font-size: 14.5px !important; line-height: 1.2 !important; transition: background .2s, color .2s; }
#uc_nav_menu_elementor_20fbbea0 .ue-menu > li > a:hover, #uc_nav_menu_elementor_20fbbea0 .ue-menu > li.current-menu-item > a { background: rgba(255, 255, 255, .09); }
#uc_nav_menu_elementor_20fbbea0 .ue-menu > li > .sub-menu { padding-top: 14px !important; }
.elementor-element-564e2a63 .elementor-button { padding: 11px 22px !important; font-size: 14px !important; background: #DA0037 !important; box-shadow: 0 6px 18px rgba(218, 0, 55, .35); }
.elementor-element-564e2a63 .elementor-button:hover { background: #B8002E !important; }
@media (max-width: 1024px) {
  .elementor-element-1e0c80e > .e-con-inner { padding-top: 8px !important; padding-bottom: 8px !important; }
  .elementor-element-5234cd33 img { width: 50px !important; }
}
.elementor-element-20fbbea0 { width: auto !important; flex: 0 0 auto !important; }
#uc_nav_menu_elementor_20fbbea0 .ue-nav-menu, #uc_nav_menu_elementor_20fbbea0 .ue-menu { width: auto !important; }
#uc_nav_menu_elementor_20fbbea0 .ue-menu { gap: 2px; justify-content: center !important; }
#uc_nav_menu_elementor_20fbbea0 .ue-menu > li { flex: 0 0 auto !important; width: auto !important; }

/* Phone/tablet: no backdrop blur — a blurred ancestor traps the side menu's
   fixed overlay inside the 46px bar and costs GPU time while animating. */
@media (max-width: 1280px) {
  .elementor-element-1e0c80e { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: rgba(12, 12, 14, .97) !important; }
}

/* Side menu (Unlimited Elements, widget 1496e223): slide in from the right with a
   GPU transform instead of animating margin-left over 1s. The widget still toggles
   .menu-left-open / .menu-left-close on the wrapper; when closing it ADDS .menu-left-close
   without removing .menu-left-open, so "open" means .menu-left-open:not(.menu-left-close). */
#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper.menu-left-close,
#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper.menu-left-open {
  position: fixed !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: auto !important; height: 100vh !important; height: 100dvh !important; margin: 0 !important;
  z-index: 999999 !important; transition: visibility 0s linear .32s !important; background: none !important;
}
#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper.menu-left-close { visibility: hidden; pointer-events: none; }
#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper.menu-left-open:not(.menu-left-close) { visibility: visible; pointer-events: auto; transition: visibility 0s !important; }

#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper .ue_side_menu_overlay {
  display: block !important; position: absolute !important; inset: 0 !important;
  background: rgba(0, 0, 0, .55) !important; opacity: 0 !important; transition: opacity .32s ease !important;
}
#uc_ue_side_menu_elementor_1496e223 .menu-left-open:not(.menu-left-close) .ue_side_menu_overlay { opacity: 1 !important; }

#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper .side-menu-holder {
  position: absolute !important; top: 0; right: 0; bottom: 0; width: min(320px, 86vw) !important;
  transform: translate3d(100%, 0, 0); transition: transform .32s cubic-bezier(.22, .61, .36, 1) !important;
  will-change: transform; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  background: #0F0F0F; box-shadow: -12px 0 40px rgba(0, 0, 0, .45);
}
#uc_ue_side_menu_elementor_1496e223 .menu-left-open:not(.menu-left-close) .side-menu-holder { transform: translate3d(0, 0, 0); }
#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper .uc-side-menu-items { min-height: 100%; padding-top: 56px; }

#uc_ue_side_menu_elementor_1496e223 .uc-side-menu-wrapper .uc-close-side-menu {
  position: absolute !important; top: 12px !important; right: 12px !important; left: auto !important; z-index: 2 !important;
  display: flex !important; width: 38px !important; height: 38px !important; border-radius: 50% !important;
  opacity: 0; transition: opacity .2s ease .12s !important;
}
#uc_ue_side_menu_elementor_1496e223 .menu-left-open:not(.menu-left-close) .uc-close-side-menu { opacity: 1; }

/* Photo grid (Unlimited Elements tiles grid) paging arrows: visible on dark sections. */
.ug-button-tile-navigation { background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50% !important; cursor: pointer; transition: background .2s; }
.ug-button-tile-navigation:hover { background: rgba(218, 0, 55, .85) !important; }
.ug-button-tile-navigation.ug-button-disabled { opacity: .35 !important; cursor: default; }
