/* ============================================================
   GoLo Winch — Header (search, account/cart icons, cart drawer)
   Colours from the Elementor global palette; orange-led, no blue.
   ============================================================ */

body {
	--gh-accent:   var(--e-global-color-accent, #ff5600);
	--gh-accent-2: var(--e-global-color-secondary, #ff5600);
	--gh-ink:      var(--e-global-color-text, #181b22);
	--gh-muted:    #69707c;
	--gh-line:     #e5e8ed;
	--gh-line-2:   #eef1f4;
	--gh-mist:     #f6f7f9;
}

/* ============================================================
   Search field (Xpro search, layout-2)
   ============================================================ */
#searchform.xpro-elementor-search-wrapper .xpro-elementor-search-input-group {
	display: flex;
	align-items: center;
	min-width: 240px;
	background: #fff;
	border: 1.5px solid var(--gh-line);
	border-radius: 5px;
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}
#searchform.xpro-elementor-search-wrapper .xpro-elementor-search-input-group:focus-within {
	border-color: var(--gh-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gh-accent) 15%, transparent);
}
#searchform input.field.form-control,
#searchform input.field.form-control:focus {
	flex: 1;
	min-width: 0;
	height: auto;
	margin: 0;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 11px 8px 11px 18px;
	font-size: 14px;
	color: var(--gh-ink);
}
#searchform input.field.form-control::placeholder { color: var(--gh-muted); }
/* Xpro layout-2 makes the button position:absolute / transparent on the LEFT.
   Override it into a solid orange round button on the RIGHT (note the !important
   — Xpro sets background/width/position with !important). */
#searchform.xpro-elementor-search-layout-2 .xpro-elementor-search-input-group > input,
#searchform input.field.form-control {
	padding-left: 18px !important;
}
#searchform .xpro-elementor-search-button {
	position: static !important;
	order: 2;
	flex: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	margin: 3px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 5px !important;
	background-color: var(--gh-accent) !important;
	color: #fff !important;
	cursor: pointer;
	transition: background-color .15s ease, transform .12s ease;
}
#searchform .xpro-elementor-search-button:hover { background-color: var(--gh-accent-2) !important; transform: scale(1.04); }
#searchform .xpro-elementor-search-button svg,
#searchform .xpro-elementor-search-button i {
	width: 17px !important;
	height: 17px !important;
	margin: 0 !important;
	fill: #fff !important;
	color: #fff !important;
	font-size: 15px;
}

/* ============================================================
   Account + cart icons
   ============================================================ */
a.elementor-icon[href*="/cart/"],
a.elementor-icon[href*="/cart"],
a.elementor-icon[href*="my-account"] {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	color: var(--gh-ink) !important;
	transition: background-color .15s ease;
}
a.elementor-icon[href*="/cart/"]:hover,
a.elementor-icon[href*="/cart"]:hover,
a.elementor-icon[href*="my-account"]:hover {
	background: color-mix(in srgb, var(--gh-accent) 10%, transparent);
}

/* swap the theme's blue icons for modern custom icons (drawn with a mask so we
   control colour + hover) */
a.elementor-icon[href*="/cart/"] svg,
a.elementor-icon[href*="/cart"] svg,
a.elementor-icon[href*="my-account"] svg { display: none !important; }

a.elementor-icon[href*="/cart/"]::before,
a.elementor-icon[href*="my-account"]::before {
	content: "";
	width: 23px;
	height: 23px;
	background-color: var(--gh-ink);
	-webkit-mask: center / contain no-repeat;
	mask: center / contain no-repeat;
	transition: background-color .15s ease;
}
a.elementor-icon[href*="/cart/"]:hover::before,
a.elementor-icon[href*="my-account"]:hover::before { background-color: var(--gh-accent); }

/* outline (stroke) icons — Feather-style. Only the stroke alpha shows through
   the mask, so background-color paints the outline (ink → orange on hover). */
a.elementor-icon[href*="my-account"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
a.elementor-icon[href*="/cart/"]::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
}

/* cart count badge */
.golo-cart-count {
	position: absolute;
	top: -1px;
	right: -1px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--gh-accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
	border: 2px solid #fff;
	font-variant-numeric: tabular-nums;
	pointer-events: none;
}
.golo-cart-count.is-empty { display: none; }

/* ============================================================
   Cart drawer  (redesigned)
   ============================================================ */
.golo-cart-overlay {
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(13, 17, 28, .55);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .3s ease;
}
.golo-cart-overlay[hidden] { display: none; }
body.golo-cart-open .golo-cart-overlay { opacity: 1; }

.golo-cart-drawer {
	position: fixed;
	top: 0;
	inset-inline-end: 0;
	right: 0;
	height: 100%;
	width: 420px;
	max-width: 92vw;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	background: var(--gh-mist);
	transform: translateX(105%);
	transition: transform .42s cubic-bezier(.16, 1, .3, 1);
	box-shadow: -30px 0 80px -30px rgba(13, 17, 40, .5);
	font-family: var(--e-global-typography-primary-font-family, system-ui, sans-serif);
}
.golo-cart-drawer.is-open { transform: translateX(0); }

/* ---- Header ---- */
.golo-cart-drawer__head {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: none;
	padding: 20px 22px;
	background: #fff;
	border-bottom: 1px solid var(--gh-line);
}
.golo-cart-drawer__title {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 17px;
	font-weight: 800;
	color: var(--gh-ink);
	letter-spacing: -.015em;
}
.golo-cart-drawer__title-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: none;
	border-radius: 5px;
	background: color-mix(in srgb, var(--gh-accent) 12%, transparent);
	color: var(--gh-accent);
}
.golo-cart-drawer__title-icon svg { width: 20px; height: 20px; }
.golo-cart-drawer__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--gh-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}
.golo-cart-drawer__count .golo-cart-count {
	position: static;
	border: 0;
	background: none;
	color: inherit;
	padding: 0;
	min-width: 0;
	height: auto;
	font-size: inherit;
	font-weight: inherit;
	font-variant-numeric: tabular-nums;
}
.golo-cart-drawer__count .golo-cart-count.is-empty { display: inline; }
.golo-cart-drawer__count:has(.golo-cart-count.is-empty) { display: none; }
/* scoped + !important so the Elementor kit's global button{} style (orange fill,
   square, full-width in some contexts) can't turn the close icon into a button */
.golo-cart-drawer .golo-cart-drawer__close {
	flex: 0 0 auto !important;
	margin-inline-start: auto;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	min-width: 0 !important;
	max-width: 38px !important;
	height: 38px !important;
	padding: 0 !important;
	background: var(--gh-mist) !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: var(--gh-muted) !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.golo-cart-drawer .golo-cart-drawer__close svg { width: 18px; height: 18px; }
.golo-cart-drawer .golo-cart-drawer__close:hover {
	background: var(--gh-accent) !important;
	color: #fff !important;
	transform: rotate(90deg);
}

/* ---- Body: scrollable item list, footer stays pinned ---- */
.golo-cart-drawer__body {
	flex: 1;
	min-height: 0;
	display: flex;
	padding: 0;
	overflow: hidden;
}
.golo-cart-drawer .widget_shopping_cart_content {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

/* mini-cart item list (scrolls) */
.golo-cart-drawer ul.woocommerce-mini-cart,
.golo-cart-drawer ul.cart_list {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
	margin: 0;
	padding: 14px 18px;
}
.golo-cart-drawer li.woocommerce-mini-cart-item,
.golo-cart-drawer ul.cart_list li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px;
	margin: 0 0 10px;
	background: #fff;
	border: 1px solid var(--gh-line-2);
	border-radius: 5px;
	box-shadow: 0 1px 2px rgba(15, 20, 40, .04);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.golo-cart-drawer li.woocommerce-mini-cart-item:hover {
	border-color: var(--gh-line);
	box-shadow: 0 6px 18px -10px rgba(15, 20, 40, .3);
}
.golo-cart-drawer li.woocommerce-mini-cart-item:last-child,
.golo-cart-drawer ul.cart_list li:last-child { margin-bottom: 0; }
.golo-cart-drawer li.woocommerce-mini-cart-item img,
.golo-cart-drawer ul.cart_list li img {
	order: -1;
	width: 64px;
	height: 64px;
	flex: none;
	margin: 0;
	object-fit: contain;
	border: 1px solid var(--gh-line-2);
	border-radius: 5px;
	background: #fff;
}
/* Blocksy's mini-cart wraps the thumbnail in a.ct-media-container, whose
   theme width:100% makes it swallow the whole flex row and crush the
   title/quantity — pin the CONTAINER to a fixed 64px tile and let the
   img fill it (single border on the tile, not the img). */
.golo-cart-drawer li.woocommerce-mini-cart-item .ct-media-container,
.golo-cart-drawer ul.cart_list li .ct-media-container {
	order: -1;
	flex: 0 0 64px;
	width: 64px !important;
	max-width: 64px;
	height: 64px;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--gh-line-2);
	border-radius: 5px;
	background: #fff;
}
.golo-cart-drawer li.woocommerce-mini-cart-item .ct-media-container img,
.golo-cart-drawer ul.cart_list li .ct-media-container img {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
}
/* the text column next to the tile */
.golo-cart-drawer li.woocommerce-mini-cart-item .product-data,
.golo-cart-drawer ul.cart_list li .product-data {
	flex: 1 1 auto;
	min-width: 0;
}
.golo-cart-drawer li.woocommerce-mini-cart-item a:not(.remove) {
	display: block;
	padding-right: 22px;
	color: var(--gh-ink);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.35;
}
.golo-cart-drawer li.woocommerce-mini-cart-item a:not(.remove):hover { color: var(--gh-accent-2); }
.golo-cart-drawer .woocommerce-mini-cart-item .quantity {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 8px;
	color: var(--gh-muted);
	font-size: 13px;
	font-weight: 600;
}
.golo-cart-drawer .woocommerce-mini-cart-item .quantity .amount { color: var(--gh-ink); font-weight: 700; }
.golo-cart-drawer a.remove,
.golo-cart-drawer a.remove_from_cart_button {
	position: absolute !important;
	top: 10px;
	right: 10px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	line-height: 1 !important;
	text-align: center;
	border-radius: 50%;
	background: var(--gh-mist);
	color: var(--gh-muted) !important;
	font-size: 15px;
	transition: background-color .15s ease, color .15s ease;
}
.golo-cart-drawer a.remove:hover,
.golo-cart-drawer a.remove_from_cart_button:hover { background: var(--gh-accent) !important; color: #fff !important; }

/* ---- Footer: total + actions (pinned to bottom) ---- */
.golo-cart-drawer .woocommerce-mini-cart__total {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 22px 14px;
	margin: 0;
	background: #fff;
	border-top: 1px solid var(--gh-line);
	font-size: 15px;
	font-weight: 600;
	color: var(--gh-ink);
}
.golo-cart-drawer .woocommerce-mini-cart__total strong { font-weight: 700; }
.golo-cart-drawer .woocommerce-mini-cart__total .amount { color: var(--gh-accent-2); font-weight: 800; font-size: 19px; }

.golo-cart-drawer .woocommerce-mini-cart__buttons {
	flex: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0 22px 22px;
	background: #fff;
}
.golo-cart-drawer .woocommerce-mini-cart__buttons a {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 16px;
	border-radius: 5px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .01em;
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.golo-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background: #fff;
	color: var(--gh-ink);
	border: 1.5px solid var(--gh-line);
}
.golo-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { border-color: var(--gh-ink); background: var(--gh-mist); }
.golo-cart-drawer .woocommerce-mini-cart__buttons a.checkout,
.golo-cart-drawer .woocommerce-mini-cart__buttons a.checkout.wc-forward {
	background: var(--gh-accent);
	color: #fff;
	border: 0;
	box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--gh-accent) 65%, transparent);
}
.golo-cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover {
	background: var(--gh-accent-2);
	transform: translateY(-1px);
	box-shadow: 0 12px 22px -8px color-mix(in srgb, var(--gh-accent) 70%, transparent);
}


/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
	#searchform.xpro-elementor-search-wrapper .xpro-elementor-search-input-group { min-width: 180px; }
}
@media (max-width: 767px) {
	#searchform.xpro-elementor-search-wrapper .xpro-elementor-search-input-group { min-width: 0; width: 100%; }
	a.elementor-icon[href*="/cart/"],
	a.elementor-icon[href*="/cart"],
	a.elementor-icon[href*="my-account"] { width: 40px; height: 40px; }
	.golo-cart-drawer { width: 100%; max-width: 100%; }
}

/* ============================================================
   Mobile nav menu  (Xpro horizontal menu — push-right panel)
   Modernised slide-in drawer + animated hamburger → X.
   Scoped to the tablet/mobile breakpoint (≤1024px) where Xpro collapses
   the nav into the toggle panel, so the desktop nav is untouched.
   ============================================================ */
@media (max-width: 1024px) {

	/* ---- Hamburger toggler → custom animated icon ---- */
	.xpro-elementor-horizontal-menu-toggler {
		flex: 0 0 auto !important;
		width: 46px !important;
		min-width: 0 !important;
		max-width: 46px !important;
		height: 46px !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: var(--gh-mist) !important;
		border: 1px solid var(--gh-line) !important;
		border-radius: 5px !important;
		color: var(--gh-accent) !important;
		box-shadow: none !important;
		text-transform: none !important;
		cursor: pointer;
		transition: background-color .15s ease, border-color .15s ease;
	}
	.xpro-elementor-horizontal-menu-toggler:hover {
		background: color-mix(in srgb, var(--gh-accent) 10%, #fff) !important;
		border-color: color-mix(in srgb, var(--gh-accent) 40%, var(--gh-line)) !important;
	}

	/* repurpose the Font Awesome <i> as the middle bar; its ::before becomes the
	   top bar and we add an ::after for the bottom bar (3-line hamburger) */
	.xpro-elementor-horizontal-menu-toggler i {
		display: block;
		position: relative;
		width: 22px;
		height: 2px;
		color: var(--gh-accent) !important;
		background: currentColor;
		border-radius: 2px;
		font-size: 0;
		transition: background-color .2s ease;
	}
	.xpro-elementor-horizontal-menu-toggler i::before,
	.xpro-elementor-horizontal-menu-toggler i::after {
		content: "" !important;
		position: absolute;
		left: 0;
		width: 22px;
		height: 2px;
		background: currentColor;
		border-radius: 2px;
		transition: transform .3s cubic-bezier(.5, .15, .15, 1), top .3s ease;
	}
	.xpro-elementor-horizontal-menu-toggler i::before { top: -7px; }
	.xpro-elementor-horizontal-menu-toggler i::after  { top: 7px; }

	/* morph to an X while the panel is open (panel + toggler share the widget
	   ancestor, so :has() lets us react with no extra JS) */
	.elementor-widget-xpro-horizontal-menu:has(.xpro-elementor-horizontal-navbar-wrapper.active) .xpro-elementor-horizontal-menu-toggler i {
		background: transparent;
	}
	.elementor-widget-xpro-horizontal-menu:has(.xpro-elementor-horizontal-navbar-wrapper.active) .xpro-elementor-horizontal-menu-toggler i::before {
		top: 0;
		transform: rotate(45deg);
	}
	.elementor-widget-xpro-horizontal-menu:has(.xpro-elementor-horizontal-navbar-wrapper.active) .xpro-elementor-horizontal-menu-toggler i::after {
		top: 0;
		transform: rotate(-45deg);
	}

	/* ---- Dim backdrop behind the panel ---- */
	.elementor-widget-xpro-horizontal-menu::before {
		content: "";
		position: fixed;
		inset: 0;
		z-index: 998;
		background: rgba(13, 17, 28, .5);
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .35s ease, visibility .35s ease;
	}
	.elementor-widget-xpro-horizontal-menu:has(.xpro-elementor-horizontal-navbar-wrapper.active)::before {
		opacity: 1;
		visibility: visible;
	}

	/* ---- Slide-in panel ---- */
	.xpro-elementor-horizontal-navbar-wrapper.xpro-elementor-horizontal-menu-responsive-mobile {
		width: 322px !important;
		max-width: 86vw !important;
		display: flex !important;
		flex-direction: column;
		background: #fff !important;
		box-shadow: -24px 0 60px -24px rgba(15, 20, 40, .45);
		padding: 0 !important;
		overflow-y: auto;
		transition: transform .42s cubic-bezier(.16, 1, .3, 1) !important;
	}

	/* ---- Close button → circular, brand hover ---- */
	.xpro-elementor-horizontal-menu-close {
		position: static !important;
		align-self: flex-end;
		flex: 0 0 auto !important;
		width: 42px !important;
		min-width: 0 !important;
		max-width: 42px !important;
		height: 42px !important;
		padding: 0 !important;
		margin: 16px 16px 4px !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: var(--gh-mist) !important;
		color: var(--gh-muted) !important;
		border: 1px solid var(--gh-line) !important;
		border-radius: 5px !important;
		box-shadow: none !important;
		text-transform: none !important;
		cursor: pointer;
		transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .2s ease;
	}
	.xpro-elementor-horizontal-menu-close:hover {
		background: var(--gh-accent) !important;
		color: #fff !important;
		border-color: var(--gh-accent) !important;
		transform: rotate(90deg);
	}
	.xpro-elementor-horizontal-menu-close i { font-size: 16px; }

	/* ---- Menu list + items ---- */
	.xpro-elementor-horizontal-navbar-wrapper .xpro-elementor-horizontal-navbar {
		padding: 4px 16px 28px;
		text-align: left !important;
	}
	ul.xpro-elementor-horizontal-navbar-nav { margin: 0; padding: 0; }
	.xpro-elementor-horizontal-navbar-nav,
	.xpro-elementor-horizontal-navbar-nav .menu-item,
	.xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link { text-align: left !important; }
	.xpro-elementor-horizontal-navbar-nav .menu-item {
		border-bottom: 1px solid var(--gh-line-2);
		/* staggered entrance when the panel opens */
		opacity: 0;
		transform: translateX(26px);
		transition: opacity .4s ease, transform .45s cubic-bezier(.16, 1, .3, 1);
	}
	.xpro-elementor-horizontal-navbar-nav .menu-item:last-child { border-bottom: 0; }
	.xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav .menu-item {
		opacity: 1;
		transform: none;
	}
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(1) { transition-delay: .10s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(2) { transition-delay: .16s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(3) { transition-delay: .22s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(4) { transition-delay: .28s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(5) { transition-delay: .34s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(6) { transition-delay: .40s; }
	.xpro-elementor-horizontal-navbar-wrapper.active .menu-item:nth-child(7) { transition-delay: .46s; }

	.xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link {
		display: block;
		padding: 16px 12px;
		color: var(--gh-ink) !important;
		background: transparent !important;
		font-size: 17px !important;
		font-weight: 700;
		letter-spacing: -.01em;
		border-radius: 5px;
		transition: color .15s ease, background-color .15s ease, padding-left .15s ease;
	}
	.xpro-elementor-horizontal-navbar-nav .xpro-elementor-nav-link:hover,
	.xpro-elementor-horizontal-navbar-nav .current-menu-item > .xpro-elementor-nav-link,
	.xpro-elementor-horizontal-navbar-nav .current_page_item > .xpro-elementor-nav-link {
		color: var(--gh-accent) !important;
		background: color-mix(in srgb, var(--gh-accent) 7%, transparent);
		padding-left: 18px;
	}
}

/* ============================================================
   Cart drawer — empty state (custom block)
   Shown only when the mini-cart is empty (detected via :has on the
   WooCommerce empty-message). Lives outside .widget_shopping_cart_content
   so it survives AJAX fragment refreshes.
   ============================================================ */
.golo-cart-drawer .wc-empty-cart-message,
.golo-cart-drawer .return-to-shop,
.golo-cart-drawer .woocommerce-mini-cart__empty-message { display: none; }

.golo-cart-empty {
	display: none;
	flex: 1;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 40px 32px 52px;
	text-align: center;
}
.golo-cart-drawer__body:has(.cart-empty, .wc-empty-cart-message, .woocommerce-mini-cart__empty-message) .widget_shopping_cart_content { display: none; }
.golo-cart-drawer__body:has(.cart-empty, .wc-empty-cart-message, .woocommerce-mini-cart__empty-message) .golo-cart-empty { display: flex; }

.golo-cart-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--gh-accent) 10%, #fff);
	color: var(--gh-accent);
	box-shadow: 0 16px 36px -20px color-mix(in srgb, var(--gh-accent) 55%, transparent);
}
.golo-cart-empty__icon svg { width: 38px; height: 38px; }
.golo-cart-empty__title {
	margin: 0;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -.015em;
	color: var(--gh-ink);
}
.golo-cart-empty__text {
	margin: 0;
	max-width: 26ch;
	font-size: 14px;
	line-height: 1.55;
	color: var(--gh-muted);
}
.golo-cart-empty__cta {
	margin-top: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 30px;
	border-radius: 5px;
	background: var(--gh-accent);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .01em;
	text-decoration: none;
	box-shadow: 0 10px 22px -10px color-mix(in srgb, var(--gh-accent) 60%, transparent);
	transition: background-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.golo-cart-empty__cta:hover,
.golo-cart-empty__cta:focus {
	background: color-mix(in srgb, var(--gh-accent) 86%, #000);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 26px -10px color-mix(in srgb, var(--gh-accent) 68%, transparent);
}
