/* SlideNav – front end. Colours/sizes come from CSS variables printed by the plugin. */

/* ---------- Top bar ---------- */
.ttsmm{width:100%;position:relative;z-index:9990}
.ttsmm--sticky{position:sticky;top:var(--wp-admin--admin-bar--height,0px)}
@media (max-width:600px){.ttsmm--sticky{top:0}}
.ttsmm-bar{
	display:flex;align-items:center;justify-content:space-between;width:100%;
	padding:14px 20px;box-sizing:border-box;
	background:var(--ttsmm-bar-bg,#085ba5);box-shadow:var(--ttsmm-shadow,none);
}
.ttsmm-bar-logo,.ttsmm-logo{display:block;line-height:0;text-decoration:none}
.ttsmm-bar-logo img,.ttsmm-logo img{display:block;height:var(--ttsmm-logo-h,28px);width:auto;max-width:62vw}
.ttsmm-logo img{max-width:200px}
.ttsmm-sitename{display:block;line-height:1.2;font-size:18px;font-weight:600;color:var(--ttsmm-burger,#fff)}
.ttsmm-logo .ttsmm-sitename{color:var(--ttsmm-text,#fff)}

/* ---------- Hamburger ---------- */
.ttsmm-toggle{
	position:relative;width:48px;height:44px;padding:0;margin:0 -4px 0 0;
	background:transparent!important;border:0;border-radius:8px;cursor:pointer;box-shadow:none;
	display:inline-flex;align-items:center;justify-content:center;
	-webkit-tap-highlight-color:transparent;
}
.ttsmm-toggle:focus-visible{outline:2px solid var(--ttsmm-burger,#fff);outline-offset:2px}
.ttsmm-bars{position:relative;display:block;width:34px;height:21px}
.ttsmm-bars span{
	position:absolute;left:0;height:3px;border-radius:3px;background:var(--ttsmm-burger,#fff);
	transition:transform .45s cubic-bezier(.77,0,.175,1),opacity .25s ease,width .35s ease,top .45s cubic-bezier(.77,0,.175,1);
}
.ttsmm-bars span:nth-child(1){top:0;width:100%}
.ttsmm-bars span:nth-child(2){top:9px;width:100%}
.ttsmm-bars span:nth-child(3){top:18px;width:60%}
.ttsmm-toggle:hover .ttsmm-bars span:nth-child(3){width:100%}
.ttsmm-toggle.is-active .ttsmm-bars span:nth-child(1){top:9px;transform:rotate(45deg)}
.ttsmm-toggle.is-active .ttsmm-bars span:nth-child(2){opacity:0;transform:translateX(-14px)}
.ttsmm-toggle.is-active .ttsmm-bars span:nth-child(3){top:9px;width:100%;transform:rotate(-45deg)}

/* ---------- Overlay ---------- */
.ttsmm-overlay{
	position:fixed;inset:0;z-index:99998;background:var(--ttsmm-overlay,rgba(3,25,48,.55));
	opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s;
}
.ttsmm-layer.is-open .ttsmm-overlay{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}

/* ---------- Panel ---------- */
.ttsmm-panel{
	position:fixed;top:0;left:0;z-index:99999;height:100%;height:100dvh;
	width:min(88vw,var(--ttsmm-panel-w,400px));
	display:flex;flex-direction:column;
	background:var(--ttsmm-panel-bg,#085ba5);color:var(--ttsmm-text,#fff);
	font-family:var(--ttsmm-font,inherit);
	transform:translateX(-100%);visibility:hidden;box-shadow:8px 0 40px rgba(0,0,0,.25);
	transition:transform .5s cubic-bezier(.77,0,.175,1),visibility 0s linear .5s;
}
.ttsmm-layer--right .ttsmm-panel{left:auto;right:0;transform:translateX(100%);box-shadow:-8px 0 40px rgba(0,0,0,.25)}
.ttsmm-layer.is-open .ttsmm-panel{transform:translateX(0);visibility:visible;transition:transform .5s cubic-bezier(.77,0,.175,1),visibility 0s}
.ttsmm-panel *{box-sizing:border-box}

.ttsmm-head{
	display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;
	padding:20px 24px;border-bottom:1px solid var(--ttsmm-divider,rgba(255,255,255,.14));
}
.ttsmm-close{
	width:40px;height:40px;padding:0;border:0;border-radius:50%;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	background:var(--ttsmm-close-bg,rgba(255,255,255,.12));color:var(--ttsmm-close-icon,#fff);
	transition:filter .25s ease,transform .35s ease;
}
.ttsmm-close:hover{filter:brightness(1.25);transform:rotate(90deg);background:var(--ttsmm-close-bg,rgba(255,255,255,.12));color:var(--ttsmm-close-icon,#fff)}
.ttsmm-close:focus-visible{outline:2px solid var(--ttsmm-close-icon,#fff);outline-offset:2px}

/* ---------- Sliding viewport ---------- */
.ttsmm-viewport{position:relative;flex:1 1 auto;overflow:hidden}
.ttsmm-main,.ttsmm-sub{
	position:absolute;inset:0;margin:0;padding:12px 24px 24px;list-style:none;
	overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
	transition:transform .45s cubic-bezier(.77,0,.175,1),opacity .35s ease,visibility 0s;
}
.ttsmm-main.is-shifted{transform:translateX(-30%);opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.77,0,.175,1),opacity .35s ease,visibility 0s linear .45s}
.ttsmm-sub{background:var(--ttsmm-panel-bg,#085ba5);transform:translateX(100%);visibility:hidden;transition:transform .45s cubic-bezier(.77,0,.175,1),visibility 0s linear .45s}
.ttsmm-sub.is-active{transform:translateX(0);visibility:visible;transition:transform .45s cubic-bezier(.77,0,.175,1),visibility 0s}

/* ---------- Main items ---------- */
.ttsmm-main li{
	list-style:none;margin:0;border-bottom:1px solid var(--ttsmm-divider,rgba(255,255,255,.14));
	opacity:0;transform:translateX(-18px);
	transition:opacity .4s ease,transform .5s cubic-bezier(.22,1,.36,1);
}
.ttsmm-layer.is-open .ttsmm-main li{opacity:1;transform:none;transition-delay:calc(.12s + var(--i,0) * .05s)}
.ttsmm-link{
	position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;
	padding:18px 4px;margin:0;background:none!important;border:0;border-radius:0;box-shadow:none;
	color:var(--ttsmm-text,#fff)!important;text-decoration:none;text-align:left;cursor:pointer;
	font-family:inherit;font-size:16px;font-weight:400;line-height:1.3;letter-spacing:normal;text-transform:none;
	transition:padding-left .3s ease,opacity .3s ease;
}
.ttsmm-link:hover,.ttsmm-link:focus-visible{padding-left:10px;opacity:.9;outline:none}
.ttsmm-label{display:flex;align-items:center;gap:14px;min-width:0}
.ttsmm-chev{flex:0 0 auto;opacity:.8}

/* ---------- Sub panel ---------- */
.ttsmm-back{
	display:inline-flex;align-items:center;gap:6px;padding:10px 0;margin:0 0 4px;
	background:none!important;border:0;box-shadow:none;cursor:pointer;
	color:var(--ttsmm-text,#fff)!important;opacity:.85;
	font-family:inherit;font-size:14px;font-weight:500;text-transform:none;
}
.ttsmm-back:hover,.ttsmm-back:focus-visible{opacity:1}
.ttsmm-sub-title{font-size:22px;font-weight:600;margin:6px 0 14px;color:var(--ttsmm-text,#fff)}
.ttsmm-sub ul{list-style:none;margin:0;padding:0}
.ttsmm-sub li{list-style:none;margin:0;opacity:0;transform:translateX(24px);transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.ttsmm-sub.is-active li{opacity:1;transform:none;transition-delay:calc(.15s + var(--i,0) * .045s)}
.ttsmm-sub-link{
	display:flex;align-items:center;gap:14px;padding:8px 0;
	color:var(--ttsmm-text,#fff)!important;text-decoration:none;
	font-size:15px;font-weight:400;line-height:1.3;transition:transform .3s ease;
}
.ttsmm-sub-link:hover,.ttsmm-sub-link:focus-visible{transform:translateX(6px)}

/* ---------- Icons ---------- */
.ttsmm-icon{
	flex:0 0 35px;width:35px;height:35px;border-radius:10px;background:var(--ttsmm-icon-bg,#fff);
	display:flex;align-items:center;justify-content:center;
}
.ttsmm-icon img{width:18px;height:18px;object-fit:contain;display:block}
.ttsmm-icon--plain{flex-basis:24px;width:24px;height:24px;background:none;border-radius:0}
.ttsmm-icon--plain img{width:22px;height:22px}

/* ---------- Active page indicator ---------- */
.ttsmm-main li.is-current > .ttsmm-link::before{
	content:"";position:absolute;left:-24px;top:50%;width:4px;height:58%;
	transform:translateY(-50%);background:var(--ttsmm-accent,#f58220);border-radius:0 4px 4px 0;
}
.ttsmm-main li.is-current > .ttsmm-link .ttsmm-text,
.ttsmm-sub-link.is-current .ttsmm-text{
	text-decoration:underline;text-decoration-color:var(--ttsmm-accent,#f58220);
	text-decoration-thickness:2px;text-underline-offset:9px;
}
.ttsmm-sub-link.is-current{font-weight:700}
.ttsmm-sub-link.is-current .ttsmm-text{text-underline-offset:6px}
.ttsmm-sub-link.is-current .ttsmm-icon{box-shadow:0 0 0 3px var(--ttsmm-accent,#f58220)}

/* ---------- Scroll hint ---------- */
.ttsmm-more{
	position:absolute;left:0;right:0;bottom:0;z-index:3;height:80px;padding-bottom:12px;
	display:flex;align-items:flex-end;justify-content:center;pointer-events:none;
	background:linear-gradient(to top,var(--ttsmm-panel-bg,#085ba5) 30%,transparent);
	opacity:0;visibility:hidden;transform:translateY(8px);
	transition:opacity .3s ease,transform .3s ease,visibility 0s linear .3s;
}
.ttsmm-more.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .3s ease,visibility 0s}
.ttsmm-more span{
	display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;
	background:var(--ttsmm-text-soft,rgba(255,255,255,.18));color:var(--ttsmm-text,#fff);
	font-size:12px;font-weight:500;letter-spacing:.02em;
}
.ttsmm-more svg{animation:ttsmm-bounce 1.4s ease-in-out infinite}
@keyframes ttsmm-bounce{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* ---------- CTA ---------- */
.ttsmm-foot{flex:0 0 auto;padding:18px 24px 26px;border-top:1px solid var(--ttsmm-divider,rgba(255,255,255,.14))}
.ttsmm-cta{
	display:block;padding:14px 20px;border-radius:4px;text-align:center;text-decoration:none;
	background:var(--ttsmm-cta-bg,#fff);color:var(--ttsmm-cta-text,#085ba5)!important;
	font-weight:600;font-size:16px;transition:transform .3s ease,box-shadow .3s ease;
}
.ttsmm-cta:hover,.ttsmm-cta:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.2)}

html.ttsmm-lock,body.ttsmm-lock{overflow:hidden}

@media (prefers-reduced-motion:reduce){
	.ttsmm-more svg{animation:none}
	.ttsmm-panel,.ttsmm-overlay,.ttsmm-main,.ttsmm-sub,.ttsmm-main li,.ttsmm-sub li,.ttsmm-bars span,.ttsmm-more{transition-duration:.01s!important;transition-delay:0s!important}
}
