.tppb-mobile-global-header {
	position: sticky;
	z-index: 100050;
	top: 0;
	display: none;
	align-items: center;
	gap: 9px;
	box-sizing: border-box;
	width: 100%;
	min-height: 72px;
	padding: 8px clamp(11px, 2.3vw, 22px);
	background: var(--tppb-mobile-nav-accent, #ff003b);
	box-shadow: 0 1px 0 rgba(15, 23, 42, .08);
}

body.admin-bar .tppb-mobile-global-header { top: 32px; }

.tppb-mobile-global-header__back {
	display: grid;
	place-items: center;
	flex: 0 0 42px;
	width: 42px;
	height: 52px;
	margin: 0;
	padding: 0;
	color: #fff;
	background: transparent;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.tppb-mobile-global-header__back:hover,
.tppb-mobile-global-header__back:focus-visible { color:#fff; background:rgba(255,255,255,.14); outline:0; }
.tppb-mobile-global-header__back svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }

.tppb-mobile-global-header__smart-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.tppb-mobile-global-header .screen-reader-text { position:absolute!important; overflow:hidden; width:1px; height:1px; margin:-1px; padding:0; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; white-space:nowrap; }
.tppb-mobile-global-header__smart-search .toby-live-search { width:100%; height:52px; color:var(--tppb-mobile-nav-color,#30343b); background:var(--tppb-mobile-nav-bg,#fff); border-color:var(--tppb-mobile-nav-border,#e5e7eb); border-radius:14px; box-shadow:0 3px 14px rgba(15,23,42,.08); }
.tppb-mobile-global-header__smart-search .toby-live-search input[type=search] { min-width:0; height:50px; font-size:clamp(13px,2.1vw,16px); font-weight:600; }
.tppb-mobile-global-header__smart-search .toby-live-search select { height:50px; }
.tppb-mobile-global-header__smart-search .toby-live-search > button { height:50px; }
body.tppb-mobile-smart-search-mounted .toby-search-tools { z-index:100200; }

.tppb-mobile-navigation {
	--tppb-mobile-nav-height: 64px;
	box-sizing: border-box;
	position: fixed;
	z-index: 99990;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	grid-template-columns: repeat(var(--tppb-mobile-nav-items, 4), minmax(0, 1fr)) !important;
	grid-template-rows: minmax(0, 1fr) !important;
	height: calc(var(--tppb-mobile-nav-height) + env(safe-area-inset-bottom));
	min-height: calc(var(--tppb-mobile-nav-height) + env(safe-area-inset-bottom));
	max-height: calc(var(--tppb-mobile-nav-height) + env(safe-area-inset-bottom));
	overflow: visible;
	padding: 4px max(8px, env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-right));
	background: var(--tppb-mobile-nav-bg, #fff);
	border-top: 1px solid var(--tppb-mobile-nav-border, #e5e7eb);
	box-shadow: 0 -8px 28px rgba(15, 23, 42, .1);
	transform: translateY(0);
	transition: transform .24s cubic-bezier(.22, .8, .22, 1), visibility .24s ease;
	will-change: transform;
}

body.tppb-mobile-navigation-hidden .tppb-mobile-navigation {
	visibility: hidden;
	pointer-events: none;
	transform: translateY(110%);
}

.tppb-mobile-navigation__item {
	position: relative;
	display: flex !important;
	grid-row: 1 !important;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	width: auto !important;
	min-height: 54px;
	visibility: visible !important;
	opacity: 1 !important;
	margin: 0;
	padding: 3px;
	color: var(--tppb-mobile-nav-color, #30343b);
	font: inherit;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-decoration: none !important;
	background: transparent;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.tppb-mobile-navigation__item:hover,
.tppb-mobile-navigation__item:focus-visible,
.tppb-mobile-navigation__item.is-active {
	color: var(--tppb-mobile-nav-accent, #ff003b);
	outline: 0;
}

.tppb-mobile-navigation__item.is-active::before {
	content: "";
	position: absolute;
	top: -4px;
	left: 50%;
	width: 26px;
	height: 3px;
	background: currentColor;
	border-radius: 0 0 999px 999px;
	transform: translateX(-50%);
}

.tppb-mobile-navigation__item svg {
	display: block;
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tppb-mobile-navigation__item > span:not(.tppb-mobile-navigation__badge) {
	overflow: hidden;
	max-width: 100%;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tppb-mobile-navigation__badge {
	position: absolute;
	top: 1px;
	left: calc(50% + 7px);
	display: grid;
	place-items: center;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	color: #fff;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
	background: var(--tppb-mobile-nav-accent, #ff003b);
	border: 2px solid var(--tppb-mobile-nav-bg, #fff);
	border-radius: 999px;
}

.tppb-mobile-navigation__badge[hidden] { display: none !important; }
.tppb-mobile-navigation__badge.is-updating { animation: tppb-mobile-cart-badge-pop .34s cubic-bezier(.2,.85,.35,1.35); }
@keyframes tppb-mobile-cart-badge-pop {
	0% { transform: scale(.72); }
	55% { transform: scale(1.2); }
	100% { transform: scale(1); }
}

.tppb-mobile-menu-overlay {
	position: fixed;
	z-index: 100100;
	inset: 0;
	visibility: hidden;
	background: rgba(15, 23, 42, .55);
	opacity: 0;
	backdrop-filter: blur(3px);
	transition: opacity .24s ease, visibility .24s ease;
}

.tppb-mobile-menu-drawer {
	position: fixed;
	z-index: 100101;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	width: min(390px, 88vw);
	max-width: 100%;
	color: #111827;
	background: #fff;
	box-shadow: -24px 0 60px rgba(15, 23, 42, .22);
	visibility: hidden;
	transform: translateX(105%);
	transition: transform .28s cubic-bezier(.22, .8, .22, 1), visibility .28s ease;
}

.tppb-mobile-menu-drawer.is-category-catalog { width: min(600px, 100vw); }

.tppb-mobile-menu-drawer > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px;
	border-bottom: 1px solid #e5e7eb;
}

.tppb-mobile-menu-drawer h2 { margin: 0; font-size: 21px; }
.tppb-mobile-menu-drawer header button {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	color: #111827;
	font-size: 26px;
	line-height: 1;
	background: #f3f5f8;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
}

.tppb-mobile-menu-drawer > div { flex: 1 1 auto; overflow-y: auto; padding: 10px 18px 30px; }
.tppb-mobile-menu-drawer.is-category-catalog > header {
	position: absolute;
	z-index: 2;
	top: 14px;
	right: 14px;
	padding: 0;
	border: 0;
}
.tppb-mobile-menu-drawer.is-category-catalog > header h2 {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}
.tppb-mobile-menu-drawer.is-category-catalog > div { padding: 22px 20px calc(34px + env(safe-area-inset-bottom)); }
.tppb-mobile-menu-list,
.tppb-mobile-menu-list ul { margin: 0; padding: 0; list-style: none; }
.tppb-mobile-menu-list a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 9px 4px;
	color: #202938;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid #edf0f4;
}
.tppb-mobile-menu-list .sub-menu { padding-left: 16px; }

.tppb-mobile-category-catalog > h2 { margin: 0 0 18px; padding-right:52px; color:#111827; font-size:23px; line-height:1.2; }
.tppb-mobile-category-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px 14px;
}
.tppb-mobile-category-card {
	display: flex;
	align-items: stretch;
	flex-direction: column;
	gap: 9px;
	min-width: 0;
	color: #343b4a;
	text-decoration: none !important;
	-webkit-tap-highlight-color: transparent;
}
.tppb-mobile-category-card > span {
	display: grid;
	place-items: center;
	overflow: hidden;
	aspect-ratio: 1 / 1.16;
	background: #f2f4f8;
	border: 2px solid transparent;
	border-radius: 18px;
	transition: border-color .18s, box-shadow .18s;
}
.tppb-mobile-category-card img { width:100%; height:100%; object-fit:contain; }
.tppb-mobile-category-card strong { overflow:hidden; min-height:34px; padding:0 3px; font-size:13px; font-weight:800; line-height:1.28; text-overflow:ellipsis; }
.tppb-mobile-category-card.is-selected > span { border-color:var(--tppb-mobile-nav-accent,#ff003b); box-shadow:0 0 0 2px color-mix(in srgb,var(--tppb-mobile-nav-accent,#ff003b) 14%,transparent); }
.tppb-mobile-category-panel {
	display: grid;
	grid-column: 1 / -1;
	gap: 8px;
	margin: -2px 0 2px;
	transform-origin: top center;
}
.tppb-mobile-category-panel[hidden] { display:none !important; }
.tppb-mobile-category-panel.is-entering {
	animation: tppb-mobile-subcategory-drop .3s cubic-bezier(.2,.85,.25,1) both;
}
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a {
	animation: tppb-mobile-subcategory-item .26s cubic-bezier(.2,.8,.25,1) both;
}
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a:nth-child(2) { animation-delay:25ms; }
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a:nth-child(3) { animation-delay:50ms; }
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a:nth-child(4) { animation-delay:75ms; }
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a:nth-child(5) { animation-delay:100ms; }
.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a:nth-child(n+6) { animation-delay:125ms; }
@keyframes tppb-mobile-subcategory-drop {
	from { opacity:0; transform:translateY(-14px) scaleY(.94); }
	to { opacity:1; transform:translateY(0) scaleY(1); }
}
@keyframes tppb-mobile-subcategory-item {
	from { opacity:0; transform:translateY(-7px); }
	to { opacity:1; transform:translateY(0); }
}
.tppb-mobile-subcategory-list { display:grid; gap:8px; }
.tppb-mobile-subcategory-list > a,
.tppb-mobile-category-status .tppb-mobile-subcategory-view-all {
	display: flex;
	align-items: center;
	gap: 13px;
	min-height: 66px;
	padding: 7px 11px;
	color: #3d4555;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
	background: #f0f2f6;
	border-radius: 10px;
}
.tppb-mobile-subcategory-list img {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	object-fit: contain;
	background: #e5e8ed;
	border-radius: 8px;
}
.tppb-mobile-subcategory-view-all-icon {
	display: grid;
	place-items: center;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	color: #414957;
	font-size: 29px;
	font-weight: 500;
	line-height: 1;
	background: #e1e4e9;
	border-radius: 8px;
}
.tppb-mobile-category-status {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	grid-column: 1 / -1;
	min-height: 76px;
	padding: 14px;
	color: #626c7d;
	font-size: 13px;
	font-weight: 750;
	background: #f0f2f6;
	border-radius: 10px;
}
.tppb-mobile-category-status > i {
	width: 22px;
	height: 22px;
	border: 3px solid #d3d8e1;
	border-top-color: var(--tppb-mobile-nav-accent,#ff003b);
	border-radius: 50%;
	animation: tppb-mobile-category-spin .75s linear infinite;
}
.tppb-mobile-category-status.is-error { align-items:stretch; flex-direction:column; }
.tppb-mobile-category-status.is-error > .tppb-mobile-subcategory-view-all { width:100%; }
@keyframes tppb-mobile-category-spin { to { transform:rotate(360deg); } }
.tppb-mobile-category-empty { padding:18px; color:#687184; background:#f4f6f9; border-radius:12px; }
.tppb-mobile-catalog-pages { margin-top:26px; padding-top:22px; border-top:1px solid #e7eaf0; }
.tppb-mobile-catalog-pages > div { display:grid; gap:8px; }
.tppb-mobile-catalog-pages a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:11px 14px; color:#303848; font-size:14px; font-weight:800; text-decoration:none!important; background:#f2f4f8; border:1px solid transparent; border-radius:11px; transition:border-color .18s,background .18s; }
.tppb-mobile-catalog-pages a:focus,.tppb-mobile-catalog-pages a:hover { color:#202938; background:#fff; border-color:var(--tppb-mobile-nav-accent,#ff003b); }
.tppb-mobile-catalog-pages svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

@media (max-width: 390px) {
	.tppb-mobile-global-header { min-height:68px; padding:7px 9px; }
	.tppb-mobile-global-header__back { flex-basis:36px; width:36px; height:48px; }
	.tppb-mobile-global-header__smart-search .toby-live-search { height:48px; border-radius:13px; }
	.tppb-mobile-global-header__smart-search .toby-live-search input[type=search],
	.tppb-mobile-global-header__smart-search .toby-live-search select,
	.tppb-mobile-global-header__smart-search .toby-live-search > button { height:46px; }
	.tppb-mobile-global-header__smart-search .toby-live-search input[type=search] { font-size:13px; }
	.tppb-mobile-menu-drawer.is-category-catalog > div { padding-right:14px; padding-left:14px; }
	.tppb-mobile-category-grid { gap:15px 9px; }
	.tppb-mobile-category-card > span { border-radius:14px; }
	.tppb-mobile-category-card strong { font-size:12px; }
}

@media (max-width: 782px) {
	body.admin-bar .tppb-mobile-global-header { top: 46px; }
}

body.tppb-mobile-menu-open { overflow: hidden; }
body.tppb-mobile-menu-open .tppb-mobile-menu-overlay { visibility: visible; opacity: 1; }
body.tppb-mobile-menu-open .tppb-mobile-menu-drawer { visibility: visible; transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
	.tppb-mobile-navigation__badge.is-updating { animation: none !important; }
	.tppb-mobile-menu-overlay,
	.tppb-mobile-menu-drawer,
	.tppb-mobile-navigation { transition: none !important; }
	.tppb-mobile-category-panel.is-entering,
	.tppb-mobile-category-panel.is-entering .tppb-mobile-subcategory-list > a { animation:none !important; }
}

/* Grouped menu: local SVGs and CSS only; no extra requests or runtime observers. */
.tppb-mobile-menu-drawer.is-category-catalog > div { background:#f3f4f8; }
.tppb-mobile-category-catalog { padding:16px; background:#fff; border-radius:18px; }
.tppb-mobile-catalog-pages { border:0; padding-top:0; margin-top:16px; }
.tppb-mobile-catalog-pages > div { gap:14px; }
.tppb-mobile-menu-section { background:#fff; border-radius:18px; padding:4px 14px; overflow:hidden; }
.tppb-mobile-menu-section a[data-tppb-mobile-page-link] { background:transparent; border:0; border-radius:0; padding:17px 0; min-height:60px; font-weight:600; gap:14px; }
.tppb-mobile-menu-section a[data-tppb-mobile-page-link] + a[data-tppb-mobile-page-link] { border-top:1px dashed #e8eaf0; }
.tppb-mobile-menu-section .tppb-mobile-page-label { flex:1; min-width:0; }
.tppb-mobile-menu-section .tppb-mobile-page-icon { display:inline-flex; color:#697184; flex:0 0 24px; }
.tppb-mobile-menu-section .tppb-mobile-page-icon svg { width:24px; height:24px; stroke-width:1.7; }
.tppb-mobile-page-chevron:dir(rtl) { transform:scaleX(-1); }
.tppb-mobile-menu-section .tppb-mobile-preferences { margin:0; }
.tppb-mobile-menu-drawer .tppb-mobile-preferences .tppb-mobile-preferences__row { padding:17px 0; min-height:60px; }
.tppb-mobile-preferences__label svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tppb-mobile-menu-drawer .tppb-mobile-preferences__label { gap:14px; font-family:inherit; font-size:14px; font-weight:600; line-height:inherit; color:#303848; }
.tppb-mobile-menu-drawer .tppb-mobile-preferences__label > span { display:inline-flex; align-items:center; justify-content:center; flex:0 0 24px; width:24px; height:24px; color:#697184; line-height:1; }
.tppb-mobile-menu-drawer .tppb-mobile-preferences__label svg,
.tppb-mobile-menu-section .tppb-mobile-page-icon svg { display:block; flex:0 0 24px; width:24px; height:24px; }
.tppb-mobile-menu-section > a.tppb-mobile-auth-link,
.tppb-mobile-menu-section > a.tppb-mobile-auth-link .tppb-mobile-page-icon,
.tppb-mobile-menu-section > a.tppb-mobile-auth-link .tppb-mobile-page-label { color:#ed1c3b; text-decoration:none; }
[dir="rtl"] .tppb-mobile-auth-link .tppb-mobile-page-icon svg { transform:scaleX(-1); }
.tppb-mobile-signout-loading { position:fixed; inset:0; z-index:2147483647; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:rgba(255,255,255,.94); color:#303848; font-family:inherit; font-size:16px; font-weight:600; line-height:1.5; }
.tppb-mobile-signout-spinner { width:34px; height:34px; border:3px solid #ffe1e8; border-top-color:#ff003b; border-radius:50%; animation:tppb-signout-spin .7s linear infinite; }
@keyframes tppb-signout-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .tppb-mobile-signout-spinner { animation:none; } }
.tppb-mobile-menu-drawer [data-tppb-mobile-preferences-managed] > .tppb-mobile-preferences { background:#fff; border-radius:18px; padding:4px 14px; }
