/* TT Smart Menu 1.1.1 — floating pill with themes, panels, sliding indicator */
.ttm{
	--ttm-r-bar:999px; --ttm-r-item:999px; --ttm-r-panel:22px; --ttm-blur:blur(16px) saturate(1.4);
	--ttm-bg:rgba(28,28,30,.55); --ttm-panel-bg:rgba(28,28,30,.9); --ttm-fg:#fff; --ttm-active-bg:#fff; --ttm-active-fg:#111;
	--ttm-hover:color-mix(in srgb,var(--ttm-fg) 12%,transparent); --ttm-bd:color-mix(in srgb,var(--ttm-fg) 16%,transparent);
	position:fixed; z-index:99990; font-family:inherit; font-size:14px; line-height:1; direction:rtl; box-sizing:border-box;
}
.ttm *,.ttm *::before,.ttm *::after{ box-sizing:border-box; }

/* ---- themes (the "custom colours" option overrides these through inline variables) ---- */
.ttm-t-glass-light{ --ttm-bg:rgba(255,255,255,.62); --ttm-panel-bg:rgba(255,255,255,.92); --ttm-fg:#1b1b1f; --ttm-active-bg:#1b1b1f; --ttm-active-fg:#fff; }
.ttm-t-solid-dark{ --ttm-blur:none; --ttm-bg:#0f1b2d; --ttm-panel-bg:#0f1b2d; --ttm-fg:#e8edf5; --ttm-active-bg:#f6f3ec; --ttm-active-fg:#0f1b2d; }
.ttm-t-solid-light{ --ttm-blur:none; --ttm-bg:#f8f6f1; --ttm-panel-bg:#f8f6f1; --ttm-fg:#14213d; --ttm-active-bg:#14213d; --ttm-active-fg:#f8f6f1; }
.ttm-t-color{ --ttm-blur:none; --ttm-bg:#1d4ed8; --ttm-panel-bg:#1d4ed8; --ttm-fg:#fff; --ttm-active-bg:#fff; --ttm-active-fg:#1d4ed8; }
.ttm-t-square{ --ttm-blur:none; --ttm-r-bar:18px; --ttm-r-item:12px; --ttm-r-panel:16px; --ttm-bg:#111827; --ttm-panel-bg:#111827; --ttm-fg:#f3f4f6; --ttm-active-bg:#f59e0b; --ttm-active-fg:#111827; }

/* ---- position ---- */
.ttm-pos-top-right{ top:var(--ttm-offset,16px); right:var(--ttm-offset,16px); }
.ttm-pos-top-left{ top:var(--ttm-offset,16px); left:var(--ttm-offset,16px); }
.ttm-pos-top-center{ top:var(--ttm-offset,16px); left:50%; transform:translateX(-50%); }
.ttm-pos-bottom-center{ bottom:calc(var(--ttm-offset,16px) + env(safe-area-inset-bottom,0px)); left:50%; transform:translateX(-50%); }
body.admin-bar .ttm[class*="ttm-pos-top"]{ top:calc(var(--ttm-offset,16px) + 32px); }
@media (max-width:782px){ body.admin-bar .ttm[class*="ttm-pos-top"]{ top:calc(var(--ttm-offset,16px) + 46px); } }
.ttm-inline{ position:relative; inset:auto!important; transform:none!important; display:inline-block; }

/* ---- bar ---- */
.ttm-bar{
	position:relative; display:flex; align-items:center; gap:4px; padding:6px; border-radius:var(--ttm-r-bar);
	background:var(--ttm-bg); border:1px solid var(--ttm-bd);
	-webkit-backdrop-filter:var(--ttm-blur); backdrop-filter:var(--ttm-blur);
	box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.ttm-item{
	position:relative; z-index:1; appearance:none; -webkit-appearance:none; border:0; background:transparent; color:var(--ttm-fg); cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:48px; height:44px; padding:0 14px;
	border-radius:var(--ttm-r-item); text-decoration:none; font:inherit; font-size:14px; line-height:1; white-space:nowrap;
	-webkit-tap-highlight-color:transparent; transition:background .25s ease,color .25s ease,transform .2s ease;
}
.ttm-item:hover{ background:var(--ttm-hover); color:var(--ttm-fg); }
.ttm-item:active{ transform:scale(.96); }
.ttm-item:focus-visible{ outline:2px solid var(--ttm-active-bg); outline-offset:2px; }
.ttm-item.is-active,.ttm-item.is-open{ background:var(--ttm-active-bg); color:var(--ttm-active-fg); }
.ttm-ico{ flex:none; display:block; }
.ttm-chev{ flex:none; opacity:.7; transition:transform .25s ease; margin-inline-start:-2px; }
.ttm-item.is-open .ttm-chev{ transform:rotate(180deg); }
.ttm-label{ display:none; }
.ttm-labels .ttm-label{ display:inline; }
.ttm-more,.ttm-sheet{ display:none; }

/* ---- sliding indicator (only when animation is on and JS is ready) ---- */
.ttm-ind{ display:none; }
.ttm-anim.ttm-ready .ttm-ind{
	display:block; position:absolute; z-index:0; top:0; left:0; width:0; height:0; border-radius:var(--ttm-r-item);
	background:var(--ttm-active-bg); opacity:0; pointer-events:none;
	transition:transform .38s cubic-bezier(.3,1.25,.4,1),width .38s cubic-bezier(.3,1.25,.4,1),height .3s ease,opacity .25s ease;
}
.ttm-anim.ttm-ready .ttm-bar>.ttm-item.is-active,.ttm-anim.ttm-ready .ttm-bar>.ttm-item.is-open{ background:transparent; color:var(--ttm-fg); }
.ttm-anim.ttm-ready .ttm-bar>.ttm-item.is-under{ background:transparent; color:var(--ttm-active-fg); }
.ttm-anim .ttm-item.is-active .ttm-ico{ animation:ttm-pop .7s cubic-bezier(.3,1.6,.5,1) .1s 1 both; }
@keyframes ttm-pop{ 0%{ transform:scale(.6) rotate(-12deg); } 60%{ transform:scale(1.18) rotate(4deg); } 100%{ transform:none; } }
.ttm-anim .ttm-item:hover .ttm-ico{ transform:translateY(-1px) scale(1.06); }
.ttm-ico{ transition:transform .25s ease; }
.ttm:not(.ttm-anim) *{ transition:none!important; animation:none!important; }

/* ---- panels (submenu / several phone numbers) ---- */
.ttm-panel{
	position:absolute; top:calc(100% + 8px); left:0; z-index:2; width:max-content; min-width:240px; max-width:min(580px,calc(100vw - 16px));
	display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:4px 14px; padding:10px; border-radius:var(--ttm-r-panel);
	background:var(--ttm-panel-bg); color:var(--ttm-fg); border:1px solid var(--ttm-bd); box-shadow:0 16px 48px rgba(0,0,0,.3);
	-webkit-backdrop-filter:var(--ttm-blur); backdrop-filter:var(--ttm-blur);
	opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-6px) scale(.98); transform-origin:top center;
	transition:opacity .2s ease,transform .25s cubic-bezier(.3,1.2,.4,1),visibility 0s linear .25s;
}
.ttm-pos-bottom-center .ttm-panel{ top:auto; bottom:calc(100% + 8px); transform:translateY(6px) scale(.98); transform-origin:bottom center; }
.ttm-panel.is-open{ opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }
.ttm-pgroup{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ttm-pgroup:not(.ttm-pplain){ background:color-mix(in srgb,var(--ttm-fg) 6%,transparent); border-radius:calc(var(--ttm-r-panel) * .7); padding:6px; align-self:start; }
.ttm-plink{
	display:flex; align-items:center; gap:10px; min-height:42px; padding:8px 12px; border-radius:calc(var(--ttm-r-item) * .55); color:var(--ttm-fg);
	text-decoration:none; font-size:14px; line-height:1.4; transition:background .2s ease,transform .2s ease;
}
a.ttm-plink:hover{ background:var(--ttm-hover); }
.ttm-anim a.ttm-plink:hover{ transform:translateX(-3px); }
.ttm-plink.is-current{ background:var(--ttm-active-bg); color:var(--ttm-active-fg); }
.ttm-phead{ font-weight:700; font-size:13px; opacity:.9; }
.ttm-phead.is-text{ cursor:default; }
.ttm-pgroup .ttm-plink:not(.ttm-phead){ padding-inline-start:20px; font-size:13.5px; opacity:.92; }
.ttm-pplain .ttm-plink:not(.ttm-phead){ padding-inline-start:12px; }
.ttm-ptel .ttm-pnum{ margin-inline-start:auto; font-variant-numeric:tabular-nums; opacity:.85; direction:ltr; unicode-bidi:isolate; }
.ttm-ptel{ white-space:nowrap; }
.ttm-panel .ttm-ico{ opacity:.85; }
.ttm-anim .ttm-panel.is-open .ttm-plink{ animation:ttm-rise .35s ease both; }
.ttm-anim .ttm-panel.is-open .ttm-plink:nth-child(2){ animation-delay:.04s; }
.ttm-anim .ttm-panel.is-open .ttm-plink:nth-child(3){ animation-delay:.08s; }
.ttm-anim .ttm-panel.is-open .ttm-plink:nth-child(n+4){ animation-delay:.12s; }
@keyframes ttm-rise{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* ---- mobile: pill (icons + small labels) + "more" sheet ---- */
@media (max-width:782px){
	.ttm .ttm-label{ display:none!important; }
	.ttm-mlabels .ttm-bar .ttm-label{ display:block!important; font-size:var(--ttm-mfs,11px); letter-spacing:0; max-width:64px; overflow:hidden; text-overflow:ellipsis; }
	.ttm-item{ min-width:46px; padding:0 10px; }
	.ttm-mlabels .ttm-bar .ttm-item{ flex-direction:column; gap:5px; height:54px; min-width:58px; padding:0 8px; }
	.ttm-mlabels .ttm-bar{ border-radius:calc(var(--ttm-r-bar) * .6); }
	.ttm-t-glass-dark.ttm-mlabels .ttm-bar,.ttm-mlabels.ttm-t-glass-light .ttm-bar{ border-radius:30px; }
	.ttm-chev{ display:none; }
	.ttm-desk-only{ display:none!important; }
	.ttm-more{ display:inline-flex; }
	.ttm-sheet{
		display:block; position:absolute; min-width:230px; padding:8px; border-radius:var(--ttm-r-panel); top:calc(100% + 8px); right:0;
		background:var(--ttm-panel-bg); color:var(--ttm-fg); border:1px solid var(--ttm-bd); box-shadow:0 12px 40px rgba(0,0,0,.28);
		-webkit-backdrop-filter:var(--ttm-blur); backdrop-filter:var(--ttm-blur);
		opacity:0; transform:translateY(-8px) scale(.97); pointer-events:none; visibility:hidden; transform-origin:top right;
		transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
	}
	.ttm-pos-top-left .ttm-sheet{ right:auto; left:0; transform-origin:top left; }
	.ttm-pos-top-center .ttm-sheet{ right:50%; margin-right:-115px; }
	.ttm-pos-bottom-center .ttm-sheet{ top:auto; bottom:calc(100% + 8px); right:50%; margin-right:-115px; transform-origin:bottom center; }
	.ttm.is-open .ttm-sheet{ opacity:1; transform:none; pointer-events:auto; visibility:visible; transition-delay:0s; }
	.ttm-sheet .ttm-row{ display:flex; width:100%; justify-content:flex-start; height:48px; padding:0 14px; border-radius:calc(var(--ttm-r-item) * .55); gap:12px; flex-direction:row; }
	.ttm-sheet .ttm-row .ttm-label{ display:inline!important; font-size:15px; max-width:none; }
	.ttm-sheet .ttm-row .ttm-chev{ display:block; margin-inline-start:auto; }
	.ttm-sheet .ttm-row.is-active{ background:var(--ttm-active-bg); color:var(--ttm-active-fg); }
	.ttm-panel{ left:0; right:0; width:auto; min-width:0; max-width:none; grid-template-columns:1fr; }
}
@media (min-width:783px){ .ttm-sheet{ display:none!important; } }
@media (prefers-reduced-motion:reduce){ .ttm *{ transition:none!important; animation:none!important; } }

/* ---- font: follows the site (JS copies the page font) or the "font" setting; themes often override a/button fonts, so be firm ---- */
.ttm,.ttm .ttm-item,.ttm .ttm-label,.ttm .ttm-plink,.ttm .ttm-plabel,.ttm .ttm-pnum{ font-family:var(--ttm-font,inherit)!important; }
.ttm .ttm-item,.ttm .ttm-plink{ text-transform:none; letter-spacing:normal; font-weight:500; text-shadow:none; box-shadow:none; }
.ttm .ttm-phead{ font-weight:700; }
