/* ==========================================================================
   Responsive breakpoints (desktop-first)
   ========================================================================== */

/* --- ≤1200px: tighten the container --- */
@media (max-width: 1200px) {
	.lms-container {
		padding: 0 20px;
	}
}

/* --- ≤1180px: compact nav so the single-row header fits --- */
@media (max-width: 1180px) and (min-width: 1025px) {
	.lms-header__inner {
		gap: 12px;
	}

	.lms-menu a {
		padding: 10px 12px;
		font-size: 13px;
	}

	.lms-account-btn__text {
		display: none;
	}

	.lms-account-btn {
		border: none;
		padding: 9px;
	}
}

/* --- ≤1024px: hamburger menu, single-row header trims actions --- */
@media (max-width: 1024px) {
	.lms-nav {
		display: none;
	}

	.lms-hamburger {
		display: inline-flex;
	}

	.lms-account-btn__text {
		display: none;
	}

	.lms-account-btn {
		border: none;
		padding: 9px;
	}

	.lms-header__inner {
		min-height: 72px;
	}

	.lms-hero {
		padding: 64px 0;
	}

	ul.products {
		grid-template-columns: repeat(var(--lms-cols, 3), 1fr);
		gap: 16px;
	}

	.lms-features {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* --- ≤900px: hero stacks, card mockup sits below text --- */
@media (max-width: 900px) {
	.lms-hero__inner {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.lms-hero__content {
		text-align: center;
	}

	.lms-hero__actions,
	.lms-hero__stats {
		justify-content: center;
	}

	.lms-hero p {
		margin-left: auto;
		margin-right: auto;
	}

	.lms-hero__visual {
		min-height: 0;
		padding: 24px 0;
	}

	.lms-hero-float--award {
		left: 0;
	}

	.lms-hero-float--learn {
		right: 0;
	}
}

/* --- ≤768px: grid drops to 2, toolbar stacks, footer reflows --- */
@media (max-width: 768px) {
	body {
		padding-bottom: 62px; /* room for the fixed mobile bar */
	}

	.lms-mobile-bar {
		display: grid;
	}

	.lms-popover__panel {
		top: 64px;
	}

	.lms-main {
		padding: 28px 0 56px;
	}

	ul.products {
		grid-template-columns: repeat(var(--lms-cols, 2), 1fr);
	}

	.lms-shop-toolbar {
		justify-content: center;
	}

	.lms-shop-toolbar__group {
		justify-content: center;
	}

	.lms-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px;
	}

	.lms-promos {
		grid-template-columns: 1fr;
	}

	.lms-features {
		grid-template-columns: repeat(2, 1fr);
	}

	.lms-entries {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.lms-header__inner {
		min-height: 64px;
		gap: 12px;
	}

	.lms-section {
		padding: 48px 0;
	}

	.woocommerce div.product {
		display: block;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
		margin-bottom: 24px;
	}
}

/* --- ≤576px: phone layout --- */
@media (max-width: 576px) {
	.lms-top-bar__email {
		display: none;
	}

	.lms-header__inner {
		gap: 8px;
	}

	.lms-brand {
		font-size: 19px;
	}

	.lms-brand img {
		max-height: 38px;
	}

	.lms-icon-btn {
		width: 40px;
		height: 40px;
	}

	.lms-cart-btn {
		padding: 6px 10px 6px 8px;
	}

	.lms-cart-meta {
		display: none;
	}

	.lms-footer__grid {
		grid-template-columns: 1fr;
	}

	.lms-features {
		grid-template-columns: 1fr;
	}

	.lms-entries {
		grid-template-columns: 1fr;
	}

	.lms-modal__content {
		padding: 24px;
	}

	.lms-drawer__panel,
	.lms-mobile-menu__panel {
		width: 88vw;
	}

	.lms-hero {
		padding: 52px 0;
	}

	.lms-hero h1 {
		font-size: clamp(30px, 9vw, 38px);
	}

	.lms-hero p {
		font-size: 16px;
	}

	.lms-hero__stats {
		gap: 22px;
	}

	.lms-hero__stats strong {
		font-size: 20px;
	}

	.lms-hero-card__body {
		padding: 18px;
	}

	.lms-promo {
		min-height: 160px;
		padding: 24px;
	}

	.lms-sale-badge {
		width: 44px;
		height: 44px;
		font-size: 12px;
	}

	.lms-scroll-top {
		bottom: 76px; /* clear the mobile bar */
	}
}

/* --- ≤400px: single-column product grid on small phones --- */
@media (max-width: 400px) {
	ul.products {
		grid-template-columns: 1fr;
	}
}
