.swan-site-nav{
	--swan-gold:#E6C88A;
	--swan-dark:#0B1F3B;
	--swan-nav-h:64px;
	position:relative;
	display:flex;align-items:center;justify-content:space-between;
	gap:12px;
	padding:0 clamp(16px,4vw,56px);
	height:var(--swan-nav-h);
	background:var(--swan-dark);
	border-bottom:1px solid rgba(230,200,138,.15);
	font-family:'Montserrat',sans-serif;
	z-index:200;
	box-sizing:border-box;
}
.swan-site-nav *{box-sizing:border-box;}
.swan-site-nav.swan-nav-fixed{position:fixed;top:0;left:0;right:0;width:100%;}
.swan-nav-brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.swan-nav-brand img{height:52px;width:auto;max-width:200px;object-fit:contain;display:block;}
.swan-nav-text-logo{color:var(--swan-gold);font-weight:700;font-size:20px;letter-spacing:1px;}
.swan-nav-links{display:flex;list-style:none;gap:2px;flex-wrap:nowrap;margin:0;padding:0;align-items:center;}
.swan-nav-links li{display:flex;list-style:none;margin:0;padding:0;}
.swan-nav-link{font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--swan-gold);text-decoration:none;padding:7px 12px;border-radius:40px;transition:background .25s,color .25s;white-space:nowrap;}
.swan-nav-link:hover{background:rgba(230,200,138,.12);}
.swan-nav-link.active{background:var(--swan-gold);color:var(--swan-dark);font-weight:700;padding:7px 16px;}
.swan-nav-social{display:flex;align-items:center;gap:14px;margin-left:8px;flex-shrink:0;}
.swan-nav-social__link{color:rgba(230,200,138,.5);transition:color .3s,transform .2s;display:flex;align-items:center;}
.swan-nav-social__link:hover{color:var(--swan-gold);transform:translateY(-2px);}
.swan-nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px;z-index:300;flex-shrink:0;}
.swan-nav-burger span{display:block;height:2px;width:100%;background:var(--swan-gold);border-radius:2px;transition:transform .35s cubic-bezier(.76,0,.24,1),opacity .2s;transform-origin:center;}
.swan-nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.swan-nav-burger.open span:nth-child(2){opacity:0;}
.swan-nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile overlay + drawer */
.swan-mob-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:250;opacity:0;pointer-events:none;transition:opacity .4s;backdrop-filter:blur(3px);}
.swan-mob-overlay.open{opacity:1;pointer-events:all;}
.swan-mob-menu{position:fixed;top:0;right:0;width:min(300px,85vw);height:100vh;background:var(--swan-dark);z-index:260;display:flex;flex-direction:column;padding:90px 36px 48px;gap:6px;transform:translateX(100%);transition:transform .45s cubic-bezier(.76,0,.24,1);border-left:1px solid rgba(232,171,58,.15);margin:0;box-sizing:border-box;overflow-y:auto;}
.swan-mob-menu.open{transform:translateX(0);}
.swan-mob-menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.swan-mob-menu-list li{list-style:none;margin:0;padding:0;}
.swan-mob-menu .swan-nav-link{font-size:20px;font-weight:300;color:rgba(230,200,138,.6);text-decoration:none;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);transition:color .25s,padding-left .3s;display:block;letter-spacing:normal;text-transform:none;border-radius:0;background:none!important;}
.swan-mob-menu .swan-nav-link:hover{color:var(--swan-gold);padding-left:6px;}
.swan-mob-menu .swan-nav-link.active{color:var(--swan-gold);background:none!important;font-weight:700;padding:11px 0 11px 6px;}
.swan-mob-social{display:flex;align-items:center;gap:18px;padding:20px 0 0;margin-top:4px;border-top:1px solid rgba(255,255,255,.06);}
.swan-mob-social a{color:rgba(230,200,138,.5);transition:color .3s;display:flex;align-items:center;}
.swan-mob-social a:hover{color:var(--swan-gold);}

@media(max-width:900px){
	.swan-nav-links,.swan-nav-social{display:none;}
	.swan-nav-burger{display:flex;}
}

/* ── Elementor container overrides ──
   Elementor widget wrappers can impose flex-direction/width/padding
   constraints on their children. Force the nav to take full width
   and reset Elementor's container/widget wrapper box. */
.elementor-widget-swan_nav,
.elementor-widget-swan_nav .elementor-widget-container{
	width:100%;
	max-width:100%;
}
.elementor-widget-swan_nav .elementor-widget-container{
	padding:0;
	margin:0;
}

