/*
Theme Name: LolliLabz
Theme URI: https://lollilabz.com.au/
Author: LolliLabz
Description: Custom theme preserving the approved LolliLabz website design.
Version: 0.10.8
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.3
Text Domain: lollilabz
*/

.custom-logo-link{display:inline-flex;align-items:center}.custom-logo{display:block;width:auto;max-width:190px;max-height:58px}.nav .links,.nav .mobile-links,footer ul{margin:0;padding:0;list-style:none}.nav .links{display:flex;align-items:center;gap:clamp(12px,1.6vw,22px)}.nav .links a{display:block}.nav .menu-item-has-children{position:relative}.nav .menu-item-has-children::after{content:'';position:absolute;top:100%;left:0;width:max(100%,210px);height:10px}.nav .links .sub-menu{position:absolute;top:100%;left:0;z-index:40;display:none;min-width:210px;margin:10px 0 0;padding:10px;border:1px solid rgba(25,25,25,.1);border-radius:18px;background:#fff;box-shadow:0 18px 35px rgba(50,35,75,.14);list-style:none}.nav .links .sub-menu a{padding:9px 11px;border-radius:10px}.nav .links .sub-menu a:hover,.nav .links .sub-menu a:focus{background:#f5efff}.nav .menu-item-has-children:hover>.sub-menu,.nav .menu-item-has-children:focus-within>.sub-menu{display:block}.mobile-nav .mobile-links{display:grid}.mobile-nav .sub-menu{margin:0;padding-left:16px;list-style:none}.navact{margin-left:auto}footer{margin-top:80px;background:#191919;color:#fff;padding:64px 0 30px}footer .foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}footer p,footer a{color:#bdbdbd;font-size:14px}footer .menu{display:block}footer .menu a,footer a{display:block;margin:10px 0}footer .footer-socials{display:flex;gap:14px;margin-top:18px}footer .footer-socials a{margin:0;color:#fff;font-weight:700}footer .copy{border-top:1px solid #333;margin-top:45px;padding-top:22px;color:#999;font-size:13px}@media(max-width:760px){.nav .links{display:none}.custom-logo{max-width:150px;max-height:48px}footer .foot{grid-template-columns:1fr 1fr}}@media(max-width:520px){footer .foot{grid-template-columns:1fr}}
.site-cart-link{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid rgba(25,25,25,.12);border-radius:999px;background:#fff;color:#191919;font:700 14px Inter,system-ui,sans-serif;text-decoration:none;white-space:nowrap}.site-cart-count{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:#191919;color:#fff;font-size:11px;font-weight:800}.icon .site-cart-count{position:absolute;top:-5px;right:-5px}.icon[data-site-cart-link]{position:relative}.navact{position:relative;display:flex;gap:10px;margin-left:auto}.site-search-panel{position:absolute;top:calc(100% + 12px);right:0;width:min(340px,calc(100vw - 32px));padding:16px;border:1px solid rgba(25,25,25,.12);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(40,28,58,.16);z-index:30}.site-search-panel label{display:block;margin-bottom:8px;font:800 13px Inter,system-ui,sans-serif;color:#191919}.site-search-row{display:flex;gap:8px}.site-search-row input{min-width:0;flex:1;min-height:42px;padding:0 13px;border:1px solid rgba(25,25,25,.18);border-radius:999px}.site-search-row button{min-height:42px;padding:0 15px;border:0;border-radius:999px;background:#191919;color:#fff;font-weight:800;cursor:pointer}.site-search-panel p{margin:10px 2px 0;color:#666;font-size:12px;line-height:1.4}

:root {
	--lollilabz-ink: #191919;
	--lollilabz-paper: #fffdfb;
	--lollilabz-pink: #ff597e;
	--lollilabz-purple: #7553bd;
	--lollilabz-yellow: #ffd95a;
	--lollilabz-blue: #91d7ff;
}

.lollilabz-editor-content {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
	padding: 48px 0;
}

.lollilabz-editor-content:empty {
	display: none;
}

.lollilabz-generic-page {
	width: min(1120px, calc(100% - 40px));
	margin: 0 auto;
	padding: 64px 0 90px;
}

.lollilabz-generic-page h1 {
	font-family: Poppins, Inter, sans-serif;
	font-size: clamp(42px, 7vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.045em;
}

/* Foundation shared by the homepage and every native WooCommerce view. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--lollilabz-paper); color: var(--lollilabz-ink); font-family: Inter, system-ui, sans-serif; line-height: 1.55; }
button, input, select, textarea, a { font: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3 { font-family: Poppins, Inter, sans-serif; letter-spacing: -.035em; line-height: 1.08; }
.logo, .nav .links a, .nav .mobile-links a { color: var(--lollilabz-ink); text-decoration: none; }
.nav .links a:hover, .nav .links a:focus-visible, .nav .mobile-links a:hover, .nav .mobile-links a:focus-visible { color: #68439e; }
.mobile-nav a { padding: 10px 12px; border-radius: 11px; font-size: 14px; font-weight: 700; }
.mobile-nav a:hover, .mobile-nav a:focus-visible { background: #f4efff; outline: none; }

/* Shared approved header layout for every native and WooCommerce template. */
.wrap {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
}

.announce {
	padding: 9px;
	text-align: center;
	background: #191919;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.nav {
	position: sticky;
	top: 0;
	z-index: 10;
	border-bottom: 1px solid rgba(25, 25, 25, 0.09);
	background: rgba(255, 253, 251, 0.84);
	backdrop-filter: blur(18px);
}

.navin {
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.logo {
	font: 800 25px Poppins, Inter, sans-serif;
}

.logo i {
	color: #ff597e;
	font-style: normal;
}

.nav .links {
	gap: clamp(20px, 2vw, 30px);
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

.nav .navact {
	margin-left: 0;
}

.icon {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(25, 25, 25, 0.09);
	border-radius: 50%;
	background: #fff;
}

.account-link {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	gap: 7px;
	padding: 0 14px;
	border: 1px solid rgba(25, 25, 25, 0.09);
	border-radius: 999px;
	background: #fff;
	color: var(--lollilabz-ink);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.account-link svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.account-link:hover,
.account-link:focus-visible {
	border-color: rgba(104, 67, 158, 0.42);
	background: #f5efff;
	color: #68439e;
	outline: none;
}

.mobile-account-link {
	display: none;
}

.menu,
.mobile-nav {
	display: none;
}

@media (max-width: 850px) {
	.nav .links {
		display: none;
	}

	.menu {
		display: grid;
	}

	.desktop-account-link {
		display: none;
	}

	.navin {
		height: 65px;
	}

	.mobile-nav.open {
		display: grid;
		gap: 4px;
		padding: 13px 20px 18px;
		border-top: 1px solid rgba(25, 25, 25, 0.09);
		background: rgba(255, 253, 251, 0.98);
		box-shadow: 0 18px 35px rgba(40, 28, 58, 0.12);
	}

	.mobile-nav.open .mobile-account-link {
		display: inline-flex;
		width: max-content;
		margin: 2px 12px 8px;
	}
}

@media (max-width: 560px) {
	.wrap {
		width: min(100% - 24px, 1180px);
	}
}

/* Phase 2E footer columns. */
footer .foot {
	grid-template-columns: minmax(220px, 1.7fr) repeat(4, minmax(120px, 1fr));
	gap: 28px;
}

@media (max-width: 900px) {
	footer .foot {
		grid-template-columns: 1fr 1fr;
	}

	footer .footer-brand {
		grid-column: 1 / -1;
	}
}

/* Keep the shared footer wordmark legible without changing the header logo. */
body footer {
	background: #191919;
	color: #fff;
}

footer .footer-brand > .logo {
	color: #fff;
}

footer .footer-brand > .logo i {
	color: var(--lollilabz-pink);
}
/* Small, below-workflow guide prompts on relevant shopping pages. */
.lollilabz-guide-prompt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 32px 0 8px;
	padding: 22px 24px;
	border: 1px solid #f1c5d7;
	border-radius: 16px;
	background: #fff8fb;
}

.lollilabz-guide-prompt span {
	display: block;
	margin-bottom: 5px;
	color: var(--lollilabz-pink);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.lollilabz-guide-prompt h2,
.lollilabz-guide-prompt p {
	margin: 0;
}

.lollilabz-guide-prompt h2 {
	font-size: 1.2rem;
}

.lollilabz-guide-prompt p {
	margin-top: 4px;
}

.lollilabz-guide-prompt a {
	flex: 0 0 auto;
	border-radius: 999px;
	padding: 11px 16px;
	background: var(--lollilabz-pink);
	color: #fff;
	font-weight: 800;
	text-align: center;
}

.guide-prompt-section {
	padding-bottom: 30px;
}

@media (max-width: 640px) {
	.lollilabz-guide-prompt {
		align-items: stretch;
		flex-direction: column;
		gap: 14px;
		padding: 19px;
	}

	.lollilabz-guide-prompt a {
		width: 100%;
	}
}
