/**
 * Cherry Ngọc — Responsive
 * Breakpoints: 575 / 767 / 1023 / 1279
 */

@media (max-width: 1279px) {
	:root {
		--cn-section-y: 90px;
	}

	.cn-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.cn-footer__brand {
		grid-column: 1 / -1;
	}

	.cn-hero {
		min-height: 620px;
	}
}

@media (max-width: 1023px) {
	:root {
		--cn-gutter: 24px;
		--cn-header-h: 68px;
	}

	.cn-nav {
		display: none;
	}

	.cn-header__cta {
		display: none;
	}

	.cn-header__toggle {
		display: inline-flex;
	}

	.cn-mobile-nav {
		display: block;
	}

	.cn-post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cn-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cn-hero__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding-block: 3rem 2.5rem;
	}

	.cn-hero__visual {
		order: -1;
	}

	.cn-hero__product {
		width: min(100%, 380px);
		aspect-ratio: 1 / 1;
		animation: none;
	}

	.cn-about {
		min-height: 0;
	}

	.cn-about__grid {
		grid-template-columns: 1fr;
	}

	.cn-about__media {
		position: static;
		max-width: 420px;
	}

	.cn-about__img {
		aspect-ratio: 4 / 5;
	}

	.cn-product-strip__hero-inner {
		grid-template-columns: 1fr;
		min-height: 0;
		padding-bottom: 0;
	}

	.cn-product-strip__hero {
		min-height: 0;
	}

	.cn-product-strip__hero-copy {
		max-width: none;
		padding-top: 1.75rem;
		padding-bottom: 0.5rem;
	}

	.cn-product-strip__hero-media {
		justify-self: center;
		width: min(100%, 420px);
		aspect-ratio: 16 / 11;
	}

	.cn-product-strip__track {
		--cn-strip-visible: 2;
		--cn-strip-gap: 1.25rem;
	}

	.cn-product-strip__nav {
		display: none;
	}

	.cn-cat-blocks__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cn-cat-blocks__grid > li:last-child {
		grid-column: 1 / -1;
	}

	.cn-cat-block {
		height: 340px;
	}

	.cn-promo-slider__track {
		padding-inline: max(0.75rem, calc((100% - min(640px, 78vw)) / 2));
		gap: 0.85rem;
	}

	.cn-promo-slider__slide {
		flex-basis: min(640px, 78vw);
	}

	.cn-promo-slider__nav--prev {
		left: 0.5rem;
	}

	.cn-promo-slider__nav--next {
		right: 0.5rem;
	}

	.cn-stores__grid {
		grid-template-columns: 1fr;
	}

	.cn-certs__inner {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.cn-certs__list {
		justify-content: flex-start;
	}

	.cn-reviews__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cn-reviews__grid > li:last-child:nth-child(3) {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767px) {
	:root {
		--cn-gutter: 20px;
		--cn-section-y: 64px;
	}

	.cn-post-grid {
		grid-template-columns: 1fr;
	}

	.cn-footer__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.cn-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.cn-hero {
		min-height: 0;
	}

	.cn-hero__inner {
		min-height: 680px;
	}

	.cn-hero__heading {
		font-size: clamp(1.85rem, 7vw, 2.35rem);
	}

	.cn-about__cards {
		grid-template-columns: 1fr;
	}

	.cn-about-card__media {
		aspect-ratio: 16 / 10;
	}

	.cn-marquee {
		margin-block: -0.75rem;
		padding-block: 1.5rem;
	}

	.cn-marquee__item {
		font-size: clamp(1.35rem, 7vw, 1.85rem);
		padding-inline: 1.25rem;
		gap: 0.75rem;
	}

	.cn-product-strip {
		padding-bottom: 3.25rem;
	}

	.cn-product-strip__hero-title {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	.cn-product-strip__track {
		--cn-strip-visible: 1.35;
		--cn-strip-gap: 0.85rem;
	}

	.cn-product-strip__head {
		align-items: flex-end;
	}

	.cn-cat-blocks__grid {
		grid-template-columns: 1fr;
	}

	.cn-cat-blocks__grid > li:last-child {
		grid-column: auto;
	}

	.cn-cat-block {
		height: 320px;
	}

	.cn-promo-slide__link {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.cn-promo-slide__media {
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.cn-promo-slider__slide {
		flex-basis: min(88vw, 420px);
	}

	.cn-promo-slider__track {
		padding-inline: max(0.75rem, calc((100% - min(88vw, 420px)) / 2));
	}

	.cn-promo-slider__nav {
		width: 38px;
		height: 38px;
	}

	.cn-store-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.cn-store-item__actions {
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0.75rem;
	}

	.cn-stores__stats {
		grid-template-columns: 1fr;
	}

	.cn-certs__item {
		width: 120px;
	}

	.cn-section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.cn-section-head--center {
		align-items: center;
	}

	.cn-reviews__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.cn-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.cn-hero__actions .cn-btn {
		width: 100%;
	}

	.cn-hero__look-ring {
		width: 52px;
		height: 52px;
	}

	.cn-hero__looks {
		bottom: 0.85rem;
	}

	.cn-story__slide {
		--cn-story-w: min(340px, calc(100vw - 5.5rem));
		--cn-story-h: min(640px, calc(100vh - 2.5rem));
	}

	.cn-story__slide.is-prev {
		transform: translate(calc(-50% - 118%), -50%) scale(0.76);
	}

	.cn-story__slide.is-next {
		transform: translate(calc(-50% + 118%), -50%) scale(0.76);
	}

	.cn-story__close {
		top: 0.65rem;
		right: 0.65rem;
	}

	.cn-container {
		padding-inline: 16px;
	}
}

/* Prevent sticky about media from covering content oddly on short tablets */
@media (max-width: 1023px) {
	.cn-about__media {
		position: static;
	}
}
