/* =====================================================================
   Header + mega menu + mobile drawer
   ===================================================================== */

.site-header {
	position: relative;
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-border);
	z-index: 100;
}
body.has-sticky-header .site-header { position: sticky; top: 0; }

.site-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 2rem;
	min-height: 4.5rem;
	padding-block: .75rem;
}
@media (max-width:768px)
{
	.site-header__inner
{
	gap:0rem;
	display: flex;
	    justify-content: space-between;
}
.site-branding img, .custom-l
{
	padding:5px;
}
}
.site-branding .site-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--c-text);
}
.site-branding img, .custom-logo { max-height: 48px; width: auto; }

/* ---------- Primary nav ---------- */
.primary-nav { display: none; }
@media (min-width: 900px) {
	.primary-nav { display: block; }
}
.menu--primary {
	display: flex;
	gap: 1.5rem;
	align-items: center;
}
.menu--primary > li { position: relative; }
.menu--primary > li > a {
	display: inline-flex;
	align-items: center;
	gap: .25em;
	padding: 1.25rem 0;
	font-weight: 500;
}
.menu--primary > li > a:hover { color: var(--c-primary); text-decoration: none; }
.menu-caret { display: inline-flex; transition: transform .15s ease; }
.menu--primary > li:hover > a .menu-caret { transform: rotate(180deg); }

/* Active / current page */
.menu--primary > li.current-menu-item > a,
.menu--primary > li.current-menu-ancestor > a {
	color: var(--c-primary);
}

/* Invisible hover bridge so the dropdown doesn't close when
   moving the cursor from the link to the panel. */
.menu--primary > li.menu-item-has-children::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 15px;
}

/* Standard dropdown */
.sub-menu--dropdown {
	position: absolute;
	top: calc(100% + 15px);
	left: 0;
	min-width: 220px;
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: .5rem;
	box-shadow: 0 12px 40px rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.04);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility 0s linear .2s;
	list-style: none;
	margin: 0;
}
.sub-menu--dropdown a {
	display: flex;
	align-items: center;
	gap: .5em;
	padding: .55em .85em;
	border-radius: calc(var(--radius) * .5);
	font-size: .9rem;
	color: var(--c-text);
	transition: background .1s ease, color .1s ease;
}
.sub-menu--dropdown a:hover {
	background: var(--c-surface);
	color: var(--c-primary);
	text-decoration: none;
}

.menu--primary > li:hover > .sub-menu--dropdown,
.menu--primary > li:focus-within > .sub-menu--dropdown,
.menu--primary > li[data-open] > .sub-menu--dropdown {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}

/* Nested dropdown (2nd level off standard dropdown) */
.sub-menu--dropdown .sub-menu {
	position: absolute;
	top: -.5rem;
	left: 100%;
	min-width: 200px;
	background: var(--c-bg);
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	padding: .5rem;
	box-shadow: 0 12px 40px rgba(0,0,0,.08);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility 0s linear .2s;
	list-style: none;
	margin: 0;
}
.sub-menu--dropdown li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}
.sub-menu--dropdown > li {
	position: relative;
}
.sub-menu--dropdown > li.menu-item-has-children > a::after {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-right: 1.5px solid var(--c-muted);
	border-bottom: 1.5px solid var(--c-muted);
	transform: rotate(-45deg);
	margin-left: auto;
	flex-shrink: 0;
	transition: border-color .15s ease;
}
.sub-menu--dropdown > li.menu-item-has-children:hover > a::after {
	border-color: var(--c-primary);
}

/* ---------- Mega menu panel ---------- */
.menu-item--mega .sub-menu--dropdown {
	left: 50%;
	transform: translateX(-50%);
	width: var(--mega-width, min(96vw, var(--container-max, 1200px)));
	display: grid;
	grid-template-columns: repeat(var(--mega-cols, 3), 1fr);
	gap: 2rem;
	padding: 2rem 2.5rem;
}
.menu-item--mega-cols-2 .sub-menu--dropdown { --mega-cols: 2; }
.menu-item--mega-cols-3 .sub-menu--dropdown { --mega-cols: 3; }
.menu-item--mega-cols-4 .sub-menu--dropdown { --mega-cols: 4; }
.menu-item--mega:hover > .sub-menu--dropdown,
.menu-item--mega:focus-within > .sub-menu--dropdown,
.menu-item--mega[data-open] > .sub-menu--dropdown {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s;
}
.menu-item--mega .sub-menu--dropdown > li {
	display: block;
}
.menu-item--mega .sub-menu--dropdown > li > a {
	font-weight: 600;
	font-size: .9rem;
	color: var(--c-text);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: .65em;
	padding: 0 0 .5em;
	border-bottom: 1px solid var(--c-border);
}
.menu-item--mega .sub-menu--dropdown > li > a:hover {
	background: transparent;
	color: var(--c-primary);
}
.menu-item--mega .sub-menu--dropdown .sub-menu {
	display: block;
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	min-width: 0;
}
.menu-item--mega .sub-menu--dropdown .sub-menu a {
	display: block;
	padding: .3em 0;
	font-size: .9rem;
	color: var(--c-muted);
	border-radius: 0;
	transition: color .1s ease, padding-left .15s ease;
}
.menu-item--mega .sub-menu--dropdown .sub-menu a:hover {
	color: var(--c-primary);
	background: transparent;
	padding-left: .35em;
}
.mega-menu__widget-col { grid-column: span 1; }

/* ---------- Header actions ---------- */
.header-actions {
	display: flex;
	gap: .25rem;
	align-items: center;
}
.header-action {
	position: relative;
	width: 2.75rem; height: 2.75rem;
	display: inline-flex;
	align-items: center; justify-content: center;
	border-radius: var(--radius);
}
.header-action:hover { background: var(--c-surface); text-decoration: none; }
.header-action--menu { display: flex; }
@media (min-width: 900px) {
	.header-action--menu { display: none; }
}

.cart-count {
	position: absolute; top: 4px; right: 4px;
	min-width: 18px; height: 18px; padding: 0 4px;
	background: var(--c-accent);
	color: #fff; font-size: 11px; font-weight: 600;
	border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
}
.cart-count:empty, .cart-count[data-cart-count="0"] { display: none; }

/* ---------- Search overlay ---------- */
.search-overlay {
	position: absolute; top: 100%; left: 0; right: 0;
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-border);
	box-shadow: 0 10px 30px rgba(0,0,0,.06);
	padding: 1.25rem 0;
	z-index: 250;
	transform: translateY(-8px);
	opacity: 0;
	transition: transform .18s ease, opacity .18s ease;
	overflow: visible;
}
.search-overlay[data-open] { transform: translateY(0); opacity: 1; }
.search-overlay .live-search__results {
	box-shadow: 0 12px 32px rgba(0,0,0,.12);
}

/* ---------- Mobile drawer ---------- */
.mobile-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(100%, 380px);
	background: var(--c-bg);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .25s cubic-bezier(.4, 0, .2, 1);
	z-index: 200;
	box-shadow: -10px 0 40px rgba(0,0,0,.08);
}
.mobile-drawer[data-open] { transform: translateX(0); }

/* Header with title + close */
.mobile-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	border-bottom: 1px solid var(--c-border);
	flex-shrink: 0;
}
.mobile-drawer__title {
	font-size: 1rem;
	font-weight: 600;
	transition: opacity .15s ease;
}
.mobile-drawer__close {
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem;
	border-radius: var(--radius);
	color: var(--c-muted);
	transition: background .15s ease, color .15s ease;
}
.mobile-drawer__close:hover { background: var(--c-surface); color: var(--c-text); }

/* Panels container — clips overflow for slide transitions */
.mobile-drawer__panels {
	flex: 1;
	overflow: hidden;
	position: relative;
}

/* Individual panel */
.mobile-drawer__panel {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: .5rem 0;
	visibility: hidden;
	pointer-events: none;
}
.mobile-drawer__panel[data-panel-active] {
	visibility: visible;
	pointer-events: auto;
	position: relative;
}

/* Slide animations */
@keyframes slideInRight {
	from { transform: translateX(100%); }
	to   { transform: translateX(0); }
}
@keyframes slideInLeft {
	from { transform: translateX(-100%); }
	to   { transform: translateX(0); }
}
@keyframes slideOutLeft {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}
@keyframes slideOutRight {
	from { transform: translateX(0); }
	to   { transform: translateX(100%); }
}
.mobile-drawer__panel.slide-in-right  { animation: slideInRight  .25s ease forwards; visibility: visible; pointer-events: auto; position: absolute; }
.mobile-drawer__panel.slide-in-left   { animation: slideInLeft   .25s ease forwards; visibility: visible; pointer-events: auto; position: absolute; }
.mobile-drawer__panel.slide-out-left  { animation: slideOutLeft  .25s ease forwards; visibility: visible; position: absolute; }
.mobile-drawer__panel.slide-out-right { animation: slideOutRight .25s ease forwards; visibility: visible; position: absolute; }

/* Back button at top of sub-panels */
.mobile-drawer__back {
	display: flex;
	align-items: center;
	gap: .4rem;
	width: 100%;
	padding: .75rem 1.25rem;
	background: none;
	border: none;
	border-bottom: 1px solid var(--c-border);
	font-size: .9rem;
	font-weight: 600;
	color: var(--c-text);
	cursor: pointer;
	text-align: left;
}
.mobile-drawer__back:hover { background: var(--c-surface); }
.mobile-drawer__back svg { flex-shrink: 0; color: var(--c-muted); }

/* "View all X" link in sub-panels */
.mobile-drawer__view-all {
	display: block;
	padding: .6rem 1.25rem;
	font-size: .85rem;
	font-weight: 500;
	color: var(--c-primary);
	text-decoration: none;
	border-bottom: 1px solid var(--c-border);
}
.mobile-drawer__view-all:hover { background: var(--c-surface); }

/* Menu items */
.menu--mobile {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}
.menu--mobile > li {
	position: relative;
}
.menu--mobile > li > a {
	display: block;
	padding: .85rem 1.25rem;
	font-size: .95rem;
	font-weight: 500;
	color: var(--c-text);
	text-decoration: none;
	border-bottom: 1px solid var(--c-border);
	transition: background .1s ease;
}
.menu--mobile > li > a:hover { background: var(--c-surface); }
.menu--mobile > li.current-menu-item > a,
.menu--mobile > li.current-menu-ancestor > a {
	color: var(--c-primary);
}

/* Forward arrow for items with children */
.mobile-drawer__forward {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	border-left: 1px solid var(--c-border);
	color: var(--c-muted);
	cursor: pointer;
	transition: background .1s ease, color .1s ease;
}
.mobile-drawer__forward:hover { background: var(--c-surface); color: var(--c-text); }

/* Prevent the link from extending under the forward button */
.menu--mobile > li.menu-item-has-children > a {
	padding-right: 3.5rem;
}

/* Hide original sub-menus (they get moved into panels by JS) */
.menu--mobile .sub-menu { display: none; }

/* Trust badges in mobile drawer */
.trust-badges--mobile-menu {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	padding: .75rem 1.25rem;
	border-top: 1px solid var(--c-border);
	flex-shrink: 0;
}
.trust-badges--mobile-menu .trust-badge {
	flex: 1 1 calc(50% - .25rem);
	min-width: 0;
	gap: .4rem;
	padding: .45rem .55rem;
	background: var(--c-surface);
	border-radius: var(--radius);
}
.trust-badges--mobile-menu .trust-badge--full { flex: 1 1 100%; }
.trust-badges--mobile-menu .trust-badge__icon { color: var(--c-primary); }
.trust-badges--mobile-menu .trust-badge__title {
	font-size: .75rem;
	font-weight: 600;
}
.trust-badges--mobile-menu .trust-badge__subtitle {
	font-size: .7rem;
}

/* Footer links (Account / Cart) */
.mobile-drawer__footer {
	display: flex;
	border-top: 1px solid var(--c-border);
	flex-shrink: 0;
}
.mobile-drawer__link {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: 1rem;
	font-size: .85rem;
	font-weight: 500;
	color: var(--c-muted);
	text-decoration: none;
	transition: background .1s ease, color .1s ease;
}
.mobile-drawer__link:first-child { border-right: 1px solid var(--c-border); }
.mobile-drawer__link:hover { background: var(--c-surface); color: var(--c-text); }
.mobile-drawer__link svg { flex-shrink: 0; }

body.has-drawer-open { overflow: hidden; }
.drawer-backdrop {
	position: fixed; inset: 0;
	background: rgba(0,0,0,.4);
	z-index: 150;
}

/* ---------- Cart drawer ---------- */
.cart-drawer {
	position: fixed; inset: 0 0 0 auto;
	width: min(100%, 420px);
	background: var(--c-bg);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .25s ease;
	z-index: 200;
	box-shadow: -10px 0 40px rgba(0,0,0,.1);
}
.cart-drawer[data-open] { transform: translateX(0); }

.cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--c-border);
	flex-shrink: 0;
}
.cart-drawer__title {
	font-size: 1.15rem;
	font-weight: 600;
	margin: 0;
}
.cart-drawer__close {
	width: 2.25rem; height: 2.25rem;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.5rem;
	border-radius: var(--radius);
	color: var(--c-muted);
}
.cart-drawer__close:hover { background: var(--c-surface); color: var(--c-text); }

.cart-drawer__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-height: 0;
}

/* Product list scrolls independently */
.cart-drawer__body .woocommerce-mini-cart {
	flex: 1;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 1rem 1.5rem;
	min-height: 0;
}

/* Subtotal + badges + buttons pinned to bottom */
.cart-drawer__body .woocommerce-mini-cart__total,
.cart-drawer__body .woocommerce-mini-cart__buttons,
.cart-drawer__body .free-shipping-bar,
.cart-drawer__body .trust-badges--drawer {
	flex-shrink: 0;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.cart-drawer__body .woocommerce-mini-cart__buttons {
	padding-bottom: 1.5rem;
}

/* Empty state gets normal padding */
.cart-drawer__body .woocommerce-mini-cart__empty-message {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* --- Mini-cart list inside the drawer --- */
.cart-drawer .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
}

/* Each <li> DOM order: 1) a.remove  2) a>img+Name  3) .quantity
   Grid: [thumb] [name + qty] [remove] */
.cart-drawer .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 64px 1fr 28px;
	grid-template-rows: auto auto;
	gap: .15rem .75rem;
	align-items: center;
	padding: .85rem 0;
	border-bottom: 1px solid var(--c-border);
}
.cart-drawer .woocommerce-mini-cart-item:last-child { border-bottom: 0; }

/* Thumbnail link (contains img + product name text) */
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
	grid-column: 1 / 3;
	grid-row: 1;
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 0 .75rem;
	align-items: center;
	text-decoration: none;
}
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--radius);
	grid-row: 1;
}
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove):hover {
	text-decoration: none;
}

/* Product name (text node inside the <a>) */
.cart-drawer .woocommerce-mini-cart-item > a:not(.remove) {
	font-weight: 500;
	font-size: .9rem;
	line-height: 1.35;
	color: var(--c-text);
}

/* Quantity × Price */
.cart-drawer .woocommerce-mini-cart-item .quantity {
	grid-column: 2;
	grid-row: 2;
	font-size: .85rem;
	color: var(--c-muted);
	padding-left: calc(64px + .75rem);
	border: none;
}

/* Remove button — reorder to far right */
.cart-drawer .woocommerce-mini-cart-item > a.remove {
	grid-column: 3;
	grid-row: 1 / 3;
	align-self: center;
	width: 1.75rem; height: 1.75rem;
	display: flex; align-items: center; justify-content: center;
	border-radius: 999px;
	font-size: 1.1rem;
	line-height: 1;
	color: var(--c-muted) !important;
	text-decoration: none !important;
}
.cart-drawer .woocommerce-mini-cart-item > a.remove:hover {
	background: var(--c-accent);
	color: #fff !important;
}

/* Variation data (dl.variation) */
.cart-drawer .woocommerce-mini-cart-item dl.variation {
	grid-column: 2;
	margin: 0;
	padding-left: calc(64px + .75rem);
	font-size: .8rem;
	color: var(--c-muted);
}
.cart-drawer .woocommerce-mini-cart-item dl.variation dt,
.cart-drawer .woocommerce-mini-cart-item dl.variation dd {
	display: inline;
	margin: 0;
}
.cart-drawer .woocommerce-mini-cart-item dl.variation dt::after { content: ": "; }
.cart-drawer .woocommerce-mini-cart-item dl.variation dd::after { content: ""; }

/* --- Totals --- */
.cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1rem 1.5rem .5rem;
	border-top: 1px solid var(--c-border);
	margin: 0;
	font-weight: 600;
	font-size: 1rem;
}

/* --- Buttons (View cart + Checkout) --- */
.cart-drawer .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding-top: .5rem;
}
.cart-drawer .woocommerce-mini-cart__buttons a {
	display: flex;
	width: 100%;
	justify-content: center;
	text-align: center;
	padding: .8em 1.2em;
	border-radius: var(--btn-radius);
	font-weight: 500;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}
.cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
	background: transparent;
	color: var(--c-text);
	border: 1px solid var(--c-border);
}
.cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover {
	background: var(--c-surface);
}
.cart-drawer .woocommerce-mini-cart__buttons a.checkout {
	background: var(--c-btn-bg);
	color: var(--c-btn-text);
	border: 1px solid var(--c-btn-bg);
}
.cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover {
	background: var(--c-btn-hover-bg);
	border-color: var(--c-btn-hover-bg);
}

/* --- Empty state --- */
.cart-drawer .woocommerce-mini-cart__empty-message {
	text-align: center;
	color: var(--c-muted);
	padding: 3rem 1rem;
	font-size: .95rem;
}

/* --- Free shipping progress bar --- */
.free-shipping-bar {
	padding-top: .75rem;
	padding-bottom: .75rem;
	margin-bottom: .25rem;
}
.free-shipping-bar__text {
	font-size: .82rem;
	color: var(--c-text);
	margin: 0 0 .5rem;
	line-height: 1.3;
}
.free-shipping-bar__text--done {
	color: #16a34a;
	display: flex;
	align-items: center;
	gap: .35em;
}
.free-shipping-bar__text--done svg { flex-shrink: 0; }
.free-shipping-bar__track {
	height: 6px;
	background: var(--c-border);
	border-radius: 999px;
	overflow: hidden;
}
.free-shipping-bar__fill {
	height: 100%;
	background: var(--c-primary);
	border-radius: 999px;
	transition: width .4s ease;
}
.free-shipping-bar__fill[style*="100%"] {
	background: #16a34a;
}

/* --- Trust badges in cart drawer --- */
.trust-badges--drawer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
	padding: .75rem 0 .25rem;
}
.trust-badges--drawer .trust-badge--full { grid-column: 1 / -1; }
.trust-badges--drawer .trust-badge {
	gap: .4rem;
	padding: .45rem .55rem;
	background: var(--c-surface);
	border-radius: var(--radius);
}
.trust-badges--drawer .trust-badge__icon { color: var(--c-primary); }
.trust-badges--drawer .trust-badge__title {
	font-size: .75rem;
	font-weight: 600;
}
.trust-badges--drawer .trust-badge__subtitle {
	font-size: .7rem;
}
