/*--------------------------------------------------------------
NovaCommerce – responsive rules
Desktop-first: 1200 → 1024 → 900 → 768 → 560 → 420
--------------------------------------------------------------*/

@media (max-width: 1200px) {
	.nova-hero__title {
		font-size: 44px;
	}

	.nova-home-grid {
		grid-template-columns: 270px minmax(0, 1fr) 270px;
		gap: 18px;
	}

	.nova-trust {
		grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	}
}

@media (max-width: 1024px) {
	.nova-header__search {
		max-width: 400px;
	}

	.nova-nav__list {
		gap: 18px;
	}

	/* Deals + promo become side columns of a 2-col band, best sellers full width */
	.nova-home-grid {
		grid-template-columns: 1fr 1fr;
	}

	.nova-best {
		grid-column: 1 / -1;
		order: -1;
	}

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

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

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

@media (max-width: 900px) {
	/* Header converts to mobile layout */
	.nova-header__burger {
		display: flex;
	}

	.nova-navbar {
		display: none;
	}

	.nova-header__inner {
		flex-wrap: wrap;
		gap: 14px;
		padding-top: 12px;
		padding-bottom: 12px;
		min-height: 0;
	}

	.nova-header__brand {
		order: 1;
	}

	.nova-header__burger {
		order: 0;
	}

	.nova-header__actions {
		order: 2;
		gap: 18px;
	}

	.nova-header__search {
		order: 3;
		flex-basis: 100%;
		max-width: none;
	}

	.nova-header__action-label {
		display: none;
	}

	.nova-search__cat {
		display: none;
	}

	/* Hero stacks vertically */
	.nova-hero__inner {
		grid-template-columns: 1fr;
		gap: 30px;
		text-align: center;
		min-height: 0;
		padding-top: 44px;
		padding-bottom: 86px;
	}

	.nova-hero__text {
		margin-left: auto;
		margin-right: auto;
	}

	.nova-hero__actions {
		justify-content: center;
	}

	.nova-hero__media img {
		max-height: 280px;
	}

	.nova-hero__badge {
		width: 82px;
		height: 82px;
		font-size: 11.5px;
		right: 2%;
	}

	.nova-hero__dots {
		bottom: 30px;
	}

	.nova-topbar__right .nova-topbar__shipping,
	.nova-topbar__help {
		display: none;
	}
}

@media (max-width: 768px) {
	.nova-section {
		padding-top: 36px;
	}

	.nova-hero__title {
		font-size: 34px;
	}

	.nova-trust {
		grid-template-columns: repeat(2, 1fr);
		margin-top: -36px;
		padding: 16px 12px;
	}

	.nova-trust__item:last-child {
		grid-column: 1 / -1;
		justify-content: center;
	}

	.nova-catrow__item {
		width: 92px;
	}

	.nova-catrow__circle {
		width: 80px;
		height: 80px;
	}

	.nova-home-grid {
		grid-template-columns: 1fr;
	}

	.nova-product-grid--home {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	/* Card actions always visible on touch */
	.nova-card__actions {
		opacity: 1;
		transform: none;
	}

	.nova-card__cta {
		position: static;
		transform: none;
		padding: 0 12px 12px;
	}

	.nova-card__media {
		padding-bottom: 0;
	}

	.nova-post-grid {
		grid-template-columns: 1fr;
	}

	/* Mobile bottom nav appears */
	.nova-mobile-nav {
		display: flex;
	}

	body {
		padding-bottom: 64px;
	}

	.nova-toast-region {
		bottom: 76px;
		right: 14px;
		left: 14px;
	}

	.nova-toast {
		justify-content: center;
	}

	.nova-footer {
		margin-top: 48px;
		padding-top: 44px;
	}

	.nova-footer__bottom {
		flex-direction: column;
		text-align: center;
		gap: 10px;
	}

	.nova-qv {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.nova-modal__dialog {
		padding: 22px;
	}

	.nova-entry__title {
		font-size: 27px;
	}

	.nova-page-head__title {
		font-size: 25px;
	}
}

@media (max-width: 560px) {
	.container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nova-topbar__inner {
		justify-content: center;
	}

	.nova-topbar__right {
		display: none;
	}

	.nova-topbar__announce span {
		display: none;
	}

	.nova-features__grid {
		grid-template-columns: 1fr;
	}

	.nova-footer__grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.nova-hero__title {
		font-size: 30px;
	}

	.nova-btn {
		padding: 0 18px;
	}

	.nova-countdown__cell {
		min-width: 56px;
	}
}

@media (max-width: 420px) {
	.nova-product-grid--home {
		grid-template-columns: 1fr;
	}

	.nova-trust {
		grid-template-columns: 1fr;
	}

	.nova-trust__item {
		justify-content: flex-start;
	}

	.nova-trust__item:last-child {
		justify-content: flex-start;
	}

	.nova-logo__text {
		font-size: 20px;
	}

	.nova-logo__icon {
		width: 38px;
		height: 38px;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
