/* Header styles, lifted verbatim from Code Snippet #150 "FO - Header Shortcodes".
   Layout and behaviour stay in code; the admin screen only edits content. */

/* ---- Cart widget ---- */
.cart-widget { display: inline-flex; align-items: center; font-family: Arial, sans-serif; }
.cart-link { display: inline-flex; align-items: center; gap: 4px; text-decoration: none; color: #1f5c6d; font-weight: 500; position: relative; }
.cart-link span { font-size: 16px; }
.cart-icon-wrap { position: relative; }
.cart-icon { font-size: 22px; color: #1f5c6d; }
.cart-count {
	position: absolute; top: -8px; right: -6px;
	background: #f4b400; color: #fff; font-size: 11px;
	min-width: 18px; height: 18px; padding: 0 5px;
	border-radius: 50%; display: flex; align-items: center;
	justify-content: center; font-weight: 600;
}
.la-shopping-cart:before { font-size: 24px; }

/* ---- Login widget ---- */
.login-widget { display: inline-flex; align-items: center; }
.login-btn {
	display: inline-flex; align-items: center; gap: 5px;
	background: #008080; color: #fff !important;
	padding: 4px 10px; border-radius: 25px; font-size: 16px;
	text-decoration: none;
}
.login-icon { font-size: 18px; }

/* ---- Mobile hamburger + drawer ---- */
.hamburger-wrap { display: none; }
@media (max-width: 768px) {
	.hamburger-wrap { display: flex; align-items: center; }
	.hamburger-btn { margin-top: 10px; }
}
.hamburger-btn {
	display: flex; flex-direction: column; justify-content: center;
	gap: 5px; background: none; border: none; cursor: pointer;
	padding: 8px; z-index: 10001; position: relative;
}
.hamburger-btn span {
	display: block; width: 24px; height: 3px;
	background: #008080; border-radius: 2px; transition: all .3s ease;
}
.hamburger-btn.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger-btn.is-open span:nth-child(2) { opacity: 0; }
.hamburger-btn.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-menu-overlay {
	display: none; position: fixed; inset: 0;
	background: rgba(0,0,0,.45); z-index: 10000;
	opacity: 0; transition: opacity .3s ease;
}
.mobile-menu-overlay.is-visible { display: block; }
.mobile-menu-overlay.is-open { opacity: 1; }

.mobile-menu-drawer {
	position: fixed; top: 0; left: 0; width: 280px; height: 100%;
	background: #fff; z-index: 10001;
	transform: translateX(-100%); transition: transform .3s ease;
	display: flex; flex-direction: column;
}
.mobile-menu-drawer.is-open { transform: translateX(0); }
.mobile-menu-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 5px 20px; background: #008080;
	color: #fff; font-size: 16px; font-weight: 600;
}
.close-btn { background: none; border: none; color: #fff; font-size: 28px; cursor: pointer; }
.mobile-menu-body { flex: 1; overflow-y: auto; padding: 12px 0; }
.mobile-menu-body ul { list-style: none; margin: 0; padding: 0; }
.mobile-menu-body ul li a {
	display: block; padding: 12px 20px; color: #333;
	text-decoration: none; border-bottom: 1px solid #f0f0f0; transition: .2s;
}
.mobile-menu-body ul li a:hover { background: #eaf6f6; color: #1a8a80; }
.mobile-menu-body ul li.current-menu-item > a { color: #1a8a80; font-weight: 600; }
