/* ==========================================================================
   UnoDock — Frontend bottom nav bar
   ========================================================================== */

.udock-bottom-nav {
	display: none; /* shown only on mobile via media query */
	left: 0;
	right: 0;
	bottom: 0;
	height: var(--udock-height, 60px);
	background: var(--udock-bg, #ffffff);
	box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
	z-index: var(--udock-zindex, 9999);
	align-items: stretch;
	justify-content: space-around;
	box-sizing: border-box;
}

.udock-bottom-nav.udock-sticky {
	position: fixed;
}

.udock-bottom-nav.udock-rtl {
	direction: rtl;
}

/* Scroll-hide: slides fully off-screen on scroll-down, back on scroll-up.
   Only meaningful together with Sticky (position: fixed) — a static bar
   already scrolls away with the page on its own. */
.udock-bottom-nav.udock-scroll-hide-enabled {
	transition: transform 0.3s ease;
}
.udock-bottom-nav.udock-scroll-hide-enabled.udock-scrolled-down {
	transform: translateY(100%);
}

/* Glassmorphism background */
.udock-bottom-nav.udock-glass {
	-webkit-backdrop-filter: blur(var(--udock-glass-blur, 12px));
	backdrop-filter: blur(var(--udock-glass-blur, 12px));
}
.udock-bottom-nav.udock-glass:not(.udock-glass-no-border)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	pointer-events: none;
}
.udock-bottom-nav.udock-static {
	position: relative;
}

.udock-bottom-nav.udock-safe-area {
	height: calc(var(--udock-height, 60px) + env(safe-area-inset-bottom, 0px));
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

@media (max-width: 782px) {
	.udock-bottom-nav {
		display: flex;
	}
	/* Prevents the site content from being hidden behind the fixed bar */
	body {
		padding-bottom: var(--udock-height, 60px);
	}
}

.udock-nav-item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	text-decoration: none !important;
	position: relative;
	padding: 4px 2px;
	-webkit-tap-highlight-color: transparent;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	transition: transform .1s ease;
}
/* Keep theme link interaction styles from bleeding into UnoDock items.
   Some themes paint anchors on hover/focus/active, which is especially
   visible as an opaque rectangle inside floating bar styles. */
.udock-bottom-nav .udock-nav-item,
.udock-bottom-nav .udock-nav-item:hover,
.udock-bottom-nav .udock-nav-item:focus,
.udock-bottom-nav .udock-nav-item:focus-visible,
.udock-bottom-nav .udock-nav-item:active {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
}
.udock-bottom-nav .udock-nav-item::before,
.udock-bottom-nav .udock-nav-item::after {
	content: none !important;
	display: none !important;
}

.udock-nav-item:active {
	transform: scale(0.88);
}
.udock-nav-item:active .udock-nav-icon-wrap {
	opacity: 0.75;
}

/* Label below the icon (default): icon first, label after, in normal order */
.udock-nav-item.udock-label-bottom {
	flex-direction: column;
}
/* Label above the icon: the label is already output before the icon in the
   markup, so normal (non-reversed) column order already places it on top */
.udock-nav-item.udock-label-top {
	flex-direction: column;
}

.udock-nav-icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--udock-icon-size, 22px);
}

/* Real WhatsApp brand glyph (Font Awesome Free, CC BY 4.0), used via CSS
   mask so it inherits the button's icon color like the font-based icons.
   Automatically shown for "WhatsApp" link-type buttons. */
.udock-icon-whatsapp {
	display: inline-block;
	width: var(--udock-icon-size, 22px);
	height: var(--udock-icon-size, 22px);
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");
}
.udock-nav-item.udock-active .udock-icon-whatsapp {
	background-color: var(--udock-icon-active, #16E2F5);
}

.udock-nav-item i {
	font-size: var(--udock-icon-size, 22px);
	color: var(--udock-icon, #808080);
	transition: color .15s ease;
}
/* WordPress' own .dashicons rule pins a fixed 20x20px box, which would
   otherwise override the --udock-icon-size sizing above. */
.udock-nav-item i.dashicons {
	width: auto;
	height: auto;
}

.udock-nav-label {
	font-size: var(--udock-font-size, 11px);
	color: var(--udock-button-text, var(--udock-text, #808080));
	line-height: 1.2;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-transform: none !important;
	letter-spacing: normal !important;
	font-weight: normal;
	position: relative;
	padding-bottom: 3px;
}

.udock-nav-item.udock-active i {
	color: var(--udock-icon-active, #16E2F5);
}

.udock-nav-item.udock-active .udock-nav-label {
	color: var(--udock-button-text-active, var(--udock-button-text, var(--udock-text, #808080)));
}

/* Active button: text color never changes — instead, an underline animates
   in from left to right beneath the label. */
.udock-bottom-nav:not(.udock-underline-off) .udock-nav-item.udock-active .udock-nav-label::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--udock-underline, #16E2F5);
	border-radius: 2px;
	transform-origin: left;
	animation: udock-underline-grow 0.4s ease forwards;
}

@keyframes udock-underline-grow {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}

/* Icon background (any button: solid color or gradient) */
.udock-icon-bg {
	width: calc(var(--udock-icon-size, 22px) * 1.9);
	height: calc(var(--udock-icon-size, 22px) * 1.9);
	border-radius: 50%;
	box-sizing: border-box;
}

.udock-icon-filled {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.udock-wishlist-count-badge {
	position: absolute;
	top: -4px;
	right: -8px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	background: #ec4899;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	border-radius: 20px;
	box-shadow: 0 0 0 2px var(--udock-bg, #ffffff);
}
.udock-wishlist-count-badge:empty {
	display: none;
}
.udock-cart-count-badge {
	position: absolute;
	top: -4px;
	right: -8px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	background: #ef4444;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	border-radius: 20px;
	box-shadow: 0 0 0 2px var(--udock-bg, #ffffff);
}
.udock-cart-count-badge:empty {
	display: none;
}

/* ---------------------------------------------------------
 * Search overlay — UnoizeStudio pill search.
 * ------------------------------------------------------- */
.udock-search-overlay{position:fixed;inset:0;z-index:calc(var(--udock-zindex,9999) + 1);display:flex;align-items:flex-end;justify-content:center;padding:18px 14px calc(82px + env(safe-area-inset-bottom,0px));box-sizing:border-box;background:rgba(11,15,25,.12);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.udock-search-overlay.udock-open{opacity:1;visibility:visible;pointer-events:auto}
.udock-search-shell{display:flex;align-items:center;gap:9px;width:min(620px,100%);transform:translateY(12px) scale(.985);opacity:.2;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .18s ease}
.udock-search-overlay.udock-open .udock-search-shell{transform:translateY(0) scale(1);opacity:1}
.udock-search-form{display:flex;align-items:center;gap:9px;flex:1;min-width:0;min-height:54px;padding:6px 7px 6px 17px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 18px 42px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-sizing:border-box}
.udock-search-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;color:#6b7280}
.udock-search-icon svg,.udock-search-submit svg{display:block;width:100%;height:100%}
.udock-search-overlay .udock-search-form .udock-search-input{flex:1;min-width:0;height:40px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:#172033!important;-webkit-text-fill-color:#172033!important;caret-color:#249df0!important;opacity:1!important;font:inherit;font-size:15px;line-height:40px;-webkit-appearance:none;appearance:none}
.udock-search-overlay .udock-search-form .udock-search-input::placeholder{color:#98a2b3!important;-webkit-text-fill-color:#98a2b3!important;opacity:1!important}
.udock-search-input::-webkit-search-cancel-button{-webkit-appearance:none}
.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill,.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill:hover,.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill:focus{-webkit-text-fill-color:#172033!important;caret-color:#249df0!important;-webkit-box-shadow:0 0 0 1000px transparent inset!important;transition:background-color 9999s ease-out 0s}
.udock-search-context{display:none;align-items:center;justify-content:center;flex:0 0 auto;min-height:25px;padding:0 9px;border-radius:999px;background:linear-gradient(135deg,rgba(36,157,240,.11),rgba(139,92,246,.12));color:#5572c9;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.udock-search-context.is-visible{display:inline-flex}
.udock-search-submit{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;margin:0;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,#249df0,#7c5cff);color:#fff;box-shadow:0 8px 18px rgba(66,114,255,.27);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,box-shadow .14s ease}
.udock-search-submit svg{width:18px;height:18px}
.udock-search-submit:active{transform:scale(.92)}
.udock-search-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;margin:0;padding:0;border:1px solid rgba(148,163,184,.22);border-radius:50%;background:rgba(255,255,255,.92);color:#667085;box-shadow:0 12px 30px rgba(15,23,42,.14);font-size:24px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,background .14s ease}
.udock-search-close span{display:block;transform:translateY(-1px)}
.udock-search-close:active{transform:scale(.9)}
.udock-search-submit:focus-visible,.udock-search-close:focus-visible{outline:2px solid #249df0;outline-offset:3px}
@media(prefers-color-scheme:dark){.udock-search-overlay{background:rgba(2,6,15,.26)}.udock-search-form{background:rgba(18,24,36,.94);border-color:rgba(148,163,184,.20);box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06)}.udock-search-icon{color:#9ca8ba}.udock-search-overlay .udock-search-form .udock-search-input{color:#f4f7fb!important;-webkit-text-fill-color:#f4f7fb!important;caret-color:#73bdf7!important}.udock-search-overlay .udock-search-form .udock-search-input::placeholder{color:#7e899c!important;-webkit-text-fill-color:#7e899c!important;opacity:1!important}.udock-search-context{background:linear-gradient(135deg,rgba(36,157,240,.18),rgba(139,92,246,.20));color:#b9c9ff}.udock-search-close{background:rgba(18,24,36,.94);border-color:rgba(148,163,184,.20);color:#cbd5e1;box-shadow:0 12px 30px rgba(0,0,0,.28)}}
@media(prefers-color-scheme:dark){.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill,.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill:hover,.udock-search-overlay .udock-search-form .udock-search-input:-webkit-autofill:focus{-webkit-text-fill-color:#f4f7fb!important;caret-color:#73bdf7!important}}
@media(max-width:520px){.udock-search-overlay{padding-left:10px;padding-right:10px}.udock-search-shell{gap:7px}.udock-search-form{min-height:50px;padding-left:14px}.udock-search-submit{flex-basis:38px;width:38px;height:38px}.udock-search-close{flex-basis:42px;width:42px;height:42px}.udock-search-context{padding:0 7px;font-size:9px}}

/* Floating bar */
.udock-bottom-nav.udock-style-floating{border-radius:var(--udock-floating-radius,18px)}.udock-bottom-nav.udock-style-floating.udock-sticky{left:var(--udock-floating-side,12px);right:var(--udock-floating-side,12px);bottom:var(--udock-floating-gap,10px);width:auto}.udock-bottom-nav.udock-style-floating.udock-safe-area{height:var(--udock-height,60px);padding-bottom:0}.udock-bottom-nav.udock-style-floating.udock-sticky.udock-safe-area{bottom:calc(var(--udock-floating-gap,10px) + env(safe-area-inset-bottom,0px))}.udock-bottom-nav.udock-style-floating.udock-static{left:auto;right:auto;width:calc(100% - (var(--udock-floating-side,12px) * 2));margin:var(--udock-floating-gap,10px) var(--udock-floating-side,12px)}.udock-bottom-nav.udock-style-floating.udock-scroll-hide-enabled.udock-scrolled-down{transform:translateY(calc(100% + var(--udock-floating-gap,10px) + env(safe-area-inset-bottom,0px) + 3px))}




/* Dock Bar — slim base with icons visually elevated above the surface. */
.udock-bottom-nav.udock-style-dock {
	background: transparent;
	box-shadow: none;
	align-items: stretch;
}
.udock-bottom-nav.udock-style-dock::before { display:none!important; }
.udock-bottom-nav.udock-style-dock > .udock-dock-surface {
	position:absolute;
	left:0;right:0;bottom:0;
	top:14px;
	z-index:0;
	background:var(--udock-bg,#fff);
	border-radius:16px 16px 0 0;
	box-shadow:0 -2px 10px rgba(0,0,0,.07);
	pointer-events:none;
}
.udock-bottom-nav.udock-style-dock.udock-glass > .udock-dock-surface {
	-webkit-backdrop-filter:blur(var(--udock-glass-blur,12px));
	backdrop-filter:blur(var(--udock-glass-blur,12px));
}
.udock-bottom-nav.udock-style-dock.udock-glass:not(.udock-glass-no-border) > .udock-dock-surface {
	box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 -2px 10px rgba(0,0,0,.07);
}
.udock-bottom-nav.udock-style-dock > .udock-nav-item,
.udock-bottom-nav.udock-style-dock > .udock-drag-handle { position:relative;z-index:2; }
.udock-bottom-nav.udock-style-dock > .udock-nav-item { padding-top:1px;padding-bottom:1px; }
.udock-bottom-nav.udock-style-dock > .udock-nav-item .udock-nav-icon-wrap {
	transform:translateY(-4px);
	transition:transform .12s ease,color .12s ease;
	z-index:1;
}
.udock-bottom-nav.udock-style-dock > .udock-nav-item .udock-nav-icon-wrap::before {
	content:"";
	position:absolute;
	left:50%;top:50%;
	width:calc(var(--udock-icon-size,22px) + 18px);
	height:calc(var(--udock-icon-size,22px) + 18px);
	border-radius:13px;
	background:var(--udock-dock-active-bg,var(--udock-bg,#fff));
	box-shadow:0 6px 16px rgba(0,0,0,.11);
	opacity:0;
	transform:translate(-50%,-50%) scale(.9);
	transition:opacity .12s ease,transform .12s ease;
	pointer-events:none;
	z-index:-1;
}
.udock-bottom-nav.udock-style-dock > .udock-nav-item.udock-active .udock-nav-icon-wrap {
	transform:translateY(-8px);
}
.udock-bottom-nav.udock-style-dock > .udock-nav-item.udock-active .udock-nav-icon-wrap::before {
	opacity:1;
	transform:translate(-50%,-50%) scale(1);
}
.udock-bottom-nav.udock-style-dock > .udock-nav-item .udock-nav-label { transform:translateY(-1px); }
.udock-bottom-nav.udock-style-dock.udock-scroll-hide-enabled.udock-scrolled-down { transform:translateY(100%); }
@media (prefers-reduced-motion: reduce) {
	.udock-bottom-nav.udock-style-dock > .udock-nav-item .udock-nav-icon-wrap,
	.udock-bottom-nav.udock-style-dock > .udock-nav-item .udock-nav-icon-wrap::before { transition:none!important; }
}



/* --------------------------------------------------------------------------
 * Icon metric isolation
 * Keep third-party theme/builder typography from shifting UnoDock glyphs.
 * Templates often switch icon packs, which used to expose inconsistent
 * baselines inherited from site CSS even though the template did not change
 * bar/icon dimensions.
 * -------------------------------------------------------------------------- */
.udock-bottom-nav .udock-nav-icon-wrap {
	line-height: 1 !important;
	font-size: var(--udock-icon-size, 22px);
	vertical-align: middle !important;
}
.udock-bottom-nav .udock-nav-icon-wrap > i,
.udock-bottom-nav .udock-nav-icon-wrap > .udock-icon-whatsapp,
.udock-bottom-nav .udock-nav-icon-wrap > span[class^="udock-icon-"],
.udock-bottom-nav .udock-nav-icon-wrap > span[class*=" udock-icon-"] {
	display: block !important;
	position: static !important;
	float: none !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	margin: 0 !important;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
	top: auto !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	inset: auto !important;
	transform: none !important;
	translate: none !important;
	rotate: none !important;
	scale: none !important;
}
.udock-bottom-nav .udock-nav-icon-wrap > i::before {
	display: block !important;
	position: static !important;
	line-height: 1 !important;
	vertical-align: middle !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}


/* Theme color isolation — UnoDock-controlled visual colors must win over theme/builder CSS. */
.udock-bottom-nav:not(.udock-style-dock){background:var(--udock-bg,#fff)!important}
.udock-bottom-nav .udock-nav-item,
.udock-bottom-nav .udock-nav-item:hover,
.udock-bottom-nav .udock-nav-item:focus,
.udock-bottom-nav .udock-nav-item:focus-visible,
.udock-bottom-nav .udock-nav-item:active{background-color:transparent!important;background-image:none!important}
.udock-bottom-nav .udock-nav-item i,
.udock-bottom-nav .udock-nav-item .udock-icon-whatsapp{color:var(--udock-icon,#808080)!important}
.udock-bottom-nav .udock-nav-item.udock-active i,
.udock-bottom-nav .udock-nav-item.udock-active .udock-icon-whatsapp{color:var(--udock-icon-active,#16E2F5)!important}
.udock-bottom-nav .udock-icon-whatsapp{background-color:currentColor!important}
.udock-bottom-nav .udock-nav-label{color:var(--udock-button-text,var(--udock-text,#808080))!important}
.udock-bottom-nav .udock-nav-item.udock-active .udock-nav-label{color:var(--udock-button-text-active,var(--udock-button-text,var(--udock-text,#808080)))!important}
.udock-bottom-nav:not(.udock-underline-off) .udock-nav-item.udock-active .udock-nav-label::after{background:var(--udock-underline,#16E2F5)!important}
.udock-bottom-nav.udock-style-dock{background:transparent!important}
.udock-bottom-nav.udock-style-dock>.udock-dock-surface{background:var(--udock-bg,#fff)!important}
.udock-bottom-nav.udock-style-dock>.udock-nav-item .udock-nav-icon-wrap::before{background:var(--udock-dock-active-bg,var(--udock-bg,#fff))!important}
.udock-cart-count-badge{background:#ef4444!important;color:#fff!important}
.udock-wishlist-count-badge{background:#ec4899!important;color:#fff!important}
.udock-search-overlay{background:rgba(11,15,25,.12)!important}
.udock-search-form{background:rgba(255,255,255,.94)!important;border-color:rgba(148,163,184,.24)!important}
.udock-search-icon{color:#6b7280!important}
.udock-search-context{background:linear-gradient(135deg,rgba(36,157,240,.11),rgba(139,92,246,.12))!important;color:#5572c9!important}
.udock-search-submit{background:linear-gradient(135deg,#249df0,#7c5cff)!important;color:#fff!important;border-color:transparent!important}
.udock-search-submit svg,.udock-search-icon svg{color:inherit!important}
.udock-search-submit svg path,.udock-search-icon svg path{stroke:currentColor!important}
.udock-search-close{background:rgba(255,255,255,.92)!important;border-color:rgba(148,163,184,.22)!important;color:#667085!important}
@media(prefers-color-scheme:dark){
.udock-search-overlay{background:rgba(2,6,15,.26)!important}
.udock-search-form{background:rgba(18,24,36,.94)!important;border-color:rgba(148,163,184,.20)!important}
.udock-search-icon{color:#9ca8ba!important}
.udock-search-context{background:linear-gradient(135deg,rgba(36,157,240,.18),rgba(139,92,246,.20))!important;color:#b9c9ff!important}
.udock-search-close{background:rgba(18,24,36,.94)!important;border-color:rgba(148,163,184,.20)!important;color:#cbd5e1!important}
}

/* Interaction highlight isolation: keep mobile taps app-like and prevent theme/browser click flashes. */
.udock-bottom-nav a,
.udock-bottom-nav button,
.udock-search-overlay a,
.udock-search-overlay button {
	-webkit-tap-highlight-color: transparent !important;
	-webkit-touch-callout: none;
}
.udock-bottom-nav a:focus:not(:focus-visible),
.udock-bottom-nav button:focus:not(:focus-visible),
.udock-search-overlay a:focus:not(:focus-visible),
.udock-search-overlay button:focus:not(:focus-visible),
.udock-bottom-nav a:active,
.udock-bottom-nav button:active,
.udock-search-overlay a:active,
.udock-search-overlay button:active {
	outline: none !important;
}
.udock-bottom-nav .udock-nav-item:hover,
.udock-bottom-nav .udock-nav-item:focus,
.udock-bottom-nav .udock-nav-item:active {
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}
/* Keyboard users still receive a deliberate UnoDock focus indicator; touch taps do not. */
.udock-bottom-nav .udock-nav-item:focus-visible,
.udock-search-submit:focus-visible,
.udock-search-close:focus-visible {
	outline: 2px solid #249df0 !important;
	outline-offset: 2px !important;
}

/* Glass isolation for styles with transparent outer wrappers.
   Blur belongs only to the actual bar surface, never to the wrapper area. */
.udock-bottom-nav.udock-style-dock.udock-glass {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}

/* Glass blur ownership — keep the transparent wrapper clean while preserving
   the user-selected blur intensity on the real visible bar surface. */
.udock-bottom-nav.udock-glass:not(.udock-style-dock) {
	-webkit-backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
	backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
}
.udock-bottom-nav.udock-style-dock.udock-glass > .udock-dock-surface {
	-webkit-backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
	backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
}



/* Glass backdrop-root fix — the real surface must see the page behind the nav.
   Do not isolate transparent-wrapper styles: isolation would prevent the child
   surface backdrop-filter from sampling the page behind UnoDock. */
.udock-bottom-nav.udock-style-dock {
	isolation: auto !important;
}


/* Glass fallback for transparent-wrapper Dock geometry.
   Keep the translucent tint, but avoid backdrop blur to prevent wrapper artifacts. */
.udock-bottom-nav.udock-style-dock.udock-glass > .udock-dock-surface {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}


/* Glass wrapper fallback — reliable blur for transparent-wrapper geometries.
   These bar types need the outer wrapper to own the backdrop sampling. Keep the
   support layer almost transparent so the page remains visually clean while the
   user-selected Blur intensity still produces a real glass effect. */
.udock-bottom-nav.udock-style-dock.udock-glass {
	background: rgba(255,255,255,.018) !important;
	-webkit-backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
	backdrop-filter: blur(var(--udock-glass-blur, 12px)) !important;
}
.udock-bottom-nav.udock-style-dock.udock-glass > .udock-dock-surface {
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
}
