/* Shared by components/Navbar.tsx and Elementor header 450. */
.bby-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  font-family: var(--font-poppins, 'Poppins'), sans-serif;
  line-height: 1.5;
  transition: box-shadow .3s, border-color .3s;
}
.bby-nav[data-scrolled="true"] {
  border-color: rgba(0,0,0,.06);
  box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 12px rgba(0,0,0,.04);
}
.bby-nav *, .bby-nav *::after { box-sizing: border-box; }
.bby-nav__wrap { max-width:1280px; margin:0 auto; padding:0 16px; height:80px; display:flex; align-items:center; justify-content:space-between; }
.bby-nav__logo { display:flex; flex-shrink:0; align-items:center; }
.bby-nav__logo img { display:block; width:135px; height:auto; transition:transform .2s; }
.bby-nav__logo:hover img { transform:scale(1.02); }
.bby-nav__links { display:none; align-items:center; gap:4px; }
.bby-nav a.bby-link, .bby-nav a.bby-mlink { color:#334155 !important; text-decoration:none !important; font-family:inherit; font-weight:500; transition:color .15s, background .15s; }
.bby-nav a.bby-link { flex-shrink:0; white-space:nowrap; padding:8px; border-radius:8px; font-size:14px; line-height:20px; }
.bby-nav a.bby-link:hover, .bby-nav a.bby-mlink:hover { color:#014ABE !important; background:#EBF5FF; }
.bby-nav__actions { display:flex; align-items:center; gap:4px; }
.bby-nav a.bby-icon { display:none; width:40px; height:40px; align-items:center; justify-content:center; border-radius:999px; color:#014ABE !important; text-decoration:none; }
.bby-nav a.bby-icon.is-always { display:inline-flex; }
.bby-nav a.bby-icon:hover { background:#EBF5FF; }
.bby-nav a.bby-nav__cta { display:none; align-items:center; justify-content:center; margin:0 0 0 8px; padding:10px 22px; border:0; border-radius:999px; font:700 14px/21px var(--font-poppins, 'Poppins'),sans-serif; letter-spacing:.02em; color:#fff !important; background:#FB923C; text-decoration:none !important; box-shadow:0 4px 14px rgba(251,146,60,.4); transition:background .2s,box-shadow .2s,transform .2s; white-space:nowrap; }
.bby-nav a.bby-nav__cta::after { content:""; flex:none; width:1.1em; height:1.1em; margin-left:.55em; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat; }
.bby-nav a.bby-nav__cta:hover { color:#fff !important; background:#F97316; transform:translateY(-2px); box-shadow:0 6px 20px rgba(249,115,22,.45); }
.bby-nav a:focus-visible, .bby-nav button:focus-visible { outline:3px solid #012775; outline-offset:3px; }
.bby-nav .bby-nav__burger { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0; padding:8px; border:0; border-radius:12px; background:transparent; box-shadow:none; color:#334155; cursor:pointer; }
.bby-nav__burger svg { width:24px; height:24px; }
.bby-nav__burger[aria-expanded="false"] .bby-nav__close, .bby-nav__burger[aria-expanded="true"] .bby-nav__bars { display:none; }
.bby-nav__mobile { display:flex; flex-direction:column; gap:4px; border-top:1px solid #E2E8F0; background:rgba(255,255,255,.98); padding:8px 16px 20px; max-height:calc(100dvh - 81px); overflow-y:auto; }
.bby-nav__mobile[hidden] { display:none; }
.bby-nav a.bby-mlink { display:block; padding:12px 16px; border-radius:12px; font-size:16px; line-height:24px; }
.bby-nav__mobile a.bby-nav__cta { display:flex; margin:8px 0 0; padding:14px 32px; font-size:16px; line-height:24px; }
@media(min-width:640px) { .bby-nav__wrap { padding:0 24px; } }
@media(min-width:1024px) {
  .bby-nav__wrap { padding:0 32px; }
  .bby-nav__links { display:flex; }
  .bby-nav a.bby-icon, .bby-nav a.bby-nav__cta { display:inline-flex; }
  .bby-nav .bby-nav__burger, .bby-nav__mobile { display:none; }
}
/* Elementor owns the outer header; that wrapper must be sticky as well. */
.elementor-location-header:has(.bby-nav) { position:sticky; top:0; z-index:50; }
body.admin-bar { --bby-toolbar-offset:32px; }
body.admin-bar .elementor-location-header:has(.bby-nav) { top:var(--bby-toolbar-offset); }
body.admin-bar .bby-nav__mobile { max-height:calc(100dvh - 81px - var(--bby-toolbar-offset)); }
@media(max-width:782px) { body.admin-bar { --bby-toolbar-offset:46px; } }
/* Elementor keeps the WP toolbar fixed on phones. Keep both offsets in sync
   so scrolling cannot tuck the logo and menu button underneath the toolbar. */
@media(max-width:600px) { body.admin-bar #wpadminbar { position:fixed; } }
@media(prefers-reduced-motion:reduce) { .bby-nav, .bby-nav * { transition:none !important; } }

/* The same cart control is visible on desktop and mobile. */
.bby-nav a[data-blueby-cart-link] { position:relative; }
.bby-nav .bby-cart-count { position:absolute; top:-1px; right:-3px; min-width:19px; height:19px; padding:0 4px; border-radius:999px; background:#FB923C; color:#fff; border:2px solid #fff; display:flex; align-items:center; justify-content:center; font:700 10px/1 var(--font-poppins, 'Poppins'),sans-serif; pointer-events:none; }
.bby-nav .bby-cart-count[hidden] { display:none; }
