/*
 * CatCondo — responsive rules.
 * Breakpoints match the source design: 980px and 650px.
 */

@media (max-width: 980px) {
	.navlinks {
		display: none;
		position: absolute;
		top: 76px;
		left: 0;
		right: 0;
		background: #fff;
		padding: 20px;
		box-shadow: 0 18px 30px rgba(0, 0, 0, .08);
		flex-direction: column;
		align-items: flex-start;
	}
	.navlinks.open { display: flex }
	.navlinks .menu { flex-direction: column; align-items: flex-start; gap: 14px; width: 100% }
	.navlinks .menu .sub-menu {
		position: static; display: block; box-shadow: none; border: 0;
		padding: 6px 0 0 14px; min-width: 0; background: transparent;
	}
	.navlinks .menu .sub-menu a { padding: 4px 0 }
	.navlinks.has-mobile-menu .nav-menu--desktop { display: none }
	.navlinks.has-mobile-menu .nav-menu--mobile { display: contents }
	.menu-btn { display: block }

	.hero { grid-template-columns: 1fr; background: #f7f1ec }
	.hero.is-media-left .hero-copy { order: 1 }
	.hero.is-media-left .hero-media { order: 2 }
	.hero-copy-inner { padding: 70px 30px }
	.hero-media { min-height: 500px }

	.cards-4, .product-grid, .product-grid.cols-3, .product-grid.cols-4 { grid-template-columns: repeat(2, 1fr) }
	.story-grid, .builder-preview, .contact-grid, .product-single { grid-template-columns: 1fr }
	.story-grid.is-media-right .story-photo { order: 0 }
	.steps { grid-template-columns: repeat(2, 1fr) }
	.footer-grid { grid-template-columns: repeat(2, 1fr) }
	.content-grid { grid-template-columns: 1fr }
	.filter { display: none }
	.filter.is-open { display: block }
	.trust-grid { grid-template-columns: repeat(2, 1fr) }
	.guarantees { grid-template-columns: 1fr }
	.gallery { grid-template-columns: repeat(3, 1fr) }
	.posts-grid { grid-template-columns: repeat(2, 1fr) }
	.catcondo-filter-toggle { display: inline-flex }
}

@media (max-width: 650px) {
	.container { width: min(100% - 28px, var(--catcondo-container)) }
	.section { padding: 64px 0 }
	.hero { min-height: 0 }
	.hero h1 { font-size: 3.5rem }
	.hero-media { min-height: 390px }
	.hero-card { left: 14px; right: 14px; bottom: 14px; max-width: none }

	.cards-4, .product-grid, .product-grid.cols-2, .product-grid.cols-3, .product-grid.cols-4,
	.steps, .review-grid, .posts-grid { grid-template-columns: 1fr }
	.product-grid.mcols-2 { grid-template-columns: repeat(2, 1fr) }

	.review { grid-template-columns: 110px 1fr }
	.trust-grid { grid-template-columns: 1fr 1fr }
	.trust-item:nth-child(2) { border-right: 0 }
	.story-photo img { height: 400px }
	.checks { grid-template-columns: 1fr }
	.builder-panel { padding: 26px }
	.gallery, .gallery.is-page { grid-template-columns: repeat(2, 1fr) }
	.cta-wrap { align-items: flex-start; flex-direction: column }
	.footer-grid { grid-template-columns: 1fr 1fr }
	.footer-grid > div:first-child { grid-column: 1/-1 }
	.contact-form { grid-template-columns: 1fr }
	.contact-form .full { grid-column: auto }
	.page-hero { padding: 72px 0 54px }
	.product-specs { grid-template-columns: 1fr }
}

/* Tablet column overrides driven by widget settings. */
@media (max-width: 980px) and (min-width: 651px) {
	.product-grid.tcols-1 { grid-template-columns: 1fr }
	.product-grid.tcols-2 { grid-template-columns: repeat(2, 1fr) }
	.product-grid.tcols-3 { grid-template-columns: repeat(3, 1fr) }
}

.catcondo-filter-toggle { display: none; margin-bottom: 18px }

@media (max-width: 650px) {
	.catcondo-reviews-layout-masonry { columns: 1 }
	.catcondo-reviews-layout-slide-left .review,
	.catcondo-reviews-layout-slide-right .review { flex-basis: 100% }
}
