.elementor-kit-18{--e-global-color-primary:#7C3AED;--e-global-color-secondary:#2563EB;--e-global-color-text:#1C1730;--e-global-color-accent:#059669;--e-global-color-4be114d:#D97706;--e-global-color-54a5029:#E11D48;--e-global-color-8f12cb0:#F3F0FF;--e-global-color-0df576a:#FAFAFF;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-18 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.yb-nav-header {
  z-index: 200 !important;
  height: 70px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border-bottom: 1px solid rgba(109, 40, 217, 0.08) !important;
  transition: background 0.25s ease, box-shadow 0.25s ease !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 2rem !important;
}

.yb-nav-header .elementor-container {
  height: 68px !important;
  align-items: center !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

.yb-nav-header .elementor-column-wrap,
.yb-nav-header .elementor-widget-wrap {
  align-items: center !important;
}

/* Scrolled state — added by site.js */
.yb-nav-header.is-scrolled {
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: 0 2px 8px rgba(13, 10, 26, 0.08) !important;
}

/* Push page body below the fixed header */
.elementor-location-header + .elementor-location-archive,
.elementor-location-header + .elementor-location-single,
.elementor-location-header ~ .elementor-template-canvas,
body.elementor-page .elementor-section-wrap > .elementor-section:first-child {
  padding-top: 68px !important;
}


/* ── 2. NAV MENU LINKS ───────────────────────────────────── */

.yb-nav-menu .elementor-nav-menu {
  display: flex !important;
  align-items: center !important;
  gap: 0.25rem !important;
}

.yb-nav-menu .elementor-nav-menu > li > a {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: #6B6584 !important;
  text-decoration: none !important;
  padding: 0.4rem 0.75rem !important;
  border-radius: 10px !important;
  transition: color 0.15s ease, background 0.15s ease !important;
  position: relative !important;
}

.yb-nav-menu .elementor-nav-menu > li > a:hover {
  color: #7C3AED !important;
  background: #F5F3FF !important;
}

/* Active page — underline indicator */
.yb-nav-menu .elementor-nav-menu > li.current-menu-item > a,
.yb-nav-menu .elementor-nav-menu > li.current-menu-ancestor > a {
  color: #7C3AED !important;
  font-weight: 600 !important;
}

.yb-nav-menu .elementor-nav-menu > li.current-menu-item > a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0.75rem !important;
  right: 0.75rem !important;
  height: 2px !important;
  background: linear-gradient(90deg, #6D28D9, #2563EB) !important;
  border-radius: 999px !important;
}

/* Kill Elementor's default nav underline/border styling */
.yb-nav-menu .elementor-nav-menu--main .elementor-item:after {
  display: none !important;
}
.yb-nav-menu .elementor-nav-menu--indicator {
  display: none !important;
}


/* ── 3. SIGN IN BUTTON ───────────────────────────────────── */

.yb-btn-signin .elementor-button,
.yb-btn-signin a {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #6B6584 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.4rem 0 !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.yb-btn-signin .elementor-button:hover,
.yb-btn-signin a:hover {
  color: #7C3AED !important;
  background: none !important;
}


/* ── 4. JOIN FREE BUTTON — purple→blue gradient ──────────── */

.yb-btn-join .elementor-button,
.yb-btn-join a.elementor-button {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #6D28D9 0%, #2563EB 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 0.65rem 1.4rem !important;
  box-shadow: 0 4px 14px rgba(109, 40, 217, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  text-decoration: none !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.yb-btn-join .elementor-button:hover,
.yb-btn-join a.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(109, 40, 217, 0.45) !important;
  color: #ffffff !important;
}

/* Kill Elementor's default button hover background swap */
.yb-btn-join .elementor-button:hover span {
  color: #ffffff !important;
}

.yb-stats-section > .elementor-container {
  background: linear-gradient(135deg, #6D28D9 0%, #2563EB 100%);
  padding: 64px 0;
}


/* ── Hide sign-in button for logged-in users ─────────────── */
/* Applied by JS — not visible on page load flash */
.yb-btn-signin.yb-hide-authed,
.yb-nav-signin.yb-hide-authed,
[data-yb-auth="hide-authed"].yb-hide-authed {
  display: none !important;
}
 
/* ── Hide join button for logged-in users ────────────────── */
.yb-btn-join.yb-hide-authed,
[data-yb-auth="hide-authed-join"].yb-hide-authed {
  display: none !important;
}
 
/* ── User avatar button (shown when logged in) ───────────── */
.yb-user-nav {
  display: none; /* hidden by default, shown by JS when logged in */
  align-items: center;
  gap: 0.6rem;
  position: relative;
}
.yb-user-nav.is-visible { display: flex !important; }
 
.yb-user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6D28D9 0%, #2563EB 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  color: #fff;
  cursor: pointer;
  border: 2px solid #E5E1F0;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
  flex-shrink: 0;
}
.yb-user-avatar:hover {
  border-color: #7C3AED;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}
 
.yb-dashboard-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #6D28D9 0%, #2563EB 100%);
  border: none;
  border-radius: 999px;
  padding: 0.6rem 1.25rem;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 4px 14px rgba(109,40,217,0.3);
}
.yb-dashboard-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(109,40,217,0.42);
  color: #fff;
}
 
/* ── User dropdown menu ──────────────────────────────────── */
.yb-user-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: #fff;
  border: 1.5px solid #E5E1F0;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(13,10,26,0.14);
  min-width: 200px;
  padding: 0.5rem;
  z-index: 300;
  opacity: 0;
  transform: translateY(-8px) scale(0.97);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.yb-user-dropdown.is-open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}
 
/* Dropdown arrow */
.yb-user-dropdown::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 16px;
  width: 12px;
  height: 12px;
  background: #fff;
  border-left: 1.5px solid #E5E1F0;
  border-top: 1.5px solid #E5E1F0;
  transform: rotate(45deg);
}
 
.yb-dropdown-header {
  padding: 0.65rem 0.85rem 0.5rem;
  border-bottom: 1px solid #F3F0FF;
  margin-bottom: 0.35rem;
}
.yb-dropdown-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: #0D0A1A;
  display: block;
}
.yb-dropdown-balance {
  font-size: 0.72rem;
  color: #059669;
  font-weight: 700;
  margin-top: 2px;
  display: block;
}
 
.yb-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.85rem;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #2E2847;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  width: 100%;
  background: none;
  border: none;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
}
.yb-dropdown-item:hover {
  background: #F5F3FF;
  color: #7C3AED;
}
.yb-dropdown-item--danger:hover {
  background: #FFE4E6;
  color: #E11D48;
}
.yb-dropdown-icon { font-size: 1rem; width: 18px; text-align: center; }
 
.yb-dropdown-divider {
  height: 1px;
  background: #F3F0FF;
  margin: 0.35rem 0;
}
 
/* ── Prevent flash of unauthenticated state ──────────────── */
/* Hides auth-sensitive elements until JS runs */
[data-yb-auth] {
  visibility: visible;
}
.yb-auth-loading [data-yb-auth] {
  visibility: hidden;
}
 
/* ── Balance badge in nav (logged in only) ───────────────── */
.yb-nav-balance {
  display: none;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #059669;
  background: #D1FAE5;
  border-radius: 999px;
  padding: 0.3rem 0.75rem;
}
.yb-nav-balance.is-visible { display: flex !important; }
.yb-nav-balance__dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #059669;
  box-shadow: 0 0 6px #059669;
  animation: yb-nav-pulse 2s ease infinite;
}
@keyframes yb-nav-pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.4; transform:scale(.75); }
}

.yb-ot-sidebar-col { position: sticky; top: 140px; }

.yb-ot-filter-section { position: sticky; top: 68px; z-index: 100; }

/* Filter bar sticks below the main nav (68px) */
.yb-ot-filter-section {
  position: sticky !important;
  top: 68px !important;
  z-index: 100 !important;
}

/* Sidebar sticks in place as user scrolls the offers list */
.yb-ot-sidebar-col > .elementor-widget-wrap {
  position: sticky !important;
  top: 140px !important;       /* nav (68) + filter bar (58) + 14px gap */
  align-self: flex-start;
}

/* Sticky bottom bar — fixed to the bottom edge */
.yb-ot-sticky-wrap {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 150 !important;
  pointer-events: none;         /* let click-through when bar is hidden */
}
.yb-ot-sticky-wrap .yb-ot-sticky.is-show {
  pointer-events: all;
}

/* Body section background */
.yb-ot-body-section {
  background: #FAFAFF !important;
}

/* Offer expand panel max-height override for long content */
.yb-ot-expand.is-open {
  max-height: 600px !important;
}

.elementor-location-single, .elementor-location-archive {padding-top: 0px!important;}/* End custom CSS */