/* Nizwas Scroll to Top & Announcement Bar — front-end styles */

#nsab-scroll-top{
	--nsab-size:46px;
	--nsab-radius:50%;
	--nsab-bg:#1e73be;
	--nsab-bg-hover:#154a7a;
	--nsab-icon-color:#fff;
	position:fixed;
	bottom:20px;
	z-index:2147483000;
	width:var(--nsab-size) !important;
	height:var(--nsab-size) !important;
	min-width:0;
	min-height:0;
	max-width:none;
	max-height:none;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	outline:none;
	box-sizing:border-box !important;
	border-radius:var(--nsab-radius);
	background:var(--nsab-bg);
	background-image:none;
	color:var(--nsab-icon-color);
	display:flex !important;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	cursor:pointer;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
	transition:opacity .25s ease, transform .25s ease, background-color .2s ease, visibility .25s ease;
	line-height:1 !important;
	font-size:0;
	text-decoration:none;
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
	flex-shrink:0;
}
#nsab-scroll-top svg{ width:45% !important; height:45% !important; max-width:45%; max-height:45%; min-width:0; min-height:0; display:block !important; visibility:visible !important; opacity:1 !important; flex-shrink:0; color:inherit; }
#nsab-scroll-top:hover, #nsab-scroll-top:focus, #nsab-scroll-top:active{ background:var(--nsab-bg-hover); color:var(--nsab-icon-color); }
#nsab-scroll-top:focus-visible{ outline:2px solid var(--nsab-icon-color); outline-offset:3px; }
#nsab-scroll-top.nsab-visible{ opacity:1; visibility:visible; transform:translateY(0); }
#nsab-scroll-top.nsab-anim-none{ transition:background-color .2s ease; }

#nsab-announcement-bar{
	width:100%;
	top:0;
	z-index:2147482700;
	padding:10px 16px;
	box-sizing:border-box;
	display:flex !important;
	align-items:center;
	justify-content:center;
	gap:14px;
	text-align:center;
	line-height:1.5;
	margin:0;
}
#nsab-announcement-bar.nsab-closing{
	animation:nsabCollapse .25s ease forwards;
}
@keyframes nsabCollapse{
	to{ padding-top:0; padding-bottom:0; max-height:0; opacity:0; }
}
.nsab-bar-inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	gap:12px;
	max-width:1200px;
	margin:0 auto;
}
.nsab-bar-text a{ color:inherit; text-decoration:underline; }
#nsab-announcement-bar .nsab-btn{
	display:inline-block !important;
	padding:6px 16px;
	margin:0 !important;
	border:0 !important;
	box-sizing:border-box !important;
	border-radius:4px;
	text-decoration:none !important;
	font-weight:600;
	font-size:.9em;
	white-space:nowrap;
	line-height:normal;
}
.nsab-bar-close{
	position:absolute;
	right:14px;
	top:50%;
	transform:translateY(-50%);
	background:transparent;
	border:0;
	color:inherit;
	font-size:22px;
	line-height:1;
	cursor:pointer;
	opacity:.75;
	padding:4px 8px;
}
.nsab-bar-close:hover{ opacity:1; }

@media (max-width:600px){
	#nsab-announcement-bar{ padding:10px 44px 10px 14px; font-size:13px !important; }
	.nsab-bar-close{ right:8px; }
}

/* Floating Contact Icons */
#nsab-floating-icons{
	position:fixed;
	z-index:2147482900;
	display:flex !important;
	flex-direction:column;
	gap:10px;
	align-items:flex-end;
	margin:0;
	padding:0;
	list-style:none;
}
#nsab-floating-icons.nsab-floating-left{ align-items:flex-start; }
.nsab-float-item{
	display:flex !important;
	align-items:center;
	gap:8px;
	background:var(--nsab-fi-bg,#333) !important;
	color:var(--nsab-fi-color,#fff) !important;
	text-decoration:none !important;
	border-radius:999px;
	border:0 !important;
	margin:0 !important;
	padding:10px;
	box-sizing:border-box !important;
	overflow:hidden;
	box-shadow:0 4px 14px rgba(0,0,0,.18);
	transition:transform .2s ease, box-shadow .2s ease;
	line-height:1;
	visibility:visible !important;
	opacity:1 !important;
}
.nsab-float-item:hover, .nsab-float-item:visited, .nsab-float-item:active{ color:var(--nsab-fi-color,#fff) !important; text-decoration:none !important; }
.nsab-float-item:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.24); }
.nsab-float-icon{ width:22px; height:22px; min-width:22px; display:flex !important; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden; }
.nsab-float-icon svg{ width:100% !important; height:100% !important; max-width:100%; max-height:100%; display:block !important; visibility:visible !important; opacity:1 !important; color:inherit; }
.nsab-float-label{ font-size:13px; font-weight:600; white-space:nowrap; padding-right:6px; }
#nsab-floating-icons.nsab-no-labels .nsab-float-label{ display:none; }
#nsab-floating-icons.nsab-no-labels .nsab-float-item{ padding:12px; }

.nsab-anim-pulse .nsab-float-icon{ animation:nsabPulse 1.8s ease-in-out infinite; }
.nsab-anim-bounce .nsab-float-icon{ animation:nsabBounce 1.6s ease-in-out infinite; }
@keyframes nsabPulse{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.15); } }
@keyframes nsabBounce{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
@media (prefers-reduced-motion: reduce){
	.nsab-anim-pulse .nsab-float-icon, .nsab-anim-bounce .nsab-float-icon{ animation:none; }
}

/* Vertical Side Tab */
#nsab-side-tab{
	position:fixed;
	top:50%;
	z-index:2147482800;
	padding:12px 10px;
	margin:0 !important;
	border:0 !important;
	box-sizing:border-box;
	font-weight:600;
	text-decoration:none !important;
	border-radius:6px 6px 0 0;
	box-shadow:0 2px 10px rgba(0,0,0,.15);
	writing-mode:vertical-rl;
	transform:translateY(-50%) rotate(180deg);
	white-space:nowrap;
	visibility:visible !important;
	opacity:1 !important;
}
#nsab-side-tab.nsab-side-right{ right:0; transform:translateY(-50%) rotate(180deg); }
#nsab-side-tab.nsab-side-left{ left:0; transform:translateY(-50%) rotate(0deg); border-radius:0 6px 6px 0; }
#nsab-side-tab:hover{ filter:brightness(1.06); }

@media (max-width:480px){
	.nsab-float-label{ display:none; }
	.nsab-float-item{ padding:12px; }
}
