/**
 * Site header responsive overrides (wins over layered source CSS).
 */
.site-header-source{
	position:sticky;
	top:0;
	z-index:1000;
}
.site-header-source .nav{
	position:relative;
}
.site-header-source .mobile-toggle{
	display:none;
	width:44px;
	height:44px;
	border:1px solid var(--line,#e6e6e0);
	background:#fff;
	border-radius:999px;
	place-items:center;
	cursor:pointer;
	flex:0 0 auto;
	padding:0;
}
.site-header-source .mobile-toggle svg,
.site-header-source .mobile-toggle i{
	width:20px;
	height:20px;
}
.site-header-source .mobile-toggle[aria-expanded="true"]{
	background:var(--k,#111);
	border-color:var(--k,#111);
	color:#fff;
}

/* Prevent awkward mid-width wrap: collapse a bit earlier */
@media (max-width:1200px){
	.site-header-source .nav{
		grid-template-columns:minmax(0,1fr) auto;
		gap:10px;
		min-height:74px;
		height:auto;
		padding:10px 0;
	}
	.site-header-source .brand small{display:none}
	.site-header-source .menu,
	.site-header-source .nav-primary{
		display:none;
		position:absolute;
		left:0;
		right:0;
		top:calc(100% + 1px);
		margin:0;
		max-width:none;
		background:#fff;
		border:1px solid var(--line,#e6e6e0);
		border-radius:14px;
		padding:10px;
		flex-direction:column;
		align-items:stretch;
		gap:4px;
		max-height:min(70vh,560px);
		overflow:auto;
		z-index:1200;
		box-shadow:0 18px 40px rgba(0,0,0,.12);
	}
	.site-header-source .menu.open,
	.site-header-source .nav-primary.open{
		display:flex !important;
		padding:8px;
		gap:2px;
	}
	.site-header-source .menu > li,
	.site-header-source .nav-primary > li{
		width:100%;
		list-style:none;
		margin:0;
		padding:0;
	}
	.site-header-source .menu > li > a,
	.site-header-source .nav-primary > li > a{
		display:flex;
		align-items:center;
		justify-content:space-between;
		gap:10px;
		width:100%;
		padding:14px 16px;
		border-radius:10px;
		white-space:nowrap;
		box-sizing:border-box;
		font-size:14px;
		font-weight:700;
	}
	.site-header-source .nav-primary .atlas-has-mega > a:after{
		content:"";
		width:8px;
		height:8px;
		border-right:2px solid currentColor;
		border-bottom:2px solid currentColor;
		transform:rotate(45deg);
		opacity:.55;
		flex:0 0 auto;
		transition:transform .2s ease;
	}
	.site-header-source .nav-primary .atlas-has-mega.is-open > a:after{
		transform:rotate(-135deg);
		margin-top:4px;
	}
	/* Simple Services page list on mobile (all service pages) */
	.site-header-source .nav-primary .atlas-has-mega > .sub-menu.atlas-mega-menu,
	.site-header-source .nav-primary .atlas-has-mega > .atlas-mega-menu{
		display:none !important;
		position:static !important;
		left:auto !important;
		right:auto !important;
		top:auto !important;
		transform:none !important;
		width:100% !important;
		max-width:none !important;
		margin:4px 0 8px !important;
		padding:0 4px 0 4px !important;
		border:0 !important;
		border-radius:0 !important;
		background:transparent !important;
		box-shadow:none !important;
		grid-template-columns:1fr !important;
		gap:0 !important;
		visibility:visible !important;
		pointer-events:auto !important;
		height:auto !important;
		max-height:none !important;
		overflow:visible !important;
		z-index:2 !important;
	}
	/* Mobile: open only via .is-open (tap). Do NOT use :hover — it steals clicks. */
	.site-header-source .nav-primary .atlas-has-mega.is-open > .atlas-mega-menu,
	.site-header-source .nav-primary .atlas-has-mega.is-open > .sub-menu.atlas-mega-menu{
		display:flex !important;
		flex-direction:column !important;
	}
	.site-header-source .nav-primary .atlas-mega-menu > li{
		width:100%;
		list-style:none;
		margin:0;
		padding:0;
		position:relative;
		z-index:2;
	}
	.site-header-source .nav-primary .atlas-mega-menu .atlas-mega-card{
		display:flex !important;
		align-items:center;
		gap:12px;
		width:100%;
		min-height:44px;
		padding:10px 12px;
		border:1px solid var(--line,#e6e6e0);
		border-radius:10px;
		background:#fafafa;
		box-shadow:none;
		transform:none !important;
		grid-template-columns:none;
		pointer-events:auto !important;
		cursor:pointer;
		position:relative;
		z-index:3;
		text-decoration:none;
		color:inherit;
		margin:0 0 4px;
		box-sizing:border-box;
	}
	.site-header-source .nav-primary .atlas-mega-menu .atlas-mega-card:active{
		background:var(--ys,#fff7d6);
		border-color:#e6d27a;
	}
	.site-header-source .nav-primary .atlas-mega-menu .atlas-mega-card *{
		pointer-events:none;
	}
	.site-header-source .nav-primary .atlas-mega-icon{
		width:32px !important;
		height:32px !important;
		border-radius:50% !important;
		flex:0 0 auto;
		display:grid !important;
		place-items:center;
		background:var(--ys,#fff7d6) !important;
		border:1px solid #f0e3a0 !important;
	}
	.site-header-source .nav-primary .atlas-mega-icon i,
	.site-header-source .nav-primary .atlas-mega-icon svg{
		width:14px;
		height:14px;
	}
	.site-header-source .nav-primary .atlas-mega-copy{
		display:block;
		gap:0;
	}
	.site-header-source .nav-primary .atlas-mega-copy strong{
		font-size:13px;
		font-weight:700;
		line-height:1.3;
	}
	.site-header-source .nav-primary .atlas-mega-copy small{
		display:none !important;
	}
	.site-header-source .nav-primary .atlas-mega-footer{
		display:none !important;
	}
	.site-header-source .nav-primary .sub-menu:not(.atlas-mega-menu){
		display:none !important;
	}
	.site-header-source .mobile-toggle{display:grid}
	.site-header-source .header-actions .btn-yellow,
	.site-header-source .header-actions .atlas-register-label,
	.site-header-source .header-actions .atlas-account-label{
		padding:10px 12px;
		font-size:11px;
	}
}

@media (max-width:640px){
	.top .wrap{
		flex-direction:column;
		align-items:stretch;
		gap:8px;
		padding:8px 0;
	}
	.top-left{display:none}
	.top-right{
		width:100%;
		justify-content:space-between;
		gap:8px;
		flex-wrap:nowrap;
	}
	.top-right > button{
		flex:0 1 auto;
		min-width:0;
		max-width:42%;
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
	.top-right .control-row{
		display:flex;
		gap:6px;
		flex:1 1 auto;
		min-width:0;
	}
	.top-right select{
		max-width:100%;
		min-width:0;
		flex:1;
		font-size:11px;
	}
	.site-header-source .nav{
		gap:8px;
		min-height:64px;
		padding:8px 0;
	}
	.site-header-source .nav > .brand{
		min-width:0;
		overflow:hidden;
	}
	.site-header-source .brand > span:last-child{
		min-width:0;
		overflow:hidden;
	}
	.site-header-source .brand strong{
		font-size:12px;
		letter-spacing:.02em;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		max-width:100%;
	}
	.site-header-source .brand-mark{
		width:38px;
		height:38px;
		flex:0 0 auto;
	}
	.site-header-source .brand-mark i,
	.site-header-source .brand-mark svg{
		width:18px;
		height:18px;
	}
	.site-header-source .header-actions{
		gap:4px;
		flex:0 0 auto;
	}
	.site-header-source .header-actions .btn-yellow,
	.site-header-source .header-actions .atlas-register-label,
	.site-header-source .header-actions .atlas-account-label{
		display:none;
	}
	.site-header-source .header-actions .icon-btn,
	.site-header-source .header-actions .atlas-auth-btn,
	.site-header-source .mobile-toggle{
		width:36px;
		height:36px;
		border-radius:50% !important;
	}
	.site-header-source .mobile-toggle{
		background:#fff;
		border:1px solid var(--line,#e6e6e0);
		color:var(--k,#111);
	}
	.site-header-source .mobile-toggle[aria-expanded="true"]{
		background:var(--k,#111) !important;
		border-color:var(--k,#111) !important;
		color:#fff !important;
	}
}

@media (max-width:400px){
	.site-header-source .header-actions .atlas-bag-btn[data-open-wishlist]{display:none}
	.site-header-source .brand small{display:none}
	.top-right > button span{display:none}
	.top-right > button{
		max-width:36px;
		padding-left:8px;
		padding-right:8px;
		justify-content:center;
	}
}

@media (max-width:360px){
	.site-header-source .brand > span:last-child{display:none}
}

body.atlas-nav-open{overflow:hidden}
body.atlas-nav-open .site-header-source{z-index:1300}
.atlas-nav-backdrop{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.35);
	z-index:1200;
}
body.atlas-nav-open .atlas-nav-backdrop{display:block}
